A lo largos de todos estas años, desde el blog, hemos estudiado las muchas formas que tenemos de usar Tshark. Hemos visto artículos sobre Geolocalización GeoIP mediante Column format/proto.colinfo, análisis de eventos SMB/CIFS – Netbios, captura remota de paquetes, personalización Column format mediante %Cus y tcp.stream, filtrado frame/frame.protocols, estadísticas COUNT, SUM, MIN, MAX, AVG, filtros XML/RSS y estádisticas, filtros HTTP, detección de problemas en la red, análisis de correo SMTP, detección borrado ficheros de nuestra red, filtros y estádisticas, etc, etc.
En esta ocasión vamos a realizar un Follow TCP Stream pero no desde Wireshark, que sería lo normal, lo haremos desde Tshark mediante línea de comandos.
Estadísticas -z follow,tcp.
Hace y algunos años vimos, como realizar distintos tipos de estadísticas usando el comando -z, por ejemplo:
- -z http,stat,filtro
- -z http,tree,filtro
- -z http_req,tree
- -z http_srv,tree
En Tshark hay un tipo de estádistica que nos muestra información Follow TCP Stream. Lo normal sería realizarlo desde wireshak, lo vimos en el artículo Wireshark / Tshark. Capturando impresiones en red., Pero usando la forma -z follow, tcp,modo,filtro[,rango] podemos hacer lo mismo pero visualizando en la consola. De esta forma se mostrará el diálogo entre dos nodos (o,1) con información IP y puertos.
Un ejemplo muy simple sería:
tshark -r c:\pcap\gateway01.pcap -nqz «follow,tcp,hex,5»
el modo sería hexadecimal, aunque tenemos también ascii y formato raw. Indicamos también que el tcp.stream = 5.
C:\>tshark -r c:\pcap\gateway01.pcap -nqz "follow,tcp,hex,5" =================================================================== Follow: tcp,hex Filter: tcp.stream eq 5 Node 0: 192.168.1.245:13266 Node 1: 192.168.1.136:2565 00000000 5b 22 63 6f 6e 6e 65 63 74 45 78 70 69 72 65 64 ["connec tExpired 00000010 22 2c 20 6e 75 6c 6c 5d 2c 0a 5b 22 73 74 72 65 ", null] ,.["stre 00000020 61 6d 22 2c 20 7b 22 73 65 67 6d 65 6e 74 22 3a am", {"s egment": 00000030 20 31 30 34 7d 5d 0a 5d 0a 104}].] . ===================================================================
si lo queremos en ascii quedaría así.
C:\>tshark -r c:\pcap\gateway01.pcap -nqz "follow,tcp,ascii,5" =================================================================== Follow: tcp,ascii Filter: tcp.stream eq 5 Node 0: 192.168.1.245:13266 Node 1: 192.168.1.136:2565 57 ["connectExpired", null], ["stream", {"segment": 104}] ==================================================================
Un ejemplo más evidente:
Ahora un Follow TCP Stream, también en modo ascii, de una sesión FTP:
Aquí se ve claramente el dialogo en hexadecimal entre los dos nodos para una sesión Oracle:
Aplicando filtros.
Para visualizar la información de los stream, no es preciso indicar el stream que queremos procesar, es posible también aplicar filtros. Por ejemplo, queremos realizar un FTS para el «diálogo» entre nodos/IP/puertos siguientes:
192.168.250 puerto 3704 y 192.168.1.201 puerto 9100
Para ello:
tshark -r c:\pcap\captura4.pcap -qz "follow,tcp,ascii,192.168.1.250:3704,192.168.1.201:9100"
======
Y hasta aquí por hoy, hasta la próxima.
Felicidades por el blog, un gran trabajo!
Excelente aporte, crees que sea bueno que curse un postgrado como este http://www.ucenfotec.ac.cr/especialidades/especialidad-en-ciberseguridad.html?
Pingback: Tshark. Extrayendo información de imágenes en capturas HTTP. | Seguridad y Redes