Cómo utilizar tcpdump y 6 ejemplos

Cómo utilizar tcpdump y 6 ejemplos

¿Está intentando capturar paquetes de datos para analizar el tráfico en su red? Tal vez sea un administrador de servidor que se ha encontrado con un problema y desea monitorear los datos transmitidos en la red. Cualquiera que sea la situación, la utilidad tcpdump Linux es lo que necesita.





En este artículo, discutiremos el comando tcpdump en detalle, junto con algunas guías sobre cómo instalar y usar tcpdump en su sistema Linux.





¿Qué es el comando tcpdump?

Tcpdump es una poderosa herramienta de monitoreo de red que permite al usuario filtrar paquetes y tráfico en una red de manera eficiente. Puede obtener información detallada relacionada con TCP / IP y los paquetes transmitidos en su red. Tcpdump es una utilidad de línea de comandos, lo que significa que puede ejecutarla en servidores Linux sin pantalla.





Los administradores del sistema también pueden integrar la utilidad tcpdump con cron para automatizar varias tareas como el registro. Dado que sus numerosas características lo hacen bastante versátil, tcpdump funciona como una herramienta de resolución de problemas y de seguridad.

Cómo instalar tcpdump en Linux

Si bien la mayoría de las veces encontrará tcpdump preinstalado en su sistema, algunas distribuciones de Linux no se envían con el paquete. Por lo tanto, es posible que deba instalar manualmente la utilidad en su sistema.



Puede comprobar si tcpdump está instalado en su sistema utilizando el cuales mando.

|_+_|

Si la salida muestra una ruta de directorio ( / usr / bin / tcpdump ), entonces su sistema tiene el paquete instalado. Sin embargo, si no es así, puede hacerlo fácilmente utilizando el administrador de paquetes predeterminado en su sistema.





Para instalar tcpdump en distribuciones basadas en Debian como Ubuntu:

|_+_|

La instalación de tcpdump en CentOS también es fácil.





|_+_|

En distribuciones basadas en Arch:

|_+_|

Para instalar en Fedora:

|_+_|

Tenga en cuenta que el paquete tcpdump requiere libcap como una dependencia, así que asegúrese de instalarlo también en su sistema.

Ejemplos de Tcpdump para capturar paquetes de red en Linux

Ahora que ha instalado correctamente tcpdump en su máquina Linux, es hora de monitorear algunos paquetes. Dado que tcpdump requiere permisos de superusuario para ejecutar la mayoría de las operaciones, deberá agregar sudo a tus mandamientos.

1. Enumere todas las interfaces de red

Para comprobar qué interfaces de red están disponibles para capturar, utilice el -D bandera con el comando tcpdump.

|_+_|

Pasando el --list-interfaces flag como argumento devolverá la misma salida.

|_+_|

El resultado será una lista de todas las interfaces de red que están presentes en su sistema.

Después de obtener la lista de interfaces de red, es hora de monitorear su red capturando paquetes en su sistema. Aunque puede especificar qué interfaz desea utilizar, la alguna El argumento comando tcpdump para capturar paquetes de red usando cualquier interfaz activa.

|_+_|

El sistema mostrará la siguiente salida.

Facebook inicia sesión con una cuenta diferente

Relacionado: ¿Qué es el modelo de interconexión de sistemas abiertos?

2. El formato de salida tcpdump

A partir de la tercera línea, cada línea de la salida denota un paquete específico capturado por tcpdump. Así es como se ve la salida de un solo paquete.

|_+_|

Tenga en cuenta que no todos los paquetes se capturan de esta manera, pero este es el formato general seguido por la mayoría de ellos.

La salida contiene la siguiente información.

  1. Marca de tiempo del paquete recibido
  2. Nombre de la interfaz
  3. Flujo de paquetes
  4. Nombre del protocolo de red
  5. Dirección IP y detalles del puerto
  6. Banderas de TCP
  7. El número de secuencia de datos en el paquete.
  8. Ack datos
  9. Tamaño de ventana
  10. Longitud del paquete

El primer campo ( 17:00:25.369138 ) muestra la marca de tiempo cuando su sistema envió o recibió el paquete. La hora registrada se extrae de la hora local de su sistema.

cómo ocultar la barra de tareas en el segundo monitor

Los campos segundo y tercero indican la interfaz utilizada y el flujo del paquete. En el fragmento de arriba, wlp0s20f3 es el nombre de la interfaz inalámbrica y Fuera es el flujo de paquetes.

El cuarto campo incluye información relacionada con el nombre del protocolo de red. Generalmente, encontrará dos protocolos: IP y IP6 , donde IP denota IPV4 e IP6 es para IPV6.

El siguiente campo contiene las direcciones IP o el nombre del sistema de origen y destino. Las direcciones IP van seguidas del número de puerto.

El sexto campo de la salida consta de indicadores TCP. Hay varios indicadores que se utilizan en la salida de tcpdump.

Nombre de la banderaValorDescripción
VISIÓNSConexión iniciada
FINFConexión finalizada
EMPUJARPAGSe empujan los datos
RSTRLa conexión se restablece
POBRE DE MÍ.Reconocimiento

