Wireshark
Sitio: | Facultad de Ingeniería U.Na.M. |
Curso: | Redes II - IC421 |
Libro: | Wireshark |
Imprimido por: | Invitado |
Día: | miércoles, 4 de diciembre de 2024, 23:34 |
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 interfase. 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 simultáneas, 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
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 únicamente 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.
host www.example.com and not (port 80 or port 25)
host 172.18.5.4
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 click en el ícono 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.
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 más 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