Zu Debugging-Zwecken möchte ich die http-Anforderungen auf einer Netzwerkschnittstelle überwachen.
Bei Verwendung einer naiven tcpdump
Befehlszeile erhalte ich zu viele Informationen auf niedriger Ebene, und die benötigten Informationen sind nicht sehr klar dargestellt.
Das Ablegen des Datenverkehrs über tcpdump
eine Datei und die anschließende Verwendung wireshark
hat den Nachteil, dass der Datenverkehr nicht im laufenden Betrieb ausgeführt wird.
Ich stelle mir eine Werkzeugnutzung wie diese vor:
$ monitorhttp -ieth0 --only-get --just-urls
2011-01-23 20:00:01 GET http://foo.example.org/blah.js
2011-01-23 20:03:01 GET http://foo.example.org/bar.html
...
Ich benutze Linux.
networking
monitoring
http-logging
maxschlepzig
quelle
quelle
Antworten:
Versuchen Sie
tcpflow
:Die Ausgabe ist wie folgt:
Sie können der grep-Anweisung natürlich zusätzliche HTTP-Methoden hinzufügen und
sed
die beiden Zeilen zu einer vollständigen URL kombinieren.quelle
tcpflow
ist, dass es bereits in den Standard-Repositories von Ubuntu 10.04 verfügbar ist (justsniffer, httpry nicht). In den Paketinformationen wird angegeben, dass IP-Fragmente nicht ordnungsgemäß aufgezeichnet werden. Sie wissen nicht, ob dies für diesen Anwendungsfall von Bedeutung ist. Vielleicht kann justsniffer sie besser verarbeiten.Sie können dazu httpry oder Justniffer verwenden.
httpry
ist zB über das Fedora-Paket-Repository verfügbar.Beispielaufruf:
(wobei
em1
ein Netzwerkschnittstellenname bezeichnet wird)Beispielausgabe:
(Ausgabe ist etwas gekürzt)
quelle
Ich suchte nach etwas ähnlichem, mit der zusätzlichen Anforderung, dass es auch für https funktionieren sollte .
pcap-basierte tools wie
tcpflow
httpry
urlsnarf
und andere tcpdump kung fu funktionieren gut für http, aber für sichere anfragen haben sie kein glück.Ich habe mir urldump ausgedacht , eine kleine Hülle um mitmproxy .
iptables
wird verwendet, um den Datenverkehr zum Proxy umzuleiten, damit er transparent funktioniert.Weitere Informationen finden Sie in der README- Datei.
quelle
Ich denke, Wireshark kann tun, was Sie wollen
Positiv zu vermerken ist, dass es sehr leistungsfähig ist. Sie können es über apt-get installieren und es wird mit einer grafischen Benutzeroberfläche geliefert.
Das Filtersystem ist jedoch kompliziert - es sind jedoch gute Tutorials integriert, mit denen Sie eine Live- oder Start / Stopp-Übersicht über den Datenverkehr erhalten.
Wenn Sie das Wort "http" in den Filter eingeben, erhalten Sie wahrscheinlich das, wonach Sie suchen (dh den von den Benutzern generierten Hauptverkehr).
quelle
Eine weitere gute Option könnten Nethogs sein
Fedora ist in den Kernpaketen enthalten, Centos im Epel Repo.
quelle
Es gibt auch das Kommandozeilenprogramm,
urlsnarf
das Teil des dsniff- Pakets ist (das auch mit zB Fedora 19 mitgeliefert wird).Beispiel:
(beim Surfen erst nach SE und dann nach spiegel.de)
Einschränkungen: dsnarf unterstützt kein IPv6 . Ich kann diesen Fehlerbericht mit 0.17 auf Fedora 19 reproduzieren. Scheint auch unter Ubuntu Trusty ATM kaputt zu sein (funktioniert einwandfrei unter Lucid).
quelle