WireShark: Analizador de protocolos#
Es un programa que permite capturar el tráfico de red utilizando una interfaz gráfica. WireShark permite analizar protocolos de red, filtrar y seleccionar paquetes para análisis.
Warning
- WireShark soporta los formatos PCAP y PCAP-NG
- En esta clase nos enfocamos en el formato PCAP porque
tcpdumppuede leerlo
Instalación de WireShark#
Utilizar el gestor de paquetes para instalar wireshark
root@debian:~# apt install wireshark
Agregar al usuario al grupo wireshark y reiniciar el equipo
root@debian:~# usermod -aG wireshark tonejito
root@debian:~# reboot
Verificar que el usuario tenga el grupo suplementario wireshark
root@debian:~# getent group wireshark
wireshark:x:123:tonejito
tonejito@debian:~$ groups
users cdrom floppy sudo audio dip video plugdev netdev bluetooth lpadmin scanner vboxsf wireshark
Interfaces de red#
Configuración en VirtualBox#
![]() |
|---|
![]() |
|---|
![]() |
|---|
![]() |
|---|
![]() |
|---|
Interfaces de red en la máquina virtual#
La máquina virtual tiene tres interfaces de red
lo-
- Interfaz loopback
- Se utiliza para el tráfico local de la máquina
tonejito@debian:~$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
... ... ...
eth0-
- Interfaz conectada a la red NAT
- Tiene el cable conectado
- Es la única interfaz de red activa
![]() |
|---|
tonejito@debian:~$ ip addr
... ... ...
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:2e:63:f9 brd ff:ff:ff:ff:ff:ff
altname enp0s3
inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic noprefixroute eth0
valid_lft 81656sec preferred_lft 81656sec
inet6 fd17:625c:f037:2:ba98:b785:e4c6:2be5/64 scope global temporary dynamic
valid_lft 86353sec preferred_lft 14353sec
inet6 fd17:625c:f037:2:8ef5:f7ed:7e25:7bd/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 86353sec preferred_lft 14353sec
inet6 fe80::f295:d9cf:b9fe:54b0/64 scope link noprefixroute
valid_lft forever preferred_lft forever
... ... ...
eth1-
- Interfaz conectada a la red host-only
- Tiene el cable desconectado, así que se ignora
tonejito@debian:~$ ip addr
... ... ...
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether 08:00:27:2e:64:f9 brd ff:ff:ff:ff:ff:ff
altname enp0s8
Modo promiscuo#
El "modo promiscuo" de una interfaz de red permite que el sistema operativo procese las tramas, aunque no sean dirigidos a este equipo.
Este modo es de bastante utilidad cuando se realizan capturas de tráfico de red.
Warning
Reemplaza ${IFACE} con el nombre de tu interfaz de red (por ejemplo eth0)
root@debian:~# ip link set "${IFACE}" up promisc on
Conexión a Internet#
Se puede verificar la conexión a internet con los siguientes comandos
ping/ping6traceroute/traceroute6nslookup/digncat/netcatopenssl s_clientwget/curl
Uso de WireShark#
Abrir WireShark#
Es posible invocar WireShark de dos maneras
- Invocar el programa desde el menú de aplicaciones
- Ejecutar en la terminal el comando
wireshark(con minúsculas)
![]() |
|---|
| Ejecutar WireShark desde el menú de aplicaciones |
Interfaz gráfica#
Al abrir WireShark se presenta una interfaz para seleccionar la interfaz de red en la cual se desea capturar el tráfico
Warning
- Selecciona la interfaz conectada a tu red NAT
- En este ejemplo se utiliza la interfaz
eth0
![]() |
|---|
Filtro de captura#
En esta ventana también se puede especificar un filtro de captura para limitar los paquetes que captura WireShark
Note
Los filtros de captura son compatibles con tcpdump, tshark y otras herramientas basadas en libpcap
![]() |
|---|
| Iniciar la captura sin filtro de captura |
![]() |
|---|
| Especificar un filtro de captura |
Warning
Dar doble clic en el nombre de la interfaz para iniciar la captura de paquetes
Capturando y visualizando tráfico de red#
La ventana de captura y análisis de protocolos está dividida en tres paneles
- Lista de paquetes
- Detalles del paquete
- Vista de bytes del paquete ("en crudo")
![]() |
|---|
Cada protocolo de red se resalta de un color diferente y se pueden expandir los detalles de encapsulación para visualizar los parámetros específicos de una trama, un datagrama o un paquete
![]() |
|---|
Filtros de despliegue#
Se pueden establecer filtros de despliegue para visualizar únicamente algunos paquetes o datagramas asociados a un protocolo específico
![]() |
|---|
| Filtro de despliegue para el protocolo ARP |
![]() |
|---|
| Filtro de despliegue para el protocolo DHCP |
![]() |
|---|
| Filtro de despliegue para el protocolo DNS |
![]() |
|---|
| Filtro de despliegue para el protocolo HTTP |
![]() |
|---|
| Filtro de despliegue para el tráfico de red del puerto 80 TCP |
![]() |
|---|
| Filtro de despliegue para el protocolo IPv6 |
Detener la captura de tráfico#
Presiona el botón STOP para detener la captura de tráfico
Note
Esto no guarda la captura, únicamente deja de capturar paquetes
![]() |
|---|
Guardar la captura de tráfico en formato PCAP#
Una vez detenida la captura de tráfico, accede al menú para guardar la captura
![]() |
|---|
Navega a la carpeta deseada
![]() |
|---|
Selecciona el format PCAP
Warning
- WireShark soporta los formatos PCAP y PCAP-NG
- En esta clase nos enfocamos en el formato PCAP porque
tcpdumppuede leerlo
![]() |
|---|
Asegúrate de no activar la casilla de gzip
![]() |
|---|
Verifica que tu captura de tráfico esté guardada
![]() |
|---|
![]() |
|---|
Guardando los paquetes seleccionados con un filtro de despliegue#
Escribe el filtro de despliegue en el campo para limitar los paquetes que se muestran en la interfaz
![]() |
|---|
Accede al menú para exportar los paquetes especificados
![]() |
|---|
Establece los parámetros para guardar en formato PCAP sin comprimir con GZIP
- Selecciona
All packetsyDisplayedpara guardar los paquetes que se muestran con tu filtro de despliegue
Note
Asegúrate de no activar la casilla de gzip
![]() |
|---|
Verifica que tu captura de tráfico esté guardada
![]() |
|---|
tcpdump#
Es un programa que permite capturar tráfico de red utilizando la línea de comandos. Permite visualizar los paquetes que son capturados y soporta imprimir el contenido de capturas de tráfico en formato PCAP.
Warning
- El programa
tcpdumpsólo soporta el formato PCAP - En esta clase nos enfocamos en el formato PCAP
Instalación de tcpdump#
Utilizar el gestor de paquetes para instalar tcpdump
root@debian:~# apt install tcpdump
Convertir captura PCAP a TEXTO#
Convierte manualmente el
Obtén manualmente la representación en TEXTO de la captura de tráfico en formato PCAP:
tonejito@debian:~$ tcpdump -envvvXXr captura.pcap |& tee captura.pcap.txt
Convertir PCAP a TEXTO utilizando el script#
Utiliza el script convierte-captura.sh para obtener la representación en TEXTO de tu captura en formato PCAP:
tonejito@debian:~$ ./convierte-captura.sh captura-arp.pcap
touch "${TEXT_FILE}"
+ touch captura-arp.pcap.txt
truncate --size=0 "${TEXT_FILE}"
+ truncate --size=0 captura-arp.pcap.txt
tcpdump -envvvXXr "${PCAP_FILE}" |& tee "${TEXT_FILE}"
+ tcpdump -envvvXXr captura-arp.pcap
+ tee captura-arp.pcap.txt
reading from file captura-arp.pcap, link-type EN10MB (Ethernet), snapshot length 262144
21:59:01.822644 08:00:27:2e:63:f9 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Ethernet (len 6), IPv4 (len 4), Request who-has 10.0.2.15 tell 10.0.2.15, length 28
0x0000: ffff ffff ffff 0800 272e 63f9 0806 0001 ........'.c.....
0x0010: 0800 0604 0001 0800 272e 63f9 0a00 020f ........'.c.....
0x0020: 0000 0000 0000 0a00 020f ..........
... ... ...
ls -lArt "${PCAP_FILE}" "${TEXT_FILE}"
+ ls -lArt captura-arp.pcap captura-arp.pcap.txt
-rwxr-x--- 1 tonejito users 1302 Nov 26 22:54 captura-arp.pcap
-rw-r--r-- 1 tonejito users 7724 Nov 26 23:18 captura-arp.pcap.txt
file "${PCAP_FILE}" "${TEXT_FILE}" || true
+ file captura-arp.pcap captura-arp.pcap.txt
captura-arp.pcap: pcap capture file, microsecond ts (little-endian) - version 2.4 (Ethernet, capture length 262144)
captura-arp.pcap.txt: ASCII text
Referencias#
Sitio web de WireShark
Wiki de WireShark
Documentación
- https://www.wireshark.org/docs/
- https://www.wireshark.org/docs/wsug_html/
- https://www.wireshark.org/download/docs/Wireshark%20User%27s%20Guide.pdf
- https://www.wireshark.org/download/docs/Wireshark%20User%27s%20Guide.epub
Páginas de manual
Filtros de captura
Filtros de despliegue
Referencia de filtros de despliegue
Lista de reproducción con videos sobre WireShark elaborada por HackerSploit



























