11 votos

Hay una sencilla herramienta de línea de comandos para los paquetes de oler un único comando en linux?

Me encantaría si hubo una sola herramienta de línea de comandos para la detección de paquetes de un solo comando en Linux. algo como sniff dumpfile command , de modo que usted puede simplemente ejecutar el comando que desee paquete de aspiración en el terminal y obtener un volcado de los paquetes en algún otro lugar.

Me gustaría volcado / salvar / ver sólo el tráfico de red de un solo comando que me escriba, no todo el tráfico TCP en mi interfaz de red. Por ejemplo, si estoy conectado a mi ordenador, y que había de IRC que se ejecuta en el fondo, y yo hicimos sniff somefile wget , me gustaría ver todo el tráfico de red que el comando wget hizo para descargar http://www.google.com. No quiero 'somefile' para que la red de IRC de tráfico confundir las cosas.

Hay un montón de linux/unix los comandos que acepta un comando diferente y hacer algo diferente. De http://www.google.com (ejecutar como superusuario), de cambio de buen nivel, sudo (limitar el ancho de banda de un comando)

10voto

David Pashley Puntos 17011

No hay ninguna que yo sepa, pero que en teoría no debería ser difícil conseguir algo similar. Strace se pueden utilizar para interceptar la creación de redes de syscalls.

# strace -f -e trace=network -s 10000 /usr/bin/command arguments

Esto le dará información acerca de los datos enviados entre el núcleo y el proceso. La salida de strace no es exactamente lo que usted quiere. Sin embargo, strace utiliza el ptrace syscall a sistema de intercepción de llamadas. Sería posible escribir un programa para la salida de los datos un poco más útil.

Alternativamente, también puede interceptar el agradable útil socket, bind y escuchar llamadas al sistema. Se podría escribir un pequeño programa que se utiliza ptrace en estas llamadas y libpcap para cambiar dinámicamente el filtro de captura cada vez que un nuevo socket que se abre.

7voto

pjf Puntos 61

Tracedump

Tracedump es una sola aplicación IP sniffer de paquetes, que captura todos los paquetes TCP y UDP de una sola de Linux.

Descarga y descripción aquí: http://mutrics.iitis.pl/tracedump

3voto

Dan Carley Puntos 17278

Aprender a utilizar las expresiones de filtro.

Mientras que esto no va a hacer la fantasía de seguimiento cosas que usted está pidiendo.

Esto le permitirá eliminar casi todos los de la "confusa cosas como IRC", de la captura.

Además es muy útil para conocer la sintaxis del filtro para una referencia rápida en el futuro.

3voto

nik Puntos 5456

Trate de Wireshark -- el comando será tshark

  • tshark le permite seleccionar los filtros en el tráfico capturado desde una interfaz
  • el uso de otros servicios públicos como el de debian lsof para identificar el tipo de comunicación realizada por la aplicación de interés.

O, ¿realmente sólo quiero LSOF?


No creo que hay una herramienta que se mantiene dinámicamente el filtrado de todas las comunicaciones asociadas a un proceso. Sin embargo, usted podría tratar de seguimiento del proceso de comunicación con herramientas como lsof y una vez que usted tiene un buen filtro que puede aislar de comunicación de que el proceso de todo el tráfico que se ejecuta en su sistema, usted podría conseguir la correcta captura.

Por ejemplo, wget normalmente la dirección IP de destino es distinto de otro proceso relacionado con el tráfico. Incluso si usted toma algo como skype el rango de puerto de destino es generalmente fija para una instancia.


Esto es un poco como el principio de incertidumbre. Generalmente, usted puede saber lo que está pasando a través de un conjunto de vías de comunicación (con un sniffer de filtrado en grupo identificado de flujos), o donde los diferentes enlaces de comunicación (con lsof).

Realmente me gustaría saber si se puede hacer para una aplicación. Creo que debe ser factible. Pero, no han visto ninguna herramienta para hacer eso todavía.

2voto

Chris Upchurch Puntos 10484

Específicamente para un navegador web / página web algo como el Firebug plug-in para Firefox puede dar un poco de la información que usted está buscando: http://getfirebug.com/net.html

Para obtener más general de las aplicaciones, puede ser necesario usar netstat para identificar el puerto utilizado(s) por la aplicación y, a continuación, Wireshark/tshark/dtrace con un filtro para capturar sólo el tráfico. No la línea de respuesta que estabas buscando, aunque...

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: