Cómo realizar un rastreo de red con Tshark
Esta vez hablemos de Tshark, un potente analizador de red de línea de comandos que viene con el conocido Wireshark. Funciona como Tcpdump, pero con potentes decodificadores y filtros, capaces de capturar información de diferentes capas de red o protocolos, y mostrarla en diferentes formatos y diseños.
Se utiliza para analizar el tráfico de la red en tiempo real o leer archivos pcap / pcapng para buscar información, profundizar en los detalles de las conexiones y ayudar a identificar anomalías, problemas o tendencias de la red. Ayudar a los profesionales de redes y seguridad a adelantarse al usuario y sus necesidades, prevenir problemas y amenazas de seguridad o resolverlos antes de que sea demasiado tarde
Tabla de contenido
- Intro
- Filtros
- Filtros de captura
- Filtros de visualización
- Producción
Intro
Por qué Tshark
Tshark funciona como tcpdump, ngrep y otros, sin embargo, como proporciona las funciones de decodificación de protocolos de Wireshark, se sentirá mucho más cómodo leyendo su salida, ya que hace que el análisis de red en el terminal sea más humano.
Tshark es una aplicación de terminal capaz de hacer prácticamente cualquier cosa que haga con Wireshark, pero sin necesidad de clics o pantallas. Esto lo hace excelente cuando necesita hacer algunas secuencias de comandos, como capturas programadas de cron, enviar los datos a sed, awk, perl, correo, base de datos, etc.
Tshark es ideal para la captura remota de paquetes, en dispositivos como puertas de enlace, solo necesita iniciar sesión en ssh y usarlo como lo haría en localhost.
Capture, lea y escriba paquetes
En nuestra primera ejecución en Tshark, intente llamarlo sin parámetros, esto comenzará a capturar paquetes en la interfaz de red predeterminada.
tshark
Puede haber más de una interfaz en su máquina y es posible que deba especificar cuál desea usar. Para obtener una lista de interfaces disponibles, utilice el -D
tshark -D
Una vez que sepa qué interfaz usar, llame a Tshark con el -I opción y un nombre o número de interfaz informado por la opción -D.
tshark -i eth1
tshark -i 3
Ahora que puede capturar los paquetes a través de la red, es posible que desee guardarlos para una inspección posterior, esto se puede hacer con el -w opción.
tshark -i wlan0 -w /tmp/traffic.pcap
Para analizar los paquetes del archivo traffic.pcap previamente guardado, use el -r opción, esto leerá paquetes desde la interfaz de red en lugar de hacerlo. Tenga en cuenta también que no necesita derechos de superusuario para leer archivos.
tshark -r /tmp/traffic.pcap
De forma predeterminada, se realiza la resolución de nombres, puede utilizar -norte y deshabilítelo para obtener el mejor rendimiento en algunos casos.
tshark -n
Filtros
Si está en una red ocupada, es posible que tenga una pantalla como la de las películas de Matrix, con todo tipo de información, que fluye demasiado rápido y es casi imposible de leer. Para resolver este problema, Tshark proporciona dos tipos de filtros que le permitirán ver más allá del caos.
Filtros de captura
Puede utilizar el filtro pcap / bpf tradicional para seleccionar qué capturar de su interfaz.
Busque paquetes relacionados con el host 192.168.1.100 en el puerto 80 o 53.
tshark -i 2 -f «host 192.168.1.100 y (puerto dst 53 u 80)»
Ignorar paquetes en dominios de multidifusión y difusión
tshark -i eth3 -f "not broadcast and not multicast"
Filtros de visualización
Los filtros de visualización se configuran con -Y y tener la siguiente sintaxis
Para ver todas las conexiones del host 192.168.1.1
tshark -i eth0 -Y «ip.addr == 192.168.1.1»
Mostrar solicitudes HTTP en el puerto TCP 8800
tshark -i eth0 -Y «tcp.port == 8800 y http.request»
Mostrar todos los paquetes excepto ICMP y ARP
tshark -i eth0 -Y «ni arp ni icmp»
Formateo
A veces necesita que se muestre más o menos información de los paquetes de red, también es posible que deba especificar cómo / dónde mostrar esta información. Las siguientes opciones le permiten hacer exactamente esto.
Usar -V para hacer que Tshark sea detallado y muestre detalles sobre los paquetes, desde el número de trama, el campo de protocolo, hasta los datos del paquete o las banderas.
los -O La opción es muy parecida a la opción -V, sin embargo, esto mostrará detalles de un protocolo específico
tshark -i eth2 -O icmp
Utilizar el -T opción para generar datos en diferentes formatos, esto puede ser muy útil cuando necesita un formato específico para su análisis. como cuando usa Tshark para llenar alguna base de datos
tshark -i wlan0 -O icmp -T fields -e frame.number -e data
Si elige campos para la opción -T, debe configurar el -mi opción al menos una vez, esto le dirá a Tshark qué campo de información mostrar, puede usar esta opción varias veces para mostrar más campos
tshark -r nmap_OS_scan_succesful -Y «tcp.ack» -T campos -e frame.number -e ip.src -e tcp.seq -e tcp.ack -e tcp.flags.str -e tcp.flags -e tcp. analysis.acks_frame
Para obtener una lista completa de los posibles campos que se pueden usar con el indicador -e, use la opción -G como se muestra a continuación
tshark -G fields | less
Se puede realizar más formateo con la bandera -E, puede mostrar / ocultar encabezados, establecer caracteres de comillas y más.
Mire el siguiente comando que combina estas opciones para producir un archivo CSV.
tshark -r captured.cap -T fields -e frame.number -e frame.encap_type -e frame.protocols -e frame.len -e ip.addr -E separator=, -E quote=d > outfile.csv
Estadísticas
A veces es posible que desee un informe analítico, en este caso utilice -z opción seguida de uno de los muchos tipos de informes disponibles.
Informe sobre protocolos SMB, DNS e IP.
tshark -i ens1 -z smb,srt -z dns,tree -z http,tree -z hosts
Lista de conversaciones IP
tshark -r cap.pcap -z conv,ip
Para obtener una lista de los informes disponibles, pruebe la opción de ayuda -z.
tshark -z help
Enchufes seguros
También puede analizar conexiones cifradas como SSL, el siguiente ejemplo muestra el HTTP dentro de la capa de conexión segura
Aquí mostramos paquetes en el puerto TCP 443, indicándole a Tshark que sea detallado con el protocolo HTTP, realice la segmentación en SSL, busque la clave privada en el archivo server-x.key con formato PEM y descargue la información de depuración en debug-ssl. archivo de registro.
tshark -r encrypted-packets.pcap -Y "tcp.port == 443" -O http -o "ssl.desegment_ssl_records: TRUE" -o "ssl.desegment_ssl_application_data: TRUE" -o "ssl.keys_list: 127.0.0.1,443,http,server-x.key" -o "ssl.debug_file: debug-ssl.log"
Conclusión
Así es como comenzar a usar Tshark para detectar paquetes de sus redes, ayudarlo a descubrir dónde buscar cuando surgen problemas, depurar sus servicios de red, inspeccionar la seguridad y analizar el estado general.
Para obtener más información, eche un vistazo a los enlaces a continuación.
¡Gracias por leer!