Wireshark

Sitio: Facultad de Ingeniería U.Na.M.
Curso: Redes II - IC421
Libro: Wireshark
Imprimido por: Invitado
Día: miércoles, 3 de julio de 2024, 06:19

1. Introducción

Esta es una pequeña guía de uso del Wireshark con cuestiones básicas.

Wireshark es una herramienta de análisis de paquetes de código abierto disponible para Linux y otras plataformas. Se utiliza para examinar paquetes de red para la solución de problemas, el desarrollo y la seguridad. La herramienta Wireshark es compatible con prácticamente todos los sistemas operativos, incluidos Ubuntu, Debian, Arch Linux, Fedora, OpenSUSE

2. Iniciar el Programa

Desde Linux para poder poner la placa en modo promiscuo deberemos tener los permisos necesarios , una manera fácil de lograr esto es ejecutar la aplicación como root, esta es la mas sencilla,  a modo de ejemplo con sudo:


Existen varias opciones de instalar en Linux el Wireshark, se deja al alumno googlear sobre la manera de instalar que prefiera, como así también para el caso de que tenga otro Sistema Operativo.

La interfase de Wireshark antes de empezar a capturar paquetes de la red lucirá de la siguiente manera.

Hacemos click en el boton para configurar la interface. una vez que seleccionamos la correcta de la placa que queremos capturar. hacemos click en Iniciar. En la ventana vemos otras pestañas como la de Opciones para configurar ciertos parámetros de la captura pero que por el momento no serán utilizados.

Podemos también realizar capturas de interfaces simultaneas, por ejemplo capturar lo que pasa por la red cableada y la red inalámbrica.

 Una vez que iniciamos la captura, el programa va capturando y mostrando los resultados en tiempo real, hasta que paramos la captura. Podemos observar que aparecen tres secciones en la pantalla. En la superior, todas los paquetes capturados con información del tipo origen, destino, protocolo,
etc. Estos haciendo un "click" en campo correspondiente se pueden ordenar de acuerdo al lo necesario (source, Destination , Protocol, etc)
En la ventana inferior podemos ver a nivel mas bajo en valores hexadecimales el contenido del paquete o trama.

 

 

Esquema de color en líneas

Cuando un usuario ve la operación del Wirehark por primera vez, se preguntará qué significan los colores en la salida. En general y por defecto, las líneas significan:

  • Verde: HTTP
  • Morada claro: tráfico TCP
  • Azul claro: tráfico UDP, DNS
  • Negro: segmentos TCP problemáticos
Lógicamente estos colores se pueden personalizar  o  cambiar.

3. Uso de Filtros

En Wireshark tenemos dos tipos de filtros de información. Estos se diferencian en lo siguiente:

El filtro denominado filtro de captura (capture filter) nos permite realizar solamente la captura de los paquetes de interés dado por una condición, es decir filtrar los paquetes a medida que se capturan.

Mientras que el segundo filtro de visualización (display filter) trabaja sobre la lista de paquetes ya capturados, mostrando unicamente los resultados de interés.

Podemos emplear ambos filtros en simultaneo o solo uno de ellos, a pesar de que se utilizan mediante un comandos,cabe aclarar que no emplean la misma sintaxis.

3.1. filtro de visualizacion

Como dijimos, se emplean para limitar el contenido de lo visualizado a lo que nosotros necesitamos

  • Podemos por ejemplo filtrar trafico especifico de un puerto. 
    tcp.port == 80
  • Podemos utilizar  ip.addr

Con este último filtro capturamos todos los correos con origen y destino
al dominio @hotmail.com, incluyendo usuarios, pass, etc.

ip.addr == xxx.xxx.xxx.xxx Con esta notación le decimos a wireshark que
capture todos los paquetes con origen y destino con esa IP.

ip.scr == xxx.xxx.xxx.xxx Capturar con esta IP como origen.

ip.dst == xxx.xxx.xxx.xxx con esta última notación capturamos los paquetes con esa IP de destino.

Podemos usar también el operador != (que no sea igual a).

También podemops usar filtros que en vez de especificar IP, especifique direcciones Ethernet con eth.

También lo operadores lógicos como OR(||) y AND (&&)

ip.scr==80.x.x.x or ip.src==200.80.x.x.

ip.scr == 192.168.0.10 and ip.dst == 192.168.0.25

  • Podemos utilizar operadores mayor y menor que > <, pero tener en cuenta que compara la ip como un numero entero

 192.168.24.252 es menor a 192.168.25.100

rango de ip    ip.scr >= 192.168.24.100 and ip.scr < 192.168.24.200


mas información sobre los filtros https://wiki.wireshark.org/DisplayFilters.


3.2. Filtros de captura

Como dijimos este filtro se ejecuta antes de capturas los paquete. y cambia la sintaxis de lo mismos.


Para capturar trafico de un puerto especifico, por ejemplo el 20, en este caso seria: port 20

Capturar trafico diferente a HTPP y SMTP
host www.example.com and not (port 80 or port 25)

trafico desde y hacia una red determinada:

host 172.18.5.4

trafico de una red determinada

net 192.168.0.0/24


Escribir un filtro de captura

Empecemos por el filtro de captura. Puedes encontrar el filtro de captura en la primera pantalla después de iniciar Wireshark:

El filtro se aplicará a la interfaz seleccionada. Otra forma es utilizar el menú Captura y seleccionar el submenú Opciones (1).

También puedes hacer clic en el icono del engranaje (2), en cualquiera de los casos, aparecerá la siguiente ventana:


En la caja de texto etiquetada como «Introduce un filtro de captura», podemos escribir nuestro primer filtro de captura


En la wiki oficial de wireshark podemos obtener  (https://wiki.wireshark.org/CaptureFilters), estos filtros se configuran antes de realizar la captura e

3.3. Flujos TCP

Como Ud. sabe en capa 4 se pueden estableces sesiones con el protocolo TCP, esto se conoce como flujos. En Wireshark se puede poner un filtro que permita visualizar TODOS los intercambios de información correspondientes a una sesión TCP, eso se conoce como Follow TCP Stream y permite ver desde el handshake de inicio hasta el fin-ack de la sesión.

Para hacer esto se tiene que saber el nro. de secuencia ( relativo) , veamos un ejemplo.

La manera mas sencilla de hacerlo, es marcar un segmento TCP y luego click con el botón derecho del mouse y seleccionamos seguir -> secuencia TCP, tal como se muestra en la imagen:

Lo que se visualiza, lógicamente no es mucho, ya que la sesión es encriptada ( puerto 443) , pero si se elije filtrar la visualización al flujo que queremos, se puede ver los intercambios que pretendíamos.

Este intercambio se realizó contra una IP v6 de la UNAM


Otorgada por LACNIC