¿Cómo monitorear pasivamente la pérdida de paquetes tcp? (Linux)

Pregunta:

¿Cómo puedo monitorear pasivamente la pérdida de paquetes en las conexiones TCP hacia / desde mi máquina?

Básicamente, me gustaría una herramienta que se sienta en segundo plano y observe TCP ack / nak / re-transmite para generar un informe sobre qué direcciones IP de pares "parecen" estar experimentando una gran pérdida.

La mayoría de preguntas como esta que encuentro sobre SF sugieren el uso de herramientas como iperf. Pero, necesito monitorear las conexiones hacia / desde una aplicación real en mi máquina.

¿Están estos datos ahí en la pila TCP de Linux?

Respuesta:

Para tener una idea general de la escala de su problema, netstat -s rastreará el número total de retransmisiones.

# netstat -s | grep retransmitted
     368644 segments retransmitted

Puede asociar grep para segments para obtener una vista más detallada:

# netstat -s | grep segments
         149840 segments received
         150373 segments sent out
         161 segments retransmitted
         13 bad segments received

Para una inmersión más profunda, probablemente querrá encender Wireshark.

En Wireshark, configure su filtro en tcp.analysis.retransmission para ver las retransmisiones por flujo.

Esa es la mejor opción que se me ocurre.

Otros callejones sin salida explorados:

  • Las herramientas de netfilter / conntrack no parecen mantener retransmisiones
  • stracing netstat -s mostró que solo está imprimiendo /proc/net/netstat
  • la columna 9 en / proc / net / tcp parecía prometedora, pero lamentablemente parece no estar en uso.

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım