En anteriores entregas;
Presentación | Parte 1 | Parte 2 | Parte 3
Estadísticas en Tshark.
La estadísticas en Tshark, nos informarán del uso de la red, protocolos involucrados en las capturas y estádisticas de uso, comunicaciones entre hosts, etc. Además podemos aplicar filtros a las estádisticas, de tal forma que la información obtenida por ellas es altamente personalizable y flexible.
Existe gran variedad de tipos de estádisticas a mostrar por Tshark: protocolos, comunicaciones entre hosts, estádisticas de direcciones de destino, estadísticas SMB, por longitud de paquetes, HTTP, etc y todo ello aplicando intervalos de tiempo para mostrar los resultados y filtros de captura. Se muestra también información de ratios y porcentajes.
El comando que invoca a las estadísticas es -z. vamos a ver, a continuación, los tipos de estádisticas y ejemplos. Si añadimos -q no apareceran las capturas en pantalla, solo las estadisticas tras pulsar Control+C.
Vamos a ver, a continuación, uno por uno los tipos de estádisticas.
Estadísticas de protocolo.
Sintáxis: -z io,stat,intervalo, filtro,filtro,
Nos muestra información de número de paquetes / frames capturados en un intervalo determinado de tiempo. Podemos aplicar un filtro o varios filtros.
Ejemplo sin aplicación de filtro:
>tshark -i2 -nqzio,stat,5 Capturing on 3Com EtherLink PCI (Microsoft's Packet Scheduler) 3244 packets captured =================================================================== IO Statistics Interval: 5.000 secs Column #0: | Column #0 Time |frames| bytes 000.000-005.000 23 8140 005.000-010.000 150 31724 010.000-015.000 96 31060 015.000-020.000 78 19897 020.000-025.000 32 5945 025.000-030.000 1212 580278 030.000-035.000 439 209404 035.000-040.000 1170 755060 040.000-045.000 3 174 045.000-050.000 7 408 050.000-055.000 15 1112 055.000-060.000 2 126 060.000-065.000 2 120 065.000-070.000 4 278 070.000-075.000 0 0 075.000-080.000 3 404 080.000-085.000 2 120 085.000-090.000 6 336 ===================================================================
Ahora vamos a aplicar filtros. Al aplicarlos, la información se nos mostrará en pantalla en varias columnas. Se mostrará mostrará el letrero de las columnas con el filtro aplicado:
- Column #0 filtro por ip
- Column #1 filtro por tcp
- Column #2 filtro por icmp
- olumn #3 tcp.port == 80
Quedará de esta forma: tshark -i2 -nqzio,stat,1,ip,tcp,icmp,«tcp.port eq 80»
Lo vemos en el ejemplo:
>tshark -i2 -nqzio,stat,1,ip,tcp,icmp,"tcp.port eq 80" Capturing on 3Com EtherLink PCI (Microsoft's Packet Scheduler) 170 packets captured =================================================================== IO Statistics Interval: 1.000 secs Column #0: ip Column #1: tcp Column #2: icmp Column #3: tcp.port eq 80 | Column #0 | Column #1 | Column #2 | Column #3 Time |frames| bytes |frames| bytes |frames| bytes |frames| bytes 000.000-001.000 1 174 0 0 0 0 0 0 001.000-002.000 0 0 0 0 0 0 0 0 002.000-003.000 0 0 0 0 0 0 0 0 003.000-004.000 2 184 0 0 0 0 0 0 004.000-005.000 4 368 0 0 0 0 0 0 005.000-006.000 2 335 0 0 0 0 0 0 006.000-007.000 18 9163 17 9071 0 0 17 9071 007.000-008.000 18 7984 17 7892 0 0 17 7892 008.000-009.000 0 0 0 0 0 0 0 0 009.000-010.000 18 4487 18 4487 0 0 18 4487 010.000-011.000 25 4680 25 4680 0 0 25 4680 011.000-012.000 13 6826 11 6642 0 0 11 6642 012.000-013.000 43 24733 43 24733 0 0 43 24733 013.000-014.000 3 383 3 383 0 0 3 383 014.000-015.000 0 0 0 0 0 0 0 0 015.000-016.000 0 0 0 0 0 0 0 0 016.000-017.000 0 0 0 0 0 0 0 0 017.000-018.000 0 0 0 0 0 0 0 0 018.000-019.000 1 68 0 0 0 0 0 0 019.000-020.000 3 232 0 0 2 148 0 0 020.000-021.000 2 148 0 0 2 148 0 0 021.000-022.000 2 148 0 0 2 148 0 0 022.000-023.000 3 240 0 0 2 148 0 0 ===================================================================
Estadísticas de Jerarquía de protocolo.
Sintáxis: -z io,phs,filtro
Nos muestra información de los protocolos involucrados en la captura. Podemos aplicar un filtro.
Sin filtro se mostrarán todos los protocolos involucrados en la captura. Tenemos información de protocolos, frames capturados y bytes.
Ejemplo:
>tshark -i2 -nqzio,phs Capturing on 3Com EtherLink PCI (Microsoft's Packet Scheduler) 1252 packets captured =================================================================== Protocol Hierarchy Statistics Filter: eth frames:1252 bytes:696887 arp frames:1 bytes:60 msnlb frames:2 bytes:132 ip frames:1249 bytes:696695 udp frames:70 bytes:8227 dns frames:70 bytes:8227 tcp frames:1179 bytes:688468 http frames:51 bytes:40050 tcp.segments frames:39 bytes:22059 http frames:39 bytes:22059 data-text-lines frames:15 bytes:9713 image-jfif frames:19 bytes:10666 image-gif frames:2 bytes:1321 png frames:1 bytes:201 data frames:3 bytes:181 ===================================================================
Con filtro se mostrarán solo los protocolos aplicados mediante filtro.
– solo los paquetes que contienen el protocolo arp.
>tshark -i2 -nqzio,phs,arp Capturing on 3Com EtherLink PCI (Microsoft's Packet Scheduler) 46 packets captured =================================================================== Protocol Hierarchy Statistics Filter: arp eth frames:10 bytes:600 arp frames:10 bytes:600 ===================================================================
– resumen de protocolos involucrados en el tráfico con destino puerto tcp 80
>tshark -i2 -nqzio,phs,"tcp.port == 80" Capturing on 3Com EtherLink PCI (Microsoft's Packet Scheduler) 626 packets captured =================================================================== Protocol Hierarchy Statistics Filter: tcp.port == 80 eth frames:591 bytes:134759 ip frames:591 bytes:134759 tcp frames:591 bytes:134759 http frames:150 bytes:83891 tcp.segments frames:34 bytes:12694 http frames:34 bytes:12694 data-text-lines frames:29 bytes:10598 png frames:1 bytes:201 image-gif frames:2 bytes:1397 ===================================================================
– indicamos mediante filtro el tráfico con destino a una IP determinada. Observamos que existe tráfico SSL, además añadimos otra estadística para puerto tcp 80 y para ambas una duración de la captura de 30 segundos:
>tshark -i2 -nqzio,phs,"ip.dst eq 192.168.100.241" -aduration:30 -zio,phs,"tcp.port eq 80" Capturing on 3Com EtherLink PCI (Microsoft's Packet Scheduler) 497 packets captured =================================================================== Protocol Hierarchy Statistics Filter: tcp.port eq 80 eth frames:365 bytes:105729 ip frames:365 bytes:105729 tcp frames:365 bytes:105729 http frames:58 bytes:32247 tcp.segments frames:12 bytes:3044 http frames:12 bytes:3044 data-text-lines frames:4 bytes:2390 image-gif frames:5 bytes:474 =================================================================== =================================================================== Protocol Hierarchy Statistics Filter: ip.dst eq 192.168.100.241 eth frames:38 bytes:3641 ip frames:38 bytes:3641 tcp frames:38 bytes:3641 ssl frames:28 bytes:3101 ===================================================================
Estádistica de comunicación entre hosts o conversación.
Sintáxis: -z conv,tipo,filtro
Nos devolverá información estádistica sobre comunicaciones o conversaciones entre hosts. nos informa también de las direcciones de flujo, frames,bytes y totales. Podemos establecer diferentes tipos:
- eth, fc, fddi, ip, ipx, tcp, tr, udp
Vamos a ver todo esto con ejemplos.
– conversaciones tcp, puerto 80, duración 30 segundos:
>tshark -i2 -aduration:30 -nqzconv,tcp,"tcp.port eq 80" Capturing on 3Com EtherLink PCI (Microsoft's Packet Scheduler) 167 packets captured ================================================================================ TCP Conversations Filter:tcp.port eq 80 | <- | | -> | | Total | | Frames Bytes | | Frames Bytes | | Frames Bytes | 192.168.1.5:5159 <-> 66.xxx.xxx.1:80 39 31863 24 4220 63 36083 192.168.1.5:5161 <-> 209.xxx.xxx.100:80 7 1517 11 3227 18 4744 192.168.1.5:5165 <-> 66.xxx.xxx.1:80 4 726 5 943 9 1669 192.168.1.5:5163 <-> 209.xxx.xxx.100:80 3 609 5 948 8 1557 =============================================================================– Estadísticas de conversaciones IP:
>tshark -i2 -nqzconv,ip Capturing on 3Com EtherLink PCI (Microsoft's Packet Scheduler) 300 packets captured ================================================================================ IPv4 Conversations Filter:<No Filter> | <- | | -> | | Total | | Frames Bytes | | Frames Bytes | | Frames Bytes | 192.168.100.241 <-> 192.168.1.5 97 9329 115 84426 212 93755 192.168.1.5 <-> 157.109.75.125 32 5402 23 2220 55 7622 192.168.1.255 <-> 192.168.1.38 2 335 0 0 2 335 192.168.1.249 <-> 192.168.1.5 1 74 1 124 2 198 192.168.1.255 <-> 192.168.1.333 1 92 0 0 1 92 192.168.1.255 <-> 192.168.1.193 1 243 0 0 1 243 192.168.1.255 <-> 192.168.1.231 1 92 0 0 1 92 ================================================================================Estádisticas HTTP.
Completo informe estádistico de transacciones http, códigos de error… También nos informa de redirecciones, errores de servidor, enlaces rotos, etc.
Tenemos varias formas de extraer la información:
- -z http,stat,filtro
- -z http,tree,filtro
- -z http_req,tree
- -z http_srv,tree
Los vemos todos con ejemplos. Que es la mejor forma de entenderlo.
http,stat
>tshark -nqzhttp,stat, -r 050608.pcap =================================================================== HTTP Statistics * HTTP Status Codes in reply packets HTTP 500 Internal Server Error HTTP 200 OK HTTP 204 No Content HTTP 206 Partial Content HTTP 404 Not Found HTTP 301 Moved Permanently HTTP 302 Moved Temporarily HTTP 303 See Other HTTP 304 Not Modified * List of HTTP Request methods GET 3774 HEAD 5 POST 11 ===================================================================
En este ejemplo (arriba) vemos unas estádisticas HTTP simples que nos informa de códigos de error HTTP y métodos, en este caso GET, HEAD y POST. Respecto a los códigos de error HTTP recordad que:
- 10x se refiere a mensajes de información. No usados ya en la versión 1.0 de HTTP.
- los códigos 20x se refieren a operaciones existosas.
- los códigos 30x son respuestas que indican que el recurso ya no se encuentra en la ubicación que se especificó en el método GET.
- 40x se refieren a solicitudes incorrectas. Son entonces errores de la petición formulada por el cliente desde el navegador.
- 50x aquí ocurre lo contrario, se refieren a errores del servidor.
Usamos el mismo archivo .pcap previamente guardado para que se vea mejor las diferencias, la forma de estructurar la salida de los datos a mostrar:
>tshark -nqzhttp,tree -r 050608.pcap =================================================================== HTTP/Packet Counter value rate percent ------------------------------------------------------------------- Total HTTP Packets 7779 0.000545 HTTP Request Packets 3790 0.000265 48.72% GET 3774 0.000264 99.58% POST 11 0.000001 0.29% HEAD 5 0.000000 0.13% HTTP Response Packets 3653 0.000256 46.96% ???: broken 0 0.000000 0.00% 1xx: Informational 0 0.000000 0.00% 2xx: Success 3070 0.000215 84.04% 200 OK 3038 0.000213 98.96% 204 No Content 31 0.000002 1.01% 206 Partial Content 1 0.000000 0.03% 3xx: Redirection 524 0.000037 14.34% 302 Found 90 0.000006 17.18% 303 See Other 16 0.000001 3.05% 301 Moved Permanently 7 0.000000 1.34% 304 Not Modified 411 0.000029 78.44% 4xx: Client Error 48 0.000003 1.31% 404 Not Found 48 0.000003 100.00% 5xx: Server Error 11 0.000001 0.30% 500 Internal Server Error 11 0.000001 100.00% Other HTTP Packets 336 0.000024 4.32% ===================================================================
http_srv,tree. HTTP Requests by Server.
>tshark -i2 -nqzhttp_srv,tree -R "ip.addr == 192.168.1.5" Capturing on 3Com EtherLink PCI (Microsoft's Packet Scheduler) 311 packets captured =================================================================== HTTP/Load Distribution value rate percent ------------------------------------------------------------------- HTTP Requests by Server 34 0.003065 HTTP Requests by Server Address 34 0.003065 100.00% 82.159.204.86 27 0.002434 79.41% www.daboweb.com 27 0.002434 100.00% 209.85.229.101 5 0.000451 14.71% www.google-analytics.com 5 0.000451 100.00% 76.74.255.123 2 0.000180 5.88% stats.wordpress.com 2 0.000180 100.00% HTTP Requests by HTTP Host 34 0.003065 100.00% www.daboweb.com 27 0.002434 79.41% 82.159.204.86 27 0.002434 100.00% www.google-analytics.com 5 0.000451 14.71% 209.85.229.101 5 0.000451 100.00% stats.wordpress.com 2 0.000180 5.88% 76.74.255.123 2 0.000180 100.00% HTTP Responses by Server Address 31 0.002795 82.159.204.86 25 0.002254 80.65% OK 22 0.001983 88.00% KO 3 0.000270 12.00% 209.85.229.101 4 0.000361 12.90% OK 4 0.000361 100.00% 76.74.255.123 2 0.000180 6.45% OK 2 0.000180 100.00% ===================================================================
http_req,tree. HTTP Requests by Host.
Abajo vemos informacion estadística respecto a dos servers.
>tshark -i2 -nqzhttp_req,tree -R "ip.addr == 192.168.1.5" Capturing on 3Com EtherLink PCI (Microsoft's Packet Scheduler) 203 packets captured =================================================================== HTTP/Requests value rate percent ------------------------------------------------------------------- HTTP Requests by HTTP Host 20 0.000895 www.tcptrace.org 6 0.000269 30.00% / 1 0.000045 16.67% /download.html 1 0.000045 16.67% /maillist.html 1 0.000045 16.67% /faq.html 1 0.000045 16.67% /index.html 1 0.000045 16.67% /news.html 1 0.000045 16.67% www.windump.org 1 0.000045 5.00% / 1 0.000045 100.00% www.winpcap.org 8 0.000358 40.00% / 1 0.000045 12.50% /images/airpcap.gif 1 0.000045 12.50% /winpcap.css 1 0.000045 12.50% /images/curve.gif 1 0.000045 12.50% /images/New.gif 1 0.000045 12.50% /images/cace_logo.gif 1 0.000045 12.50% /images/curvedown.gif 1 0.000045 12.50% /favicon.ico 1 0.000045 12.50% safebrowsing.clients.google.com 1 0.000045 5.00% /safebrowsing/downloads?client=navclient-auto-ffox&appver=3.6.9&pver=2.2&wrkey= AKEgNivBO14ILhuh4peedLZHd8iblHl1HOCiTwGFt4Ll-Lz5Cj-aceQ8XS1x1YkbIRUU 2ydow7ibxNZQn2zOQSrruSkQOm5F3g== 1 0.000045 100.00% safebrowsing-cache.google.com 4 0.000179 20.00% /safebrowsing/rd/ChNnb29nLW1hbHdhcmUtc2hhdmFyEAEYqKMCIKijAjIFqJEAAAE 1 0.000045 25.00% /safebrowsing/rd/ChNnb29nLW1hbHdhcmUtc2hhdmFyEAAY_sIBIP7CATIFfmEAAAE 1 0.000045 25.00% /safebrowsing/rd/ChFnb29nLXBoaXNoLXNoYXZhchABGMfmAyDI5gMqBUjzAAABMgVH8wAAAQ 1 0.000045 25.00% /safebrowsing/rd/ChFnb29nLXBoaXNoLXNoYXZhchAAGInuBiCK7gYqBQq3AQABMgUJtwEAAQ 1 0.000045 25.00% ===================================================================
Hasta aquí por hoy. Seguiremos con las estadísticas en el próximo capítulo.