Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo configurar la tarjeta de red en modo promiscuo

Cómo configurar la tarjeta de red en modo promiscuo

A veces, para rastrear datos en la red, es necesario configurar la tarjeta de red en modo promiscuo. Para rastrear datos en la red, debe configurar la tarjeta de red en modo promiscuo. Hay muchas formas de configurar el modo promiscuo:

Un método es mediante el comando de shell:

ifconfig eth1 promisc establece el modo promiscuo

ifconfig eth1 -promisc cancel promiscuous mode

Los resultados de la ejecución son los siguientes

Los resultados de la ejecución son los siguientes

[root@localhost tftpboot]# ifconfig

eth6 Encapsulación de enlace: Ethernet HWaddr 08 :00:27:70:1D:79

inet6 addr: fe80::a00.27ff:fe70:1d79/64 Alcance: Enlace

ARRIBA TRANSMISIÓN EJECUTANDO MULTICAST MTU: 1500 Métrica: 1

Paquete RX: 100124 errores: 0 descartados: 0 desbordamientos: 0 trama: 0

Paquete TX: 8795 errores: 0 descartados: 0 desbordamientos: 0 portadora: 0

colisiones: 0 txqueuelen: 1000

Bytes RX: 12986638 (12, 3 MiB).

3 MiB) Bytes TX: 6452270 (6,1 MiB)

lo Encapsulación del enlace: bucle invertido local

dirección inet: 127.0.0.1 Máscara: 255.0.0.0

inet6 addr: ::1/128 Alcance: Host

BUCLE ARRIBA EJECUTANDO MTU: 16436 Métrica: 1

Paquete RX: 1303 errores: 0 descartados: 0 desbordamientos: 0 trama: 0

Paquetes TX: 1303 errores: 0 descartados: 0 desbordamientos: 0 portadora: 0

colisiones: 0 txqueuelen: 0

Bytes RX: 303973 (296. 8 KiB) Bytes TX: 303973 (296,8 KiB) Bytes RX: 296,8 KiB) Bytes TX: 303973 (296,8 KiB)

[root@localhost tftpboot]# ifconfig eth6 promisc

[root@localhost tftpboot]# ifconfig

eth6 Encapsulación de enlace: Ethernet HWaddr 08:00:27:70:1D:79

inet6 addr :fe80: :a00:27ff:fe70 :1d79/64 Alcance: Enlace

TRANSMISIÓN ARRIBA EJECUTANDO PROMISC MULTICAST MTU: 1500 Métrica: 1

Paquete RX: 100154 errores: 0 descartados :0 desbordamientos: 0 fotograma: 0

Paquete TX: 8795 errores: 0 caídos: 0 desbordamientos: 0 portadora: 0

colisiones: 0 txqueuelen: 1000

Bytes RX: 13007885 (12. 4 MiB ) Bytes TX: 13007885 (12, 4 MiB) Bytes RX: 13007885 (12, 4 MiB) Bytes TX: 13007885 (12, 4 MiB) 4 MiB) Bytes TX: 6452270 (6,1 MiB)

lo Encapsulación de enlace: Bucle invertido local

dirección inet: 127.0.0.1 Máscara: 255.0.0.0

dirección inet6: :: 1/128 Alcance: Host

ARRIBA LOOPBACK MTU EN EJECUCIÓN: 16436 Métrica: 1

Paquete RX: 1303 errores: 0 descartados: 0 desbordamientos: 0 trama: 0

Paquetes TX: 1303 errores: 0 descartados: 0 desbordamientos: 0 portadora: 0

colisiones: 0 txqueuelen: 0

Bytes RX: 303973 (296, 8 KiB) Bytes TX: 296,8 KiB) TX

bytes: 303973 (296,8 KiB)

[root@localhost tftpboot]#

II.hgt

#include lt; >

#include lt;linux/if_ether.hgt;

#include lt;net/if.hgt;

#include lt;sys/ioctl.hgt;

p>

#include lt;string.h gt;

#define ETH_NAME "eth1"

int do_promisc(void) {

int f, s;

estructura ifreq ifr;

if ( (f=socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL)) lt; 0){

return -1;

}

strcpy(ifr.ifr_name, ETH_NAME);

if ((s = ioctl(f, SIOCGIFFLAGS, amp) .ifr)) lt; 0) {

cerrar(f

retorno-1; .ifr_flags amp; IFF_RUNNING){

printf("enlace eth arriba\n");

} else{

printf("enlace eth abajo\n ");

}

ifr.ifr_flags |= IFF_PROMISC;

if ((s = ioctl(f, SIOCSIFFLAGS, amp; ifr)) lt; 0){

return -1;

}

printf("Configuración de interfaz:::s::to promiscn\n", ifr.ifr_name) ;

return 0;

}

int check_ nic(void)

{

struct ifreq ifr ;

int skfd = socket(AF_INET, SOCK_DGRAM, 0);

strcpy(ifr.ifr_name, ETH_NAME);

if ( ioctl (skfd, SIOCGIFFLAGS y ifr) lt; 0)

{

close(skfd

return -1; > }

if(ifr.ifr_flags amp; IFF_RUNNING) {

printf("enlace arriba\n");

close(skfd); p>

return 0; // La tarjeta de red ha sido insertada

}else {

printf("link down\n"); cerrar(skfd); }

retorno -1;

GRAMO.

return -1

}

}

int main(void) {

do_promisc() ;

devuelve 0;

}

}