Cómo interpretar la información de Wireshark capturada

Wireshark es un analizador de protocolo de red de interfaz gráfica. Le permite explorar de forma interactiva los paquetes de datos de una red en vivo o un archivo de captura guardado previamente. Le permite ver lo que está sucediendo en su red a nivel microscópico.

TShark es una versión de Wireshark orientada a terminales diseñada para capturar y mostrar paquetes cuando no se necesita o no está disponible una interfaz de usuario interactiva. Admite las mismas opciones que Wireshark. En su sitio web, Wireshark describe su rico conjunto de funciones de la siguiente manera:

Índice

Instalación

Wireshark se puede instalar con comandos individuales estándar.

En Red Hat Enterprise Linux (RHEL) 7:

yum install wireshark 

En Red Hat Enterprise Linux (RHEL) 8:

dnf install wireshark

caso de uso

Sin ninguna opción configurada, TShark funciona de manera muy similar a tcpdump. Él usa el pcap biblioteca para capturar el tráfico de la primera interfaz de red disponible y mostrar una línea de resumen en la salida estándar de cada paquete recibido.

Antes de comenzar cualquier captura, debemos definir las interfaces en nuestro servidor que TShark puede usar. Es posible que necesite usar sudo o acceso de root en este caso.

Para obtener esta información, deberá ejecutar el siguiente comando:

# tshark –D

A continuación se muestra un ejemplo de salida:

[[email protected] ~]# tshark -D
1. eth0
2. nflog
3. nfqueue
4. usbmon1
5. any
6. lo (Loopback)

Si quisiéramos capturar el tráfico en eth0, podríamos llamarlo con este comando:

tshark -i eth0

Salida de muestra:

[[email protected] ~]# tshark -i eth0
Running as user "root" and group "root". This could be dangerous.
Capturing on 'eth0'
  1 0.000000000 41.242.139.31 -> 207.180.200.5 TCP 60 61513 > tcoaddressbook [ACK] Seq=1 Ack=1 Win=508 Len=0
  2 0.103588364 41.242.139.31 -> 207.180.200.5 TCP 60 61513 > tcoaddressbook [ACK] Seq=1 Ack=81 Win=508 Len=0
  3 0.690499219 173.212.240.3 -> 255.255.255.255 DHCP 362 DHCP ACK      - Transaction ID 0x6b443d32
  4 0.819279418 207.180.200.5 -> 41.242.139.31 TCP 342 tcoaddressbook > 61513 [PSH, ACK] Seq=81 Ack=1 Win=283 Len=288
  5 0.987663435 45.77.145.115 -> 207.180.200.5 TCP 60 wso2esb-console > https [SYN] Seq=0 Win=5840 Len=0
  6 0.987758650 207.180.200.5 -> 45.77.145.115 TCP 54 [TCP ACKed unseen segment] https > wso2esb-console [ACK] Seq=1 Ack=316217230 Win=29200 Len=0
  7 1.001310441 207.180.200.5 -> 45.77.145.115 TCP 58 [TCP ACKed unseen segment] [TCP Retransmission] https > wso2esb-console [SYN, ACK] Seq=0 Ack=316217230 Win=29200 Len=0 MSS=1460
  8 1.002550877 41.242.139.31 -> 207.180.200.5 TCP 60 61513 > tcoaddressbook [ACK] Seq=1 Ack=369 Win=513 Len=0
  9 1.014391846 207.180.200.5 -> 80.237.128.149 NTP 90 NTP Version 4, client
 10 1.039819501 80.237.128.149 -> 207.180.200.5 NTP 90 NTP Version 4, server

Los paquetes anteriores se indican con números al principio de la línea.

Estas líneas incluyen dos direcciones IP a cada lado de una flecha: estos son los hosts que intercambian el paquete. La dirección de la flecha indica en qué dirección va el paquete. Entonces, 41.242.139.31 -> 207.180.200.5 significa que el paquete proviene del host 41.242.139.31, que es mi ordenador, y se dirige al destino 207.180.200.5, que es el servidor remoto donde está instalado TShark. Mi ordenador está tratando de conectarse a este servidor, por lo que pasa por el protocolo de enlace TCP.

Aquí hay una explicación básica de cómo funciona TShark: Captura todo el tráfico iniciado hacia y desde el servidor donde está instalado. Gracias al poder de filtrado de TShark podemos mostrar el tráfico que nos interesa.

También podemos limitar la salida de la captura a líneas específicas. Por ejemplo, si queremos limitar la salida a 10 líneas, usaremos el siguiente comando:

# tshark -i eth0 -c 10

