Red de conocimiento informático - Conocimiento informático - ¿Cómo obtener las direcciones MAC de todas las computadoras en la LAN?

¿Cómo obtener las direcciones MAC de todas las computadoras en la LAN?

1. Explicación de los comandos de DOS involucrados

1

Set ip=192.168.1

Set es un comando para configurar variables de entorno.

Este comando establece la IP como un parámetro con un valor de "192.168.1", donde "192.168.1" es un segmento de LAN. Modifíquelo de acuerdo con el valor real de la LAN.

2

for /l j in (1, 1, 10) do echo i

El comando for es un comando muy poderoso entre los comandos doS. El parámetro /L se usa aquí. Su función es recorrer un conjunto de números incrementales (inicio, paso, final), es decir, el valor inicial de la variable J es 1 y el paso1 se incrementa en cada ciclo hasta que sea mayor que final10. y el ciclo se detiene. Cada ciclo ejecuta el comando después de DO.

Esta función de comando agrega 1 a la variable cada vez y la muestra en pantalla a través del comando echo.

Ping 192.168.1.1-n 1-w 1000

El comando Ping se utiliza principalmente para probar la conectividad de la IP, donde -n significa cada ping El número de paquetes de datos enviados durante el proceso, -w indica el umbral de tiempo de espera de recepción después de enviar cada paquete de datos.

Este comando significa hacer ping a la computadora en 192.168.1 y enviar 1 paquete. Si el tiempo de recepción excede 1 segundo, se considera tiempo extra.

Si se puede hacer ping a la dirección IP, el programa puede obtener la dirección mac del dispositivo IP del paquete de respuesta y almacenarla en la tabla de direcciones arp de la memoria.

Cuatro

ARP-a 192.168.1.18

El comando arp se utiliza principalmente para mostrar o modificar la tabla de direcciones arp. -a indica que se muestra una o todas las tablas de direcciones arp.

Este comando le indica al mac que muestre el dispositivo con IP 192.168.1.18.

Cinco

echo ssss|findstr dinámico

El comando de cadena de búsqueda Findstr se usa generalmente para buscar líneas que contengan un determinado carácter de un archivo, aquí use "| ”(carácter de barra vertical), es decir, la salida del comando anterior se utiliza como entrada del siguiente comando.

Este comando significa encontrar la línea que contiene la cadena "dinámica" en la salida del comando "echo ssss".

Fin

2. Método específico

Método 1:

Establecer IP = 192.168.1 ampfor /l j in (1 ,1,254) hacer (ping ip). j-n 1-w 1000); ampARP-a gt; 1.txt

Este método es adecuado para obtener direcciones mac con un rango de direcciones IP pequeño, porque si el rango es demasiado grande, el tiempo de ejecución del El comando ping será muy largo y hará que la mac obtenida en la tabla de direcciones arp caduque con el tiempo, lo que hará imposible obtener la tabla de direcciones mac completa en la LAN. La siguiente imagen muestra el contenido de la tabla arp mientras se ejecuta el comando principal. Al comparar las tablas de antes y después, es fácil ver que algunas direcciones MAC se han perdido y todavía hay direcciones MAC irreales con todos ceros.

Método 2:

Establecer

ip=192.168.1. ampfor /l j en (1, 1, 254) hacer (ping ip). j -n 1

-w 1000 |arp -a ip. j | findstrdynamic gt gt2.txt)

En comparación con el método 1, este método debería ser más completo. Después de hacer ping, la dirección Mac real obtenida se guarda inmediatamente.