Quiero rastrear la actividad de red de un comando, probé tcpdump y strace sin éxito.
Por ejemplo, si estoy instalando un paquete o utilizando cualquier comando que intente acceder a algún sitio, quiero ver esa actividad de red (el sitio al que intenta acceder).
Supongo que podemos hacer esto usando tcpdump. Lo intenté pero está rastreando toda la actividad de red de mi sistema. Supongamos que si ejecuto múltiples comandos relacionados con la red y quiero rastrear solo la actividad particular de la red de comandos, esa vez es difícil encontrar la solución exacta.
¿Hay una manera de hacer eso?
ACTUALIZAR:
No quiero rastrear todo lo que pasa en mi interfaz de red. Solo quiero hacer un seguimiento de la actividad de red del comando (por ejemplo, #yum install -y vim). Como el sitio al que intenta llegar.
Respuestas:
netstat por simplicidad
Usando
netstat
y grepping en el PID o el nombre del proceso:Y podría usar
watch
para actualizaciones dinámicas:Con:
-n
: Muestra direcciones numéricas en lugar de intentar determinar nombres de host, puerto o usuario simbólicos-p
: Muestra el PID y el nombre del programa al que pertenece cada socket.--inet
: Solo muestra los sockets de protocolo raw, udp y tcp.luchar por la verbosidad
Dijiste que probaste la
strace
herramienta, pero ¿intentaste la opcióntrace=network
? Tenga en cuenta que el resultado puede ser bastante detallado, por lo que es posible que necesite un poco de grepping. Podrías comenzar haciendo grepping en "sin_addr".O, para un proceso que ya se está ejecutando, use el PID:
fuente
netstat
cual es IMHO la solución más simple y ordenada.strace
salida un poco más, solo manteniendo lasconnect
llamadas al sistema y eliminando lasdns
solicitudes (puerto 53) con:| grep connect | grep -v 'sin_port=htons(53)'
Crearía un nuevo espacio de nombres de red , lo conectaría a la red real y luego monitorearía el puente con
tcpdump
.fuente
sysdig
le permite monitorear toda la actividad del núcleo o de varios comandos que se ejecutan en su sistema de una vez, incluidos, entre otros, la actividad de la red.Como el resultado puede ser grande, debe crear filtros, la página predeterminada para los filtros más básicos es bastante comprensible.
También tiene la ventaja de que no se usa como envoltorio de aplicaciones como en
strace
, y puede ser bastante potente.De ejemplos de Sysdig
fuente
Puede usar wireshark para detectar todo el tráfico de entrada y salida de una interfaz de red. En caso de que necesite una opción sin GUI, puede usar tshark.
Con ambas opciones puede ver todo el tráfico de la red y guardarlo para luego analizar todas las conexiones establecidas.
fuente