GNU/Linux >> Tutoriales Linux >  >> Linux

Ejemplos del uso del comando tcpdump para solucionar problemas de red

La utilidad tcpdump le permite capturar paquetes que fluyen dentro de su red para ayudar en la resolución de problemas de red. Los siguientes son varios ejemplos del uso de tcpdump con diferentes opciones. El tráfico se captura en función de un filtro específico. Existe una variedad de opciones, que incluyen:

Opciones Descripción
-D Imprime una lista de interfaces de red.
-i Especifique una interfaz en la que capturar.
-c Especifique el número de paquetes a recibir.
-v, -vv, -vvv Aumentar el nivel de detalle (verbosidad).
-w Escribe los datos capturados en un archivo.
-r Leer datos capturados de un archivo.

Instalando la utilidad tcpdump

En la mayoría de los sistemas Unix/Linux, no encontrará el paquete tcpdump ya instalado. Para instalar la última versión, use el administrador de paquetes apropiado en su sistema. Por ejemplo, en el caso de servidores CentOS/RHEL:

# yum install tcpdump

Ejemplos del uso de tcpdump para solucionar problemas de red

1. Mostrar lista de interfaces de red

Para imprimir una lista de las interfaces de red disponibles en las que tcpdump puede capturar paquetes:

# tcpdump -D
1.eth0
2.nflog (Linux netfilter log (NFLOG) interface)
3.nfqueue (Linux netfilter queue (NFQUEUE) interface)
4.any (Pseudo-device that captures on all interfaces)
5.lo [Loopback]

2. Capturar en una interfaz específica

Como se ve desde el comando 'tcpdump -D', para cada interfaz de red, se imprime un número y un nombre de interfaz. El nombre de la interfaz o el número se puede proporcionar al -i marca para especificar una interfaz en la que capturar. Por ejemplo, para capturar los paquetes en la interfaz eth0:

# tcpdump -i 1
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
01:26:51.118038 IP ec2-54-159-106-120.compute-1.amazonaws.com.48021 > geeklab.31297: Flags [S], seq 3960153353, win 26883, options [mss 1460,sac
kOK,TS val 2229362922 ecr 0,nop,wscale 7], length 0
01:26:51.118072 IP geeklab.31297 > ec2-54-159-106-120.compute-1.amazonaws.com.48021: Flags [S.], seq 547340507, ack 3960153354, win 26847, optio
ns [mss 8961,sackOK,TS val 5714985 ecr 2229362922,nop,wscale 7], length 0

En este ejemplo, la salida es continua hasta que se termina presionando Ctrl + C.

3. Captura solo un número específico de paquetes

Para salir de tcpdump después de recibir una cantidad específica de paquetes, use -c (recuento) opción seguida del número de paquetes a recibir. El siguiente ejemplo captura dos paquetes:

# tcpdump -i 1 -c 2
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
01:37:08.956549 IP 182.100.67.76.38819 > geeklab.ssh: Flags [P.], seq 542149092:542149176, ack 774431931, win 271, options [nop,nop,TS val 26493
51 ecr 6332468], length 84
01:37:08.956575 IP geeklab.ssh > 182.100.67.76.38819: Flags [.], ack 84, win 230, options [nop,nop,TS val 6332824 ecr 2649351], length 0
2 packets captured
6 packets received by filter
0 packets dropped by kernel

Como se muestra en este ejemplo, cuando tcpdump termina de capturar paquetes, informa lo siguiente:

  • paquetes capturados :Este es el número de paquetes que tcpdump ha recibido y procesado.
  • paquetes recibidos por filtro :Se puede especificar un filtro en la línea de comandos y tcpdump solo procesa y cuenta aquellos paquetes que coinciden con el filtro definido.
  • paquetes soltados por kernel :Este es el número de paquetes que se descartaron debido a la falta de espacio en el búfer. Utilice la opción -B para establecer el tamaño del búfer.

4. Aumentar los detalles (verbosidad) de la salida

Para aumentar el detalle (verbosidad) de la salida, use -v opción, o -vv para una salida aún más detallada, o -vvv para el nivel de salida más detallado:

# tcpdump –i 1 –v
# tcpdump –i 1 -vv
# tcpdump –i 1 –vvv

5. Capture los datos en un archivo

Uso de la utilidad tcpdump con -w La opción le permite escribir los datos capturados en un archivo. Esto permite que los datos capturados sean leídos por otras herramientas de análisis de red, como Wireshark. El siguiente ejemplo captura datos en un archivo llamado capture.out:

# tcpdump –i 1 –v –c2 –w capture.out

6. lectura de datos capturados

También puede leer los datos capturados de un archivo usando –r opción:

# tcpdump –r capture_file

Algunos ejemplos más del comando tcpdump

Se pueden usar muchas otras opciones y argumentos con tcpdump. Los siguientes son algunos ejemplos específicos del poder de la utilidad tcpdump.

1. Muestra el tráfico entre 2 hosts

Para mostrar todo el tráfico entre dos hosts (representados por las variables host1 y host2):

# tcpdump host host1 and host2

2. Mostrar el tráfico solo desde un host de origen o de destino

Para mostrar el tráfico solo desde un host de origen (src) o de destino (dst):

# tcpdump src host
# tcpdump dst host

3. Mostrar tráfico para un protocolo específico

Proporcione el protocolo como argumento para mostrar solo el tráfico de un protocolo específico, por ejemplo, tcp, udp, icmp, arp:

# tcpdump protocol

Por ejemplo, para mostrar el tráfico solo para el tráfico tcp:

# tcpdump tcp

4. Filtrado basado en puerto de origen o destino

Para filtrar según un puerto de origen o de destino:

# tcpdump src port ftp
# tcpdump dst port http

La utilidad tcpdump también acepta operadores booleanos (AND, NOT, OR) y agrupación de operadores, lo que le permite crear filtros complejos para capturar datos de red.


Linux
  1. Ejemplos de comandos DNF para principiantes

  2. Uso de la herramienta SS para la resolución de problemas de red

  3. 10 ejemplos prácticos del uso del comando scp

  4. Ejemplos de uso del comando dmsetup en Linux

  5. Ejemplos de comandos dsniff en Linux

Tutorial del comando tcpdump de Linux para principiantes (8 ejemplos)

Ejemplos de comandos ifconfig de Linux

Comando tcpdump de Linux

Ejemplos útiles de tcpdump Linux para el administrador de red

10 ejemplos de comandos brctl de Linux para puente de red Ethernet

Analizador de paquetes:15 ejemplos de comandos TCPDUMP