Una computadora en LAN realiza una solicitud a un sitio web. La solicitud pasa por un enrutador que realiza una entrada (ip: port-ip: port) en una tabla de reenvío NAT. ¿Cómo podemos consultar desde qué puerto del enrutador se envió la solicitud al servidor final?

Si está hablando de su enrutador doméstico, sería muy difícil hacerlo, ya que tienen un firmware muy pequeño y bastante básico y no están diseñados para tal monitoreo o solución de problemas.

Pero si hablamos de enrutadores de grado comercial, puede rastrear una solicitud, tanto paquetes entrantes como salientes, usando tcpdump en el enrutador. He trabajado en F5 Local Traffic Managers, que también puede actuar como un enrutador, donde generalmente recibimos este tipo de solicitudes para rastrear un paquete que va desde el Nodo 1 en la VLAN A al Nodo 2 en la VLAN B. Usamos TCPDUMP para obtener tales tipo de solicitudes

Por lo general, el flujo sería El nodo 1 envía un paquete a otro nodo en una VLAN diferente.

  1. El nodo 1 envía la solicitud con un puerto seleccionado aleatoriamente de un número alto como 51526
  2. El enrutador recibe las solicitudes y utiliza la tabla NAT.
  3. Luego lo reenvía al destino en el puerto requerido utilizando un número alto de puertos seleccionados al azar.

También probé esto en los conmutadores Nexus 5K, donde proporciona la IP de origen y de destino y le muestra el flujo de tráfico completo en un segundo.

Esa información sería conocida por el enrutador y la aplicación de host distante. La presunción es que no tiene acceso a la maquinaria IP en el host distante, por lo que deja el enrutador local. Si el enrutador está configurado con las reglas de netfilter / iptables de Linux (usted dijo ‘reenvío NAT’), podría:

  • idear una regla que registre los paquetes que coincidan con el host respectivo: puerto.
  • use un rastreador de paquetes (tshark o wireshark) en el enrutador para capturar y desarmar los paquetes de interés.

Si no tiene acceso a los mecanismos internos del enrutador, su único recurso sería usar un concentrador o un conmutador administrado configurado de manera adecuada para permitir la detección de paquetes en el lado WAN de su enrutador, suponiendo que use Ethernet en ese nivel.

Suponiendo que estamos hablando de puertas de enlace residenciales / pequeñas empresas donde tenemos un solo enrutador, es sencillo: puerto WAN.

Si estamos hablando de casos en los que están involucrados varios enrutadores, entonces debe recurrir a la captura de algunos registros o buscar estadísticas en el enrutador.

¿Desde dónde quieres consultar? En el enrutador en sí, puede consultar la tabla de reenvío de Nat, pero si desea realizar una consulta desde una máquina host, deberá encontrar una mib SNMP. Hay cientos de MIB y puede o no haber uno que consulte el puerto NAT. Si no puede encontrar uno, aún puede escribir un script que pueda obtener ese puerto por usted.