systemadmin.es > Redes > tshark – Filtros de Wireshark por linea de comandos

tshark – Filtros de Wireshark por linea de comandos

Para procesar capturas de red se puede hacer mediante tcpdump con los típicos sort, grep, awk… Pero mediante la versión de linea de comandos de Wireshark podemos aprovechar los filtros por protocolo que éste dispone. Vamos a ver como utilizar tshark:

Primero de todo tenemos algunas opciones similares al tcpdump para indicar que es lo que queremos capturar, por ejemplo:

  • -n: Deshabilitamos la resolución de nombres
  • -i: Indicamos la interfaz dónde queremos capturar datos

Además de los típicos filtros, por ejemplo ‘port 80

# tshark -ni eth0 'port 80'
Running as user "root" and group "root". This could be dangerous.
Capturing on eth0
  0.000000   10.10.10.1 -> 10.10.10.118 TCP 37804 > 80 [SYN] Seq=0 Win=5840 Len=0 MSS=1460 TSV=3860586377 TSER=0 WS=7
  0.000304 10.10.10.118 -> 10.10.10.1   TCP 80 > 37804 [SYN, ACK] Seq=0 Ack=1 Win=5792 Len=0 MSS=1460 TSV=976474584 TSER=3860586377 WS=7
  0.000314   10.10.10.1 -> 10.10.10.118 TCP 37804 > 80 [ACK] Seq=1 Ack=1 Win=5888 Len=0 TSV=3860586378 TSER=976474584
  0.000337   10.10.10.1 -> 10.12.10.118 HTTP GET http://img.systemadmin.es/images/web/logo.gif HTTP/1.0 
  0.000754 10.12.50.118 -> 10.12.80.1   TCP 80 > 37804 [ACK] Seq=1 Ack=154 Win=6912 Len=0 TSV=976474585 TSER=3860586378

Con lo cual obtenemos sólo una especie de tcpdump, la parte interesante viene por los filtros de visualización que podemos aplicar. Si miramos en el Wireshark los filtros veremos que disponemos opciones sobre una gran cantidad de protocolos, por ejemplo para HTTP:

Filtros HTTP de Wireshark

Filtros HTTP de Wireshark

Con las opciones anteriores podemos añadir la opción -R para los filtros de visualización, por ejemplo para ver todas las peticiones HTTP GET podemos usar el filtro http.request.method == “GET”

# tshark -ni eth0 'tcp port 80' -R 'http.request.method == "GET"'
Running as user "root" and group "root". This could be dangerous.
Capturing on eth0
  0.006256 172.16.1.111 -> 10.10.10.1   HTTP GET /nagios/cgi-bin/status.cgi?host=all HTTP/1.1 
  0.266312 172.16.1.111 -> 10.10.10.1   HTTP GET /nagios/stylesheets/common.css HTTP/1.1 
  0.266451 172.16.1.111 -> 10.10.10.1   HTTP GET /nagios/stylesheets/status.css HTTP/1.1 
  0.297099 172.16.1.111 -> 10.10.10.1   HTTP GET /nagios/images/up.gif HTTP/1.1 
  0.297299 172.16.1.111 -> 10.12.80.1   HTTP GET /nagios/images/down.gif HTTP/1.1 

En el caso que lo hiciéramos con el Wireshark obtendríamos un resultado similar:

Ejemplo filtro HTTP con Wireshark

Ejemplo filtro HTTP con Wireshark

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>