Capture el tráfico hacia y desde un host

Podemos filtrar el tráfico procedente de un host específico. Por ejemplo, para encontrar tráfico hacia y desde 8.8.8.8, usamos el comando:

# tshark -i eth0 -c 10 host 8.8.8.8

Para el tráfico de 8.8.8.8:

# tshark -i eth0 src host 8.8.8.8

Para el tráfico que va a 8.8.8.8:

# tshark -i eth0 dst host 8.8.8.8

Salida de muestra:

[[email protected] ~]# tshark -i eth0 -c 10 host 8.8.8.8
Running as user "root" and group "root". This could be dangerous.
Capturing on 'eth0'
  1 0.000000000      8.8.8.8 -> 207.180.229.97 DNS 185 Standard query response 0x8d7a No such name
  2 0.004498954      8.8.8.8 -> 207.180.229.97 DNS 184 Standard query response 0x2302 No such name
  3 0.024649288      8.8.8.8 -> 207.180.229.97 DNS 146 Standard query response 0x24d2 No such name
  4 0.125434062      8.8.8.8 -> 207.180.229.97 DNS 125 Standard query response 0xf89a  NS ns1.mail.rhsblmail.com NS ns2.mail.rhsblmail.com
  5 0.138280488      8.8.8.8 -> 207.180.229.97 DNS 105 Standard query response 0x1d17  MX 10 mail.rhsblmail.com
  6 0.143231852      8.8.8.8 -> 207.180.229.97 DNS 134 Standard query response 0xc774  NS ns1.hongkongserver.net NS ns2.hongkongserver.net
  7 0.144433854      8.8.8.8 -> 207.180.229.97 DNS 99 Standard query response 0x4682  A 119.8.46.109
  8 0.201845674      8.8.8.8 -> 207.180.229.97 DNS 150 Standard query response 0xfb47 No such name
  9 0.205827278 207.180.229.97 -> 8.8.8.8      DNS 72 Standard query 0x74e3  MX dalcargo.net
 10 0.482611966      8.8.8.8 -> 207.180.229.97 DNS 102 Standard query response 0x74e3  MX 0 mx.sinanet.com

En la salida de arriba vemos el tráfico hacia y desde 8.8.8.8. El anfitrión 8.8.8.8 da respuestas al servidor 207.180.229.97 sobre las consultas que inició anteriormente.

Capture el tráfico hacia y desde una red

También podemos capturar el tráfico hacia y desde una red específica. Para hacer esto, usamos el siguiente comando:

# tshark -i eth0 net 10.1.0.0 mask 255.255.255.0

Donde

# tshark -i eth0 net 10.1.0.0/24

También podemos filtrar según el origen o el destino.

Basado en la fuente (tráfico proveniente de):

# tshark -i eth0 src net 10.1.0.0/24

Según el destino (tráfico hacia):

# tshark -i eth0 dst net 10.1.0.0/24

Capture el tráfico hacia y desde los números de puerto

Aquí hay muchas otras variaciones.

Capture solo el tráfico del puerto DNS 53:

# tshark -i eth0 port 53

Para un host específico:

# tshark -i eth0 host 8.8.8.8 and port 53

Capture solo el tráfico HTTPS:

# tshark -i eth0 -c 10 host www.google.com and port 443

Capture todos los puertos excepto los puertos 80 y 25:

tshark -i eth0 port not 53 and not 25

Guardar salida en archivo

Podemos guardar el resultado de nuestra captura en un archivo para leerlo más tarde. Las versiones posteriores de Wireshark guardan la salida en el capturando por defecto. No obstante, también podemos guardar en otros formatos. Para verificar el formato compatible, ejecute el siguiente comando:

# tshark -F

Para guardar la salida usamos el -w cambiar. Utilizando el -w El conmutador proporciona paquetes de datos sin procesar, no texto. Si desea una salida de texto, debe redirigir stdout (por ejemplo, usando >). No use el -w opción para eso.

Para guardar una captura en un nombre de archivo http_capture.pcapng:

# tshark -i eth0 -c 10 port 80 -w http_capture.pcapng

Podemos ahorrar en pcap formato, que puede ser leído por tcpdump y versiones anteriores de Wireshark:

# tshark -i eth0 -c 10 port 80 -w http.pcap -F libpcap

Conclusión

TShark es una herramienta integral que los administradores de sistemas deben agregar a su conjunto de herramientas. Esta es la primera parte de una serie de dos partes. En la segunda parte, veremos filtros más avanzados y cómo podemos hacer que la salida sea más legible.

Artículos de interés

Subir