Este artículo es fruto de algunos correos y algún comentario relativo a como filtrar en Wireshrak.
Wireshark contempla dos tipos de Filtros. Filtros de capura y Filtros de visualización. Como ya hemos comentado en otras ocasiones, en Wireshark para los filtros de captura podemos hacer uso de la ya aprendido en los filtros TCPDump / Windump, ya que usa la misma libreria pcap.
Los filtros de captura (Capture Filter) son los que se establecen para mostrar solo los paquetes de cumplan los requisitos indicados en el filtro.
Los filtros de visualización (Display Filer) establecen un criterio de filtro sobre las paquetes capturados y que estamos visualizando en la pantalla principal de Wireshark. Estos filtros son mas flexibles y pontentes.
Vamos a estudiar cada uno de ellos.
Filtros de Captura (Capture Filter)
Estos filtros están basados en las librerías pcap. Los filtros son los mismos que podemos aplicar para Windump / TCPDump y que hemos visto aquí.
Así pues, para estos filtros, solo estudiaremos algunos ejemplos y como aplicarlos a Wireshark.
Los filtros de captura son los que se establecen para mostrar solo los paquetes de cumplan los requisitos indicados en el filtro. Si no establecemos ninguno, Wireshark capturará todo el tráfico y lo presentará en la pantalla principal. Aún así podrémos establecer filtros de visualización (display filter) para que nos muestre solo el trafíco deseado.
Se aplican en Capture > Options:
En el campo Capture Filter introducimos el filtro o pulsamos el botón Capture Filter para filtros predefinidos:
Sintaxis de los Filtros y ejemplos de Filtros de captura.
Combinación de Filtros.
Podemos combinar las primitivas de los filtros de la siguiente forma:
- Negación: ! ó not
- Unión o Concatenación: && ó and
- Alternancia:|| ó or
Vamos ahora a los filtros:
Filtros basados en hosts
|
|
---|---|
Sintaxis | Significado |
host host | Filtrar por host |
src host host | Capturar por host origen |
dst host host | Capturar por host destino |
Ejemplos | |
host 192.168.1.20 | Captura todos los paquetes con origen y destino 192.168.1.20 |
src host 192.168.1.1 | Captura todos los paquetes con origen en host 192.1681.1 |
dst host 192.168.1.1 | Captura todos los paquetes con destino en host 192.168.1.1 |
dst host SERVER-1 | Captura todos los paquetes con destino en host SERVER-1 |
host http://www.terra.com | Captura todos los paquetes con origen y distino http://www.terra.com |
Filtros basados en puertos
|
|
Sintaxis | Significado |
port port
|
Captura todos los paquetes con puerto origen y destino port
|
src port port
|
Captura todos los paquetes con puerto origen port
|
dst port port
|
Captura todos los paquetes con puerto destino port
|
not port port
|
Captura todos los paquetes excepto origen y destino puerto port
|
not port port and not port port1
|
Captura todos los paquetes excepto origen y destino puertos port y port1
|
Ejemplos | |
port 21
|
Captura todos los paquetes con puerto origen y destino 21
|
src port 21
|
Captura todos los paquetes con puerto origen 21
|
not port 21 and not port 80
|
Captura todos los paquetes excepto origen y destino puertos 21 y 80
|
portrange 1-1024
|
Captura todos los paquetes con puerto origen y destino en un rango de puertos 1 a 1024
|
dst portrange 1-1024 | Captura todos los paquetes con puerto destino en un rango de puertos 1 a 1024 |
Filtros basados en protocolos Ethernet / IP
|
|
Ejemplos | |
ip | Captura todo el trafico IP |
ip proto \tcp | Captura todos los segmentos TCP |
ether proto \ip | Captura todo el trafico IP |
ip proto \arp | Captura todo el trafico ARP |
Filtros basados en red
|
|
Sintaxis | Significado |
net net | Captura todo el trafico con origen y destino red net |
dst net net | Captura todo el trafico con destino red net |
src net net | Captura todo el trafico con origen red net |
Ejemplos
|
|
net 192.168.1.0 | Captura todo el trafico con origen y destino subred 1.0 |
net 192.168.1.0/24 | Captura todo el trafico para la subred 1.0 mascara 255.0 |
dst net 192.168.2.0 | Captura todo el trafico con destino para la subred 2.0 |
net 192.168.2.0 and port 21 | Captura todo el trafico origen y destibo puerto 21 en subred 2.0 |
broadcast | Captura solo el trafico broadcast |
not broadcast and not multicast | Captura todo el trafico excepto el broadcast y el multicast |
Aunque son filtros con ejemplos para Windump y TCPdump, los siguientes estudis de filtros avanzados se puedan aplicar sin problemas en Wireshark. Filtros avanzados aquí, aquí y aquí.
Filtros de Visualización (Display Filter)
Los filtros de visualización establecen un criterio de filtro sobre las paquetes que estamos capturano y que estamos visualizando en la pantalla principal de Wireshark. Al aplicar el filtro en la pantalla principal de Wireshark aparecerá solo el trafíco filtrado a través del filtro de visualización.
Lo podemos usar también para filtrar el contenido de una captura a través de un fichero pcap ( archivo.pcap ).
Comparando Filtros.
- Igual a: eq ó ==
- No igual: ne ó !=
- Mayor que:gt ó >
- Menor que: lt ó <
- Mayor o igual: ge ó >=
- Menor o igual: le ó <=
Combinando Filtros.
- Negación: ! ó not
- Unión o Concatenación: && ó and
- Alternancia:|| ó or
Otro operadores.
- Contains: Realizamos una busqueda por la cadena contains
Como aplicar los Filtros.
Si queremos aplicar otro filtro pulsamos el botón Clear, introducimos el filtro y pulsamos Apply.
Ejemplos de filtros:
Filtros de visualización
|
|
---|---|
Ejemplos | |
Sintaxis | Significado |
ip.addr == 192.168.1.40 | Visualizar tráfico por host 192.168.1.40 |
ip.addr != 192.168.1.25 | Visualizar todo el tráfico excepto host 192.168.1.25 |
ip.dst == 192.168.1.30 | Visualizar por host destino192.168.1.30 |
ip.src == 192.168.1.30 | Visualizar por host origen 192.168.1.30 |
ip | Visualiza todo el tráfico IP |
tcp.port ==143 | Visualiza todo el tráfico origen y destino puerto 143 |
ip.addr == 192.168.1.30 and tcp.port == 143 | Visualiza todo el tráfico origen y destino puerto 143 relativo al host 192.168.1.30 |
http contains «http://www.terra.com« | Visualiza el trafico origen y destino http://www.terra.com. Visualiza los paquetes que contienen http://www.terra.com en el contenido en protocolo http. |
frame contains «@miempresa.es» | Visualizamos todos los correos con origen y destivo al dominio miempresa.es, incluyendo usuarios, pass, etc |
icmp[0:1] == 08 | Filtro avanzado con el que visualizamos todo el tráfico icmp de tipo echo request |
ip.ttl == 1 | Visualiza todo los paquetes IP cuyo campo TTL sea igual a 1 |
tcp.windows_size != 0 | Visualizar todos los paquetes cuyos campo Tamaño de Ventana del segmento TCP sea distinto de 0 |
ip.tos == x | Visualiza todo los paquetes IP cuyo campo TOS sea igual a x |
ip.flags.df == x | Visualiza todo los paquetes IP cuyo campo DF sea igual a x |
udp.port == 53 | Visualiza todo el trafico UDP puerto 53 |
tcp contains «terra.com» | Visualizamos segmentos TCP conteniendo la cadena terra.com |
Hola,
Me parece increible la cantidad de información útil que nos ofreces en tu blog. Yo he aprendido infinidad de cosas con él. Muchas gracias.
Una pregunta que quería hacerte. He estado leyendo el artículo sobre donde poner un sniffer en una lan para olisquear todo el tráfico. En mi situación lo que yo estoy haciendo ahora es correr wireshark en mi máquina y cambiar la dirección del gateway y yo suplantar al gateway, pero esto deja sin inet a todos los de mi lan. Hay alguna posibilidad de poder montar facilmente un proxy o algo en mi máquina para q esto sea transparente?.
Gracias por adelantado,
HexDump.
Buen artículo, estaba buscando justo este tipo de información ya que el creador de expresiones es poco intuitivo a mi juicio 🙂
Antes que nada agradecerte las aportaciones.
Un saludo
Rolando
Gracias por tus comentarios y por leer mi blog Rolando.
Pues si RuBiCK, lo mejor es tener los conceptos claros y prescindir de ese tipo de ayudas.
hola.
mi duda es la siguiente, como interactua el protocolo tlsv1 con wireshark, es decir afecta al tratar de decifrar algunas contraseñas comunes y como es posible adaptar este protocolo al funcionamiento de wireshark para evitar problemas de desifrado.
Mira este enlace: http://support.citrix.com/article/CTX116557
Hace un tiempo que no me pasaba por aquí, una alegría ver que vuelve a tener vida tu blog.
Como siempre, aprendiendo cosas nuevas gracias a ti.
Saludos
Gracias Fran. Nadia, el enlace de Securata te puede servir.
Hola, muy buen articulo , ya estoy manejando cada vez mejor Wireshark con estas explicaciones y que mejor que en español!
Pero creo que hay un error en la ultima tabla de ejemplos.
Dice:
ip.dst == 192.168.1.30 Visualizar por host origen 192.168.1.30
Deberia decir:
ip.dst == 192.168.1.30 Visualizar por host destino 192.168.1.30
Lo mismo para ip.src -> visualizar por host origen
Espero estar en lo correcto.
Saludos
Si, estás en lo correcto. Gracias Jaime. En la próxima revisión (Lunes) lo arrgelo.
Gracias por tu comentario. Hay algún error más de ortografía.
muy buena, pero lo practicare, como encuentro el nombre de la red: se trata de inalambrica, como identifico el nombre; hay alguna manera que pueden encontrar usuario y password de mikrotik, estamos muy preocupados, pensábamos que muy seguro. gracias
Hola interesante tu block, tu crees que me puedes ayudar, administro una pequeña red de 24 pc, con dos lineas de internet llega momentos que la red se nota pesada. Bueno ahi va la pregunta como ver quien esta descargado p2p, quien esta biendo porno,IP POR GENERACIÓN DE SPAM,en conclusion quien esta abusando de la red. Te agradeceria de antemano cualquier sugerencia.
Atte.
Nicolas
Nicolas, hay un artículo en el blog que habla precisamente del p2p. De todas repasa los artículos del blog porque en muchos de ellos de habla de como detectar máquinas con mucho volumen de tráfico.
Ok. gracias voy a revisar
Sorprendente pagina y excelente información. muxas Gracias
Hola Alfon, no se si me puedas ayudar, espero que si. Estoy enviando un video de una pc a otra en una wan(ancho de banda disponible 1.93Mbits), y uso el filtro udp.port==1234 en Wireshark para evaluar lo que se transmite por la interface inalambrica.
Cuando solo envio el video, Wireshark me dice que no hay paquetes perdidos, y me parece bien pero cuando saturo al 100% la red con trafico virtual (por el puerto 9031 con DITG) y envio el video (por el puerto 1234 con VLC) , Wireshark me dice que no hay paquetes perdidos, lo cual no es correcto.
Uso la configuracion basica de Wireshark para la captura, podrias decirme si debo configurar algo mas???
Gracias por lo que puedas hacer por mi…
Luisiana,
– En una red inalámbrica seguro que hay pérdidas… en una red cableada, vamos a ver:
– En que condiciones usas D-ITG. Es decir, qué parámetros estás usando.
– Las pruebas debes hacerla varias veces para asegurar mejor los resultados.
– Asumimos una conf. wireshark por defecto.
– Línea de comandos para D-ITG tanto para cliente como servidor.
– Mira a ver las gráraficas wireshark y establece filtros para perdidas, retransmisiones, etc.
Y ya vamos viendo.
Saludos,
Amigo Alfón, en primer lugar felicitarte por esta página que, de seguro, me va a aportar muchas cosas. Actualmente no tengo mucho conocimiento de la materia pero estoy deseoso de aprender esa magnífica herramienta de análisis que es WireShark. Echando un vistazo a los filtros de captura y visualización he intentado buscar la sintaxis correcta para, bien desde las opciones de captura o desde la posterior visualización, hacer lo siguiente: quería aplicar filtros a los siguientes host: http://www.google.es y https://www.google.com (conjuntamente) para mostrar primeramente sólo el tráfico HTTP. ¿Qué sería mejor, filtrar en la captura por los puertos o filtrar por los host? ¿Como filtro el host https en captura y en visualización?
Luego quería hacer lo propio pero capturarndo todo el tráfico excepto HTTP y ARP pero también me ha fallado la experiencia. Y para rematar luego queria capturar el tráfico con origen o destino en los puertos 80 y 443. Sé que en el filtro de la captura podría poner algo así como «port 80 and port 443» ¿pero como le añado al filtro los dos host, en esa misma captura o mejor en la visualización con otro filtro? En fin, para ser mi primera experiencia con esta herramienta tengo muchas dudas que debo pulir, empezando por aplicar bien los operadores lógicos, que me siguen liando. Por favor, algún consejo. Otra cuestión que me gustaría preguntarte es sobre la herramienta, o mejor dicho plugin de IE «IEWatch», que he escuchado que permite visualizar sin más que visitar una página web, incluso https, el contenido de la misma, pudiendo ver incluso las cookies, ¿pero sobre una página https supongo que sólo se podrá visualizar el contenido no encriptado o me equivoco? Por otro lado Wireshark podría analizar el contenido de los paquetes con origen/destino el puerto 443 -https-?. Como puedes comprobar soy un mar de dudas.
Muchas gracias por todo (espero que mi poca experiencia no provoque muchas risas), y cordiales saludos,
Juan Miguel
Pingback: Análisis de red con Wireshark. Filtros de captura y visualización « Networking
buenos dias tengo una duda tengo el wireshark actual y intento aplicar el filtro http contains pongo el link de facebook y me genera en la barra donde se introduce el filtro que quieres se pone en en color verde osea de que esta bien y lo aplico y no me lanza ningun password ni email que podria ser ?
Buenas! Soy medio nuevo usando el Wireshark y no logro capturar paquetes de otras PC´s a no ser los protocolos (NBNS, ARP, LLMNR, BROWSER) La idea es poder ver los HTTP, TCP.
Les cuento que tengo una red cableada, por eso no meti este tema en «Wireshark Wireless » , espero que sea el lugar adecuado para realizar la pregunta ya que en ningun lado de este foro encontre la respuesta.
Tengo una red cableada como les dije antes con una PC que hace de firewall, todas las PC win. y desde una notebook cableada no por wifi estoy corriendo el Wireshark en modo Promiscuo pero no logro ver los protocolos antes mencionados.
limpie la table de arp. Lo que no se si mi placa de red ethernet «tengo una LAN cableada» la tengo que forzar desde mi windows para que trabaje en modo promiscuo o monitor.
Vi que muchos tienen el mismo problema en este foro pero ninguna solucion.
Ojala me puedan ayudar y gracias por leer mi post!!!!
¡Hey ayuda! e esado escribiendo http contains y no me aparece nada solo un mensaje que dice que «contains » no es un filtro correcto etc. que podria hacer aquí?