Falls du je SOAP- oder REST-Services debuggen musstest, ohne Zugriff auf den rohen Request/Response, wirst du das hier mögen. Solchen HTTP-Traffic kannst du mit tcpdump aufzeichnen. Das UNIX-Tool tcpdump (Installation mit brew install tcpdump oder apt-get install tcpdump) zeichnet den gesamten Netzwerk-Traffic deines Systems auf. Weil wir aber wissen, dass wir nur HTTP-Traffic brauchen, machen wir es uns etwas leichter!
-
HTTP-Traffic inklusive Request-/Response-Header und Message-Body mitschneiden:
tcpdump -A -s 0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' -
HTTP-Traffic inklusive Header und Body von einer bestimmten Quelle:
tcpdump -A -s 0 'src example.com and tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' -
HTTP-Traffic inklusive Header und Body von localhost zu localhost:
tcpdump -A -s 0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' -i lo -
Nur HTTP-Requests: in den Befehlen oben “tcp port 80” durch “tcp dst port 80” ersetzen
-
TCP-Pakete von localhost zu localhost (Loopback) mitschneiden:
tcpdump -i lo
Quelle: https://sites.google.com/site/jimmyxu101/testing/use-tcpdump-to-monitor-http-traffic