J'utilise actuellement le trafic HTTP pour surveiller le trafic HTTP entre un serveur et un serveur Web tcpdump
. Cela fonctionne bien, mais j'aimerais supprimer certaines données superflues dans la sortie (je connais environ tcpflow
et wireshark
, mais elles ne sont pas facilement disponibles dans mon environnement).
De la tcpdump
page de manuel:
Pour imprimer tous les paquets HTTP IPv4 depuis et vers le port 80, c’est-à-dire n’imprimer que les paquets contenant des données, mais pas, par exemple, les paquets SYN et FIN et les paquets ACK uniquement.
tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
Cette commande
sudo tcpdump -A src example.com et le port tcp 80 et (((ip [2: 2] - ((ip [0] & 0xf) << 2)) - - ((tcp [12] & 0xf0) >> 2) )! = 0) '
fournit la sortie suivante:
19: 44: 03.529413 IP 192.0.32.10.http> 10.0.1.6.52369: drapeaux [P.], seq 918827135: 918827862, ack 351213824, gagner 4316, options [nop, nop, TS val 4093273405 ecr. 869959372], longueur 727
E ..... @ ....... .... P..6.0 ......... D ...... __ .. e = 3 ...__ HTTP / 1.1 200 OK Serveur: Apache / 2.2.3 (Red Hat) Content-Type: text / html; charset = UTF-8 Date: samedi 14 novembre 2009 18:35:22 GMT Age: 7149
Longueur du contenu: 438<HTML> <HEAD> <TITLE> Exemple de page Web </ TITLE> </ HEAD> <body>
<p> Vous avez atteint cette page Web ... </ p> </ BODY> </ HTML>
C'est presque parfait, sauf pour la partie en surbrillance. Qu'est-ce que c'est, fin - plus important encore - comment puis-je m'en débarrasser? Peut-être que c'est juste un petit ajustement de l'expression à la fin de la commande?