Para monitorear el tráfico HTTP entre un servidor web y un servidor web, actualmente estoy usando tcpdump
. Esto funciona bien, pero me gustaría deshacerse de algunos datos superfluos en la salida (que yo sé acerca de tcpflow
y wireshark
, pero no están disponibles en mi entorno).
De la tcpdump
el hombre de la página:
Para imprimir todas las IPv4, HTTP paquetes desde y hacia el puerto 80, es decir, imprimir sólo los paquetes que contienen los datos, no se, por ejemplo, SYN y paquetes de fin y ACK-sólo los paquetes.
tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
Este comando
sudo tcpdump-Un 'src example.com y el puerto tcp 80 y (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
proporciona el siguiente resultado:
19:44:03.529413 IP 192.0.32.10.http > 10.0.1.6.52369: Flags [P.], seq 918827135:918827862, ack 351213824, ganar 4316, opciones [nop,nop,TS val 4093273405 ecr 869959372], la longitud de 727
E.....@....... ....P..6.0.........D...... __..e=3...__HTTP/1.1 200 OK Server: Apache/2.2.3 (Red Hat) Content-Type: text/html; charset=UTF-8 Fecha: Sat, 14 Nov 2009 18:35:22 GMT Edad: 7149
Content-Length: 438<HTML> <HEAD> <TITLE>Ejemplo de Página Web</TITLE> </HEAD> <cuerpo>
<p>Usted ha llegado a esta página web ...</p> </BODY> </HTML>
Esto es casi perfecto, excepto por la parte resaltada. ¿Qué es esto, en fin, lo más importante, ¿cómo me deshago de ella? Tal vez es sólo un pequeño retoque a la expresión al final de los comandos?