La salida también puede contener una combinación de varios indicadores TCP. Por ejemplo, BANDERA [f.] significa un paquete FIN-ACK.

Avanzando en el fragmento de salida, el siguiente campo contiene el número de secuencia ( seq 196: 568 ) de los datos en el paquete. El primer paquete siempre tiene un valor entero positivo y los paquetes siguientes utilizan el número de secuencia relativo para mejorar el flujo de datos.

El siguiente campo contiene el número de reconocimiento ( ack 1 ), o un simple número de Ack. El paquete capturado en la máquina del remitente tiene 1 como número de reconocimiento. En el extremo del receptor, el número de Ack es el valor del siguiente paquete.

El noveno campo de la salida se adapta al tamaño de la ventana ( ganar 309 ), que es el número de bytes disponibles en el búfer de recepción. Hay varios otros campos que siguen el tamaño de la ventana, incluido el Tamaño máximo de segmento (MSS).

El último campo ( longitud 33 ) contiene la longitud del paquete total capturado por tcpdump.

3. Limite el recuento de paquetes capturados

Mientras ejecuta el comando tcpdump por primera vez, es posible que observe que el sistema continúa capturando paquetes de red hasta que pasa una señal de interrupción. Puede anular este comportamiento predeterminado especificando el recuento de paquetes que desea capturar de antemano utilizando el -c bandera.

|_+_|

El comando antes mencionado capturará diez paquetes de cualquier interfaz de red activa.

4. Filtrar paquetes según los campos

Cuando está solucionando un problema, obtener un gran bloque de salida de texto en su terminal no lo hace más fácil. Ahí es donde entra en juego la función de filtrado en tcpdump. Puede filtrar los paquetes de acuerdo con varios campos, incluido el host, el protocolo, el número de puerto y más.

Para capturar solo paquetes TCP, escriba:

|_+_|

Del mismo modo, si desea filtrar la salida utilizando el número de puerto:

|_+_|

El comando mencionado anteriormente solo recuperará los paquetes transmitidos a través del puerto especificado.

Para obtener los detalles del paquete para un host en particular:

|_+_|

Si desea filtrar los paquetes enviados o recibidos por un host específico, use el src o etc argumento con el comando.

|_+_|

También puede utilizar los operadores lógicos y y o para combinar dos o más expresiones juntas. Por ejemplo, para obtener paquetes que pertenecen a la IP de origen 112.123.13.145 y usa el puerto 80 :

|_+_|

Las expresiones complejas se pueden agrupar usando paréntesis como sigue:

|_+_|

5. Ver el contenido del paquete

Puedes usar el -A y -x banderas con el comando tcpdump para analizar el contenido del paquete de red. los -A representa la bandera ASCII formato y -x denota hexadecimal formato.

Para ver el contenido del siguiente paquete de red capturado por el sistema:

|_+_|

Relacionado: ¿Qué es la pérdida de paquetes y cómo solucionar su causa?

6. Guarde los datos de captura en un archivo

Si desea guardar los datos de captura con fines de referencia, tcpdump está ahí para ayudarlo. Solo pasa el -en bandera con el comando predeterminado para escribir la salida en un archivo en lugar de mostrarlo en la pantalla.

|_+_|

los .pcap extensión de archivo significa captura de paquetes datos. También puede emitir el comando mencionado anteriormente en modo detallado utilizando el -v bandera.

|_+_|

Para leer un .pcap archivo usando tcpdump, use el -r bandera seguida de la ruta del archivo. los -r representa Leer .

sitio web donde puedes ver videos de youtube con amigos
|_+_|

También puede filtrar paquetes de red a partir de los datos del paquete guardados en el archivo.

|_+_|

Supervisión del tráfico de red en Linux

Si se le ha asignado la tarea de administrar un servidor Linux, entonces el comando tcpdump es una gran herramienta para incluir en su arsenal. Puede solucionar fácilmente los problemas relacionados con la red capturando los paquetes transmitidos en su red en tiempo real.

Pero antes de todo eso, su dispositivo debe estar conectado a Internet. Para los principiantes de Linux, incluso conectarse con Wi-Fi a través de la línea de comandos puede ser un poco desafiante. Pero si está utilizando las herramientas adecuadas, es muy sencillo.

Cuota Cuota Pío Correo electrónico Cómo conectarse a Wi-Fi a través de la terminal de Linux con Nmcli

¿Quiere conectarse a una red Wi-Fi a través de la línea de comandos de Linux? Esto es lo que necesita saber sobre el comando nmcli.

Leer siguiente
Temas relacionados
  • Linux
  • Seguridad
  • Análisis forense de redes
Sobre el Autor Sharma profundo(79 Artículos publicados)

Deepesh es el editor junior para Linux en MUO. Escribe guías informativas sobre Linux, con el objetivo de proporcionar una experiencia maravillosa a todos los recién llegados. No estoy seguro de películas, pero si quieres hablar de tecnología, él es tu chico. En su tiempo libre, puedes encontrarlo leyendo libros, escuchando diferentes géneros musicales o tocando su guitarra.

Más de Deepesh Sharma

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse