Tcpick un sniffer que realiza seguimiento y reensamblado de flujos tcp. Mostrando datos payload.

Hemos visto muchas herramientas .pcap que realizan la tarea de gestionar y mostrar información .pcap o live-capture de múltiples maneras, cada una con sus características que las  diferencia de las demás. De esta forma hemos visto justniffer, netsniff-ng, assniffer, Argus, Vortex, Tshark, windump, tcptrace, Xplico CLI, tcpxtract, scapy, etc, etc.

En esta ocasión vamos a ver la herramienta .pcap tcpick. Tcpick realiza el seguimiento de flujos TCP, los ordena y reensambla, mostrando información de estados de conexión, información de payload o carga últil, datos de conexiones FTP, HTTP, download de archivos involucrados en una captura, etc. Se trata de una herramienta ya algo antigua (2005) pero totalmente usable.

Instalación de tcpick y uso básico.

Para instalar tcpick tan solo es encesario un simple

  • sudo apt-get install tcpick

que instalará la última versión correspondiente a la 0.2.1.

El uso más basico sería le siguiente:

  • tcpick -i interface red
  • tcpick -r archivo.pcap

La primera diferencia respecto a otros capturadores tipo windump/tshark/tcpdump es el tipo de información que muestra:

127    SYN-SENT       192.168.1.5:59009 > 192.168.1.96:280
127    RESET          192.168.1.5:59009 > 192.168.1.96:280
128    SYN-SENT       192.168.1.5:59009 > 192.168.1.96:ospfd
128    RESET          192.168.1.5:59009 > 192.168.1.96:ospfd
129    SYN-SENT       192.168.1.5:59009 > 192.168.1.96:5510
129    RESET          192.168.1.5:59009 > 192.168.1.96:5510
130    SYN-SENT       192.168.1.5:59009 > 192.168.1.96:32783
130    RESET          192.168.1.5:59009 > 192.168.1.96:32783

vemos de forma clara la información del track o sesión, estado conexión, IP origen y destino con los puertos correspondientes.

Vamos a aplicar ahora un filtro BPF, colorear la salida (-C)  y mostrar información de una sola sesión (-T1) :

tcpick -r ids_2.pcap «port 21» -C -T1

Podríamos añadir marcas de tiempo com -t o -td. También mostrar más información como puertos e IP origen y destino flags TCP, etc con -h, con lo que ya no mostraría solo la infomación desde el puntio de vista de la sesión, ahora se mostraría el «diálogo» completo de la sesión 1:

tcpick -r ids_2.pcap «port 21» -C -T1 -t -h

Tratándose de una conexión FTP es posible que contenga datos, passwords, usuario, etc. Para ello vamos a visualizar los datos contenidos en el paylodad de los paquetes.

Tenemos varias formas de hacerlo:

  • -yH Para visualizar los datos en formato hexadecimal (spaced-mode).
  • -yP  -yR  –yU Mostrará los datos de forma más «humana».
  • -yx Datos en formato hexadecimal
  • -yX Datos en forma hexadecimal y ASCII.

Por ejemplo:

tcpick -r ids_2.pcap «port 21» -C -T1 -yP

Recostrucción de secuencia TCP y escritura a fichero. Extracción de ficheros.

Para escribir los datos a fichero, usaremos la opción –wR de la forma:

tcpick -r ids_2.pcap «port 21» -C -T1 -wR

En este caso escribirá dis ficheros uno del lado del cliente y otro del servidor:

  • tcpick_192.168.101.240_19x.xxx.xx.85_ftp.clnt.dat
  • tcpick_192.168.101.240_19x.xxx.xx.85_ftp.serv.dat

Podríamos especificar para servidor y cliente de la forma -wRS y –wRC

El contenido de estos ficheros los podemos visualizar, están en modo texto, con cat por ejemplo.

Extracción de ficheros sesión ftp.

Ahora vamos a extraer el fichero o ficheros transmitidos en una sesión FTP:

tcpick -r ./pcap1/ftp_01.pcap -yP  -h

vemos que tenemos unas líneas de salida:

227 Entering Passive Mode (79,xxx,xx,xx,x,91)
STOR Gu..a de Administraci..n de Redes 2.0.pdf
10     SYN-SENT       192.168.1.5:5841 > 79.xxx.xx.x:15963
10     SYN-RECEIVED   192.168.1.5:5841 > 79.xxx.xx.x:15963
10     ESTABLISHED    192.168.1.5:5841 > 79.xxx.xx.x:15963
150 Connection accepted

Ahora podríamos hacer:

tcpick -r ./pcap1/ftp_01.pcap -wR «port 5841«

Obtendremos el fichero:

2287276 jun  5 17:06 tcpick_192.168.1.5_79.148.235.26_15963.serv.dat

que corresponde al .pdf que hemos extraído. si renombramos el dat a pdf podremos abrirlo sin problema.

Visualizando datos de captura.

Algunos tips para usar con tcpick:

tcpick -r ../pcap1/captura.pcap -C -yP | grep GET

tcpick -r ../pcap1/captura.pcap -C -yP -S -h

—————-

Hay mucho más. Lo iremos viendo.  Hasta aquí por hoy. Hasta la próxima.

Esta entrada fue publicada en Herramientas, Interpretación capturas tráfico red. pcap, Interpretación capturas tráfico red. pcap, Seguridad y redes y etiquetada . Guarda el enlace permanente.

7 respuestas a Tcpick un sniffer que realiza seguimiento y reensamblado de flujos tcp. Mostrando datos payload.

  1. Dabo dijo:

    Grande alfon !! como siempre impecable 😉

  2. Pingback: Tcpick. Capturando y visualizando impresiones en red con -wR desde fichero .pcap. | Seguridad y Redes

  3. Nelo Belda dijo:

    Muchas gracias por esta entrada. Andaba tiempo pegándome con TShark para mostrar el payload de un POST y no había manera.
    Con esto, y algunas líneas de shellscripting, he conseguido mostrar lo que quería.

    Un saludo

  4. miguel dijo:

    Hola, muy interesante este articulo sobre captura de paquetes y su analisis.
    Yo estoy intentando desarrollar un programita en c++ para simular paquetes y guardarlos en formato .pcap, genero el archivo pero tengo problemas en generar cada bloque de datos especificamente (header ip + header tcp + data), tiene algun ejemplo en el cual pueda basarme?…

  5. q2dg dijo:

    Hola. Entiendo que lo que aporta Tcpick respecto Tshark es facilidad y comodidad, pero que con la segunda se podría obtener el mismo tipo de información (con algo de paciencia y maña) que con la primera, ¿verdad? Gracias!

Deja un comentario