Wireshark es un analizador de protocolo de red GUI. 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 sucede en su red a un nivel microscópico.
TShark es una versión de Wireshark orientada a terminales diseñada para capturar y mostrar paquetes cuando una interfaz de usuario interactiva no es necesaria o no está disponible. Admite las mismas opciones que Wireshark. En su sitio web, Wireshark describe su rico conjunto de funciones como lo siguiente:
- Inspección profunda de cientos de protocolos, y se agregan más todo el tiempo
- Captura en vivo y análisis fuera de línea
- Multiplataforma:se ejecuta en Windows, Linux, macOS, Solaris, FreeBSD, NetBSD y muchos otros
- Los filtros de pantalla más potentes de la industria
- Análisis VoIP enriquecido
- Leer/escribir muchos formatos de archivos de captura diferentes:tcpdump (libpcap), Pcap NG, Cisco Secure IDS iplog, Microsoft Network Monitor y muchos otros
- Los archivos de captura comprimidos con gzip se pueden descomprimir sobre la marcha
- Los datos en vivo se pueden leer desde Ethernet, IEEE 802.11, Bluetooth, USB y otros (dependiendo de su plataforma)
- Soporte de descifrado para muchos protocolos, incluidos IPsec, ISAKMP, Kerberos, SNMPv3, SSL/TLS, WEP y WPA/WPA2
- Se pueden aplicar reglas de colores a la lista de paquetes para un análisis rápido e intuitivo
- La salida se puede exportar a XML, PostScript, CSV o texto sin formato
Instalación
Wireshark se puede instalar con los comandos simples estándar.
En Red Hat Enterprise Linux (RHEL) 7:
yum install wireshark
En Red Hat Enterprise Linux (RHEL) 8:
dnf install wireshark
Casos de uso
Sin ninguna opción configurada, TShark funciona de manera muy similar a tcpdump. Utiliza el pcap biblioteca para capturar el tráfico desde la primera interfaz de red disponible y muestra una línea de resumen en la salida estándar de cada paquete recibido.
Antes de comenzar cualquier captura, debemos definir qué interfaces en nuestro servidor puede usar TShark. Es posible que deba usar sudo
o acceso de root en este caso.
[ También te puede interesar: Mis 5 herramientas de administración de sistemas de Linux favoritas ]
Para obtener esta información, deberá ejecutar el siguiente comando:
# tshark –D
A continuación se muestra un resultado de muestra:
[root@server ~]# tshark -D
1. eth0
2. nflog
3. nfqueue
4. usbmon1
5. any
6. lo (Loopback)
Si quisiéramos capturar tráfico en eth0 , podríamos llamarlo con este comando:
tshark -i eth0
Salida de muestra:
[root@server ~]# 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. Por lo tanto, 41.242.139.31 -> 207.180.200.5 significa que el paquete se originó en el host 41.242.139.31 , que es mi computadora, y se dirige al destino 207.180.200.5 , que es el servidor remoto donde está instalado TShark. Mi computadora está tratando de conectarse a este servidor, por lo que está pasando por el protocolo de enlace TCP.
Aquí hay una explicación básica de cómo funciona TShark:Captura todo el tráfico que se inicia hacia y desde el servidor donde está instalado. Con el 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
Capturar 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 procedente y dirigido a 8.8.8.8 , usamos el comando:
# tshark -i eth0 -c 10 host 8.8.8.8
Para tráfico procedente 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:
[root@server2 ~]# 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 el resultado anterior, vemos tráfico procedente y dirigido a 8.8.8.8 . El anfitrión 8.8.8.8 está dando respuestas al servidor 207.180.229.97 sobre las consultas que ha iniciado anteriormente.
Capturar el tráfico hacia y desde una red
También podemos capturar tráfico hacia una red específica. Para hacer esto, usamos el siguiente comando:
# tshark -i eth0 net 10.1.0.0 mask 255.255.255.0
o
# 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
Basado en el destino (tráfico hacia):
# tshark -i eth0 dst net 10.1.0.0/24
Capturar tráfico hacia y desde números de puerto
Aquí hay muchas otras variaciones.
Captura 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
Captura solo tráfico HTTPS:
# tshark -i eth0 -c 10 host www.google.com and port 443
Captura todos los puertos excepto el puerto 80 y 25:
tshark -i eth0 port not 53 and not 25
Guardar la salida en un 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 pcapng por defecto. Sin embargo, también podemos guardar en otros formatos. Para verificar el formato compatible, ejecute el siguiente comando:
# tshark -F
Para guardar la salida, usamos -w
cambiar. Usando 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 esto.
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
[ ¿Quiere obtener más información sobre seguridad? Consulte la lista de verificación de cumplimiento y seguridad de TI. ]
Resumir
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. En la segunda parte, veremos filtros más avanzados y cómo podemos hacer que la salida sea más legible.