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 tcpflowet wireshark, mais elles ne sont pas facilement disponibles dans mon environnement).
De la tcpdumppage 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?