¿Cómo resolver de forma limitada la suplantación de la puerta de enlace interna de la LAN y los ataques ARP?
En pocas palabras, solo necesita vincular la Mac de cada PC a continuación al enrutador principal de su LAN y luego vincular la Mac enrutada a cada PC para defenderse contra arp. En detalle: Desde 2006. Todos los usuarios de LAN ¡Se puede decir que hablar de "ARP" es una pena!
Hay innumerables publicaciones circulando en Internet sobre cómo resolver la suplantación de ARP. En esta publicación, discutiré con usted el legendario "doble enlace" y el conocimiento relacionado con ARP.
1. Descripción general del protocolo ARP: (La fuente de este párrafo es de Internet)
Los paquetes de datos P a menudo se envían a través de Ethernet. Los dispositivos Ethernet no reconocen direcciones IP de 32 bits: transmiten paquetes Ethernet como direcciones Ethernet de 48 bits. Por lo tanto, el controlador IP debe traducir la dirección IP de destino a una dirección de destino Ethernet. Existe algún tipo de mapeo estático o algorítmico entre estas dos direcciones, que a menudo requiere mirar una tabla. El Protocolo de resolución de direcciones (ARP) es el protocolo utilizado para determinar estas imágenes.
Cuando ARP funciona, envía un paquete de difusión Ethernet que contiene la dirección IP deseada. El host de destino, u otro sistema en nombre del host, responde con un paquete que contiene un par de direcciones IP y Ethernet. El remitente almacena en caché este par de direcciones para ahorrar tráfico ARP innecesario.
También existe cierto riesgo si un nodo que no es de confianza tiene acceso de escritura a la red local. Una máquina de este tipo puede emitir paquetes ARP falsos y redirigir todo el tráfico hacia sí misma, y luego puede hacerse pasar por ciertas máquinas o realizar modificaciones simples en el flujo de datos. El mecanismo ARP suele funcionar automáticamente. En redes particularmente seguras, el mapeo ARP se puede realizar mediante firmware, con protocolos de supresión automática para evitar interferencias.
2. El principio de funcionamiento de ARP:
Los dispositivos Ethernet, como las tarjetas de red, tienen sus propias direcciones MAC únicas a nivel mundial. Utilizan direcciones MAC para transmitir paquetes de datos Ethernet, pero, sin embargo, no puede reconocer la dirección IP en nuestro paquete IP, por lo que cuando realizamos comunicación IP en Ethernet, necesitamos un protocolo para establecer la relación correspondiente entre la dirección IP y la dirección MAC, de modo que el paquete de datos IP pueda enviarse a un determinado lugar. . Este es ARP (Protocolo de resolución de direcciones).
En este punto, podemos ingresar
arp –a
en la ventana de línea de comando para ver el efecto, similar a esta entrada
p>
210.118.45.100 00-0b-5f-e6-c5-d7 dinámica
Es la relación correspondiente entre la dirección IP y la dirección MAC almacenada en nuestra computadora Dinámica significa que es. Las entradas almacenadas temporalmente en ARP en el caché expirarán y se eliminarán después de un período de tiempo (2 minutos para sistemas XP/2003).
De esta manera, por ejemplo, cuando nuestra computadora quiera comunicarse con una máquina como 210.118.45.1, primero verificará el caché de arp para saber si hay una entrada de arp correspondiente. Enviará un paquete de solicitud ARP transmitido a esta red Ethernet para solicitar la dirección MAC correspondiente de 210.118.45.1. Por supuesto, todas las computadoras de la red recibirán este paquete de solicitud, pero no responderán si encuentran que 210.118.45.1. no son ellos mismos, y 210.118 .45.1 responderá a nuestra computadora con un paquete de respuesta ARP, diciéndonos que su dirección MAC es xx-xx-xx-xx-xx-xx, por lo que la caché ARP de nuestra computadora se actualizará en consecuencia, con esto elemento adicional:
210.118.45.1 xx-xx-xx-xx-xx-xx dinámico
¿Por qué existe tal caché ARP? Imagínese si no hubiera caché, cada vez que usamos. enviar un paquete IP Si queremos enviar una dirección de consulta de difusión, ¿no sería un desperdicio de ancho de banda y recursos? Además, nuestro equipo de red no puede identificar la autenticidad de los paquetes ARP. Si enviamos paquetes de datos según el formato ARP, siempre que la información sea válida, la computadora responderá en consecuencia según el contenido del paquete.
3. Principio del ataque ARP
En la LAN, la dirección IP se convierte en la dirección física de segunda capa (es decir, dirección MAC) a través del protocolo ARP. El protocolo ARP es de gran importancia para la seguridad de la red. La suplantación de ARP se logra falsificando direcciones IP y direcciones MAC, lo que puede generar una gran cantidad de tráfico ARP en la red y obstruir la red.
El protocolo ARP es la abreviatura de "Protocolo de resolución de direcciones". En una LAN, lo que realmente se transmite en la red es una "trama" y la trama contiene la dirección MAC del host de destino. En Ethernet, si un host quiere comunicarse directamente con otro host, debe conocer la dirección MAC del host de destino. Pero, ¿cómo se obtiene esta dirección MAC de destino? Se obtiene mediante el Protocolo de resolución de direcciones. La llamada "resolución de direcciones" es el proceso en el que el host convierte la dirección IP de destino en la dirección MAC de destino antes de enviar la trama. La función básica del protocolo ARP es consultar la dirección MAC del dispositivo de destino a través de la dirección IP del dispositivo de destino para garantizar una comunicación fluida.
Cada computadora con el protocolo TCP/IP instalado tiene una tabla de caché ARP. La dirección IP y la dirección MAC en la tabla están en correspondencia uno a uno, como se muestra a continuación.
Dirección IP del host Dirección MAC
A 192.168.16.1 aa-aa-aa-aa-aa-aa
B 192.168.16.2 bb-bb-bb -bb-bb-bb
C 192.168.16.3 cc-cc-cc-cc-cc-cc
D 192.168.16.4 dd-dd-dd-dd-dd-dd
Tomamos como ejemplo el host A (192.168.16.1) que envía datos al host B (192.168.16.2).
Al enviar datos, el host A buscará la dirección IP de destino en su propia tabla de caché ARP.
Si se encuentra, también conoce la dirección MAC de destino y puede simplemente escribir la dirección MAC de destino en la trama y enviarla. Si la dirección IP correspondiente no se encuentra en la tabla de caché ARP, el host A enviará una transmisión; la red, la dirección MAC de destino es "FF.FF.FF.FF.FF.FF", lo que significa que se envía dicha consulta a todos los hosts en el mismo segmento de red: "¿Cuál es la dirección MAC de 192.168.16.2? " Otros hosts en la red no No responde a la consulta ARP. Solo cuando el host B recibe esta trama, responde al host A así: "La dirección MAC de 192.168.16.2 es bb-bb-bb-bb-bb- cama y desayuno". De esta manera, el host A conoce la dirección MAC del host B y puede enviar información al host B. Al mismo tiempo, también actualiza su propia tabla de caché ARP. La próxima vez que envíe información al host B, podrá buscarla directamente en la tabla de caché ARP. La tabla de caché ARP adopta un mecanismo de antigüedad. Si una fila de la tabla no se utiliza dentro de un período de tiempo, se eliminará. Esto puede reducir en gran medida la longitud de la tabla de caché ARP y acelerar la consulta.
Como se puede ver en lo anterior, la base del protocolo ARP es confiar en todos en la LAN, por lo que es fácil lograr la suplantación de ARP en Ethernet. Falsifica el objetivo A. Cuando A hace ping al host C, envía el mensaje a la dirección DD-DD-DD-DD-DD-DD. Si la dirección MAC de C se falsifica como DD-DD-DD-DD-DD-DD, entonces los paquetes de datos enviados por A a C se enviarán a D. ¿No es esto solo porque D puede recibir el paquete de datos enviado por A? El rastreo es exitoso.
A no estaba consciente de este cambio en absoluto, pero lo que sucedió después lo hizo sospechar. Porque A y C no se pueden conectar. D recibió el paquete de datos enviado por A a C pero no lo reenvió a C.
Haga "man in the middle" y realice la redirección ARP. Active la función de reenvío de IP de D y los paquetes de datos enviados por A se reenvían a C, como un enrutador. Sin embargo, si D envía una redirección ICMP, rompe todo el plan.
D modifica y reenvía directamente todo el paquete, captura los paquetes de datos enviados por A a C, los modifica todos y luego los reenvía a C. Los paquetes de datos recibidos por C se consideran completamente enviados desde A. . Sin embargo, el paquete de datos enviado por C se pasa directamente a A. Si se realiza nuevamente la suplantación ARP de C. Ahora D se ha convertido por completo en el puente intermedio entre A y C y puede comprender bien la comunicación entre A y C.
Algunos fenómenos después del impacto de ARP:
1: Puede hacer PING a otros clientes en la red, pero no puede hacer PING a la ruta y no puede conectarse a Internet (conectado a INTERNET).
2: Puede hacer PING a otros clientes en la red De manera similar, PING no puede pasar el enrutador, pero puede acceder a Internet (puede conectarse a INTERNET).
3: Cuando la máquina envenenada envía una solicitud a la ruta de la puerta de enlace, el caché ARP de la ruta de la puerta de enlace aún no ha alcanzado el tiempo de actualización. La tabla de caché ARP en la ruta de la puerta de enlace almacena la MAC del cliente. antes de que sea envenenado. Esta dirección MAC no coincide con la MAC solicitada actualmente por el cliente (modificada por el virus) y la puerta de enlace rechaza la solicitud de conexión del cliente. Es decir, se produce una desconexión de la puerta de enlace.
4: Cuando la máquina fuente envenenada envía una transmisión MAC falsa a la LAN, el enrutador de la puerta de enlace también recibe este mensaje, corresponde estas direcciones MAC falsas a su IP y establece una nueva caché ARP. Hace que el cliente se desconecte del servidor.
4. Ideas de soluciones ARP
Los amigos que leyeron atentamente mi publicación sobre "Problemas de LAN" creen que bloquearon sitios web de virus, aplicaron parches del sistema e instalaron software inmune. , lo único que queda es el problema del "doble vínculo". Hablemos de la doble vinculación en detalle a continuación.
Si alguno de ustedes está utilizando un enrutador de alta gama como Huawei y no está familiarizado con el funcionamiento del enrutador, se recomienda que deje de ingresar la operación de línea de comando pura de enrutamiento dual. Los enrutadores Huawei requieren un sólido conocimiento profesional. Solo hablaré sobre algunos métodos de operación simples para la vinculación mediante procesamiento por lotes.
El primer procesamiento por lotes:
¡Este procesamiento por lotes es defectuoso y, a veces, no puede lograr un verdadero doble enlace!
Cita: @echo off
arp -d & arp -s La IP de tu puerta de enlace La MAC de tu puerta de enlace
::Lee la dirección Mac local
si existe ipconfig.txt del ipconfig.txt
ipconfig /all >ipconfig.txt
si existe phyaddr.txt del phyaddr.txt
buscar "Dirección física" ipconfig.txt >phyaddr.txt
para /f "skip=2 tokens=12" %%M en (phyaddr.txt) configure Mac=%%M p>
::Leer la dirección IP local
si existe IPAddr.txt del IPaddr.txt
buscar "Dirección IP" ipconfig.txt >IPAddr.txt
p>
para /f "skip=2 tokens=15" %%I en (IPAddr.txt) configure IP=%%I
::Vincular la dirección IP local y la dirección MAC
arp -s %IP% %Mac%
::Leer dirección de puerta de enlace
si existe GateIP.txt del GateIP.txt
busque "Puerta de enlace predeterminada" ipconfig.txt >GateIP.txt
para /f "skip=2 tokens=13" %%G en (GateIP.txt) configure GateIP=%%G p >
::Leer dirección Mac de puerta de enlace
si existe GateMac.txt del GateMac.txt
arp -a %GateIP% >GateMac.txt
para /f "skip=3 tokens=2" %%H en (GateMac.txt), configure GateMac=%%H
::Vincular puerta de enlace Mac e IP
arp - s %GateIP% %GateMac%
salir
Este proceso por lotes necesita consultar la tabla de caché ARP local para ver si existe la IP y la MAC de la puerta de enlace. se puede vincular con éxito
pero si no, ¡no se vinculará! ! ! Sin embargo, se puede mejorar para lograr el propósito del doble enlace, por ejemplo,
Agregar arp -s gateway IP gateway MAC line. . .
2. Esto no puede lograr un verdadero doble enlace, solo puede vincular la IP y MAC locales
(Gracias a China DOS Alliance lxmxn por proporcionarlo)
Cita: @echo off
arp -d & arp -s La IP de tu puerta de enlace La MAC de tu puerta de enlace
for /f "delims=: tokens=2" %%a in ( 'ipconfig /all^|find "Dirección física"') establezca local_mac=%%a
para /f "delims=: tokens=2" %%a en ('ipconfig /all^|find "IP Dirección"') configure local_ip=%%a
for /f "delims=: tokens=2" %%a in ('ipconfig /all^|find "Default Gateway"') configure gate_ip =%%a
para /f %%a en ('getmac /nh /s %local_ip%') establezca gate_mac=%%a
arp -s % local_ip% %local_mac%
arp -s %gate_ip% %gate_mac%
exit
Después de la prueba, este lote no puede vincular la IP y la MAC de la puerta de enlace solo la local. Se pueden vincular IP y MAC
3. Después de la prueba, esto se puede vincular a la IP y MAC locales
Cita: @ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
arp -d & arp -s La IP de tu puerta de enlace La MAC de tu puerta de enlace
for /f "tokens=2 delims=[]=" %%i in ('nbtstat -a %COMPUTERNAME %') llame a set local=!local!%%i
for /f "tokens=3" %%i in ('netstat -r^|find " 0.0.0.0" ') haga set gm=%%i
for /f "tokens=1,2" %%i in ('arp -a %gm%^|find /i /v "inter"') establezca gate= %%i %%j
arp -s %gate%
arp -s %local%
Este proceso por lotes puede vincular la IP y MAC de la puerta de enlace, ¡Pero todavía está defectuoso y depende del caché ARP que existe en esta máquina!
El método de mejora es agregar una IP y MAC de puerta de enlace arp -s al final. ¡La eficiencia de ejecución de este procesamiento P es ligeramente menor, pero está lo suficientemente optimizada
4. Este es el blog de un hermano. Lo que encontré es que el principio es el mismo que el primero, ¡sólo un poco mejorado!
Este P obtuvo la MAC de la puerta de enlace haciendo ping a la puerta de enlace tres veces. De hecho, el lote anterior puede obtener la IP y la MAC de la puerta de enlace a través de esto.
Pero si se produce una suplantación de ARP. la computadora está encendida, si es así, la IP y la MAC que ha vinculado son incorrectas y no podrá acceder a Internet. .
Sin embargo, esta situación es poco común, ¡envíala y pruébala primero!
Cita: @echo off
:::::::::::::::Borrar todo el caché ARP
arp -d
::::::::::::::Leer configuración de conexión local
ipconfig /all>ipconfig.txt
::::::: :: ::::Lea la IP de la puerta de enlace de la intranet
para /f "tokens=13" %%I en ('busque "Puerta de enlace predeterminada" ipconfig.txt') configure GatewayIP=%% I
:::::::::::::PING a la puerta de enlace de la intranet tres veces
ping %GatewayIP% -n 3
::: :: ::::::::Caché arp de lectura y puerta de enlace
arp -a|find "%GatewayIP%">arp.txt
:::::: ::: ::::Lea la MAC de la puerta de enlace y enlace
for /f "tokens=1,2" %%I in ('find "%GatewayIP%" arp.txt') haga si %%I== %GatewayIP% arp -s %%I %%J
:::::::::::::::Lea la IP+MAC de esta máquina
para / f "tokens=15" %%i in ('buscar "Dirección IP" ipconfig.txt') configure ip=%%i
para /f "tokens=12" %% i in (' busque "Dirección física" ipconfig.txt') configure mac=%%i
:::::::::::::::Vincula la IP local+MAC
arp -s %ip% %mac%
:::::::::::::::Eliminar todos los archivos temporales
del ipconfig
del arp.txt
salir
El procesamiento por lotes anterior se puede utilizar para vincular la IP y la MAC del cliente en el enrutamiento para lograr un anti-ARP completo. La IP y MAC de la computadora y la puerta de enlace no son muy útiles con respecto al enrutamiento, debido a que todos usan un enrutamiento diferente, no podemos presentar de manera integral "Hablar sobre problemas de LAN desde la experiencia personal". Esta publicación presenta los métodos de secuencias de comandos del enrutamiento suave ROS y el enrutamiento TP-LINK. , que se utilizan ampliamente, no puedo dar una introducción detallada a los enrutadores de alta gama como Huawei y Cisco.
Bien, creo que a estas alturas todo el mundo tiene una cierta comprensión de las definiciones y métodos de ARP, enlace dual, etc. Si hay algo que no esté bien escrito, indíquelo a tiempo. Si hay algún error, asegúrese de notificármelo para que se puedan hacer las correcciones.
¡Finalmente, deseo que todos puedan mantenerse alejados de la persecución de ARP!