W celu debugowania chcę monitorować żądania HTTP w interfejsie sieciowym.
Korzystając z naiwnego tcpdump
wiersza poleceń, otrzymuję zbyt wiele informacji niskiego poziomu, a informacje, których potrzebuję, nie są bardzo jasno przedstawione.
Zrzucanie ruchu tcpdump
do pliku, a następnie używanie wireshark
ma tę wadę, że nie jest on w locie.
Wyobrażam sobie użycie takiego narzędzia:
$ 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
...
Używam Linuksa.
networking
monitoring
http-logging
maxschlepzig
źródło
źródło
Odpowiedzi:
Spróbuj
tcpflow
:Dane wyjściowe są takie:
Możesz oczywiście dodać dodatkowe metody HTTP do instrukcji grep i użyć
sed
do połączenia dwóch linii w pełny adres URL.źródło
tcpflow
jest to, że jest już dostępny w domyślnych repozytoriach w Ubuntu 10.04 (justsniffer, httpry nie są). Informacje o pakiecie informują, że fragmenty IP nie są poprawnie rejestrowane - nie wiem, czy to ma znaczenie w tym przypadku użycia - być może justsniffer poradzi sobie z nimi lepiej.Aby to zrobić, możesz użyć httpry lub Justniffer .
httpry
jest dostępny np. za pośrednictwem repozytorium pakietów Fedory.Przykładowe połączenie:
(gdzie
em1
oznacza nazwę interfejsu sieciowego)Przykładowe dane wyjściowe:
(wydajność jest nieco skrócona)
źródło
Szukałem czegoś podobnego, z dodatkowym wymogiem, że powinien on również działać na https .
narzędzia oparte na pcap, takie jak
tcpflow
httpry
urlsnarf
i inne kcf tcpdump, działają dobrze dla http, ale dla bezpiecznych żądań nie masz szczęścia.Wymyśliłem urldump , który jest małym opakowaniem wokół mitmproxy .
iptables
służy do przekierowywania ruchu do serwera proxy, więc działa transparentnie.Aby uzyskać więcej informacji, zobacz README .
źródło
Myślę, że Wireshark jest w stanie robić, co chcesz
Plusem jest to, że jest bardzo wydajny, możesz go zainstalować za pomocą apt-get i ma GUI.
Jednak system filtrów jest skomplikowany - ale są wbudowane dobre samouczki, które zapewniają podgląd ruchu na żywo lub start / stop.
Wpisanie słowa „http” w filtrze prawdopodobnie zapewni ci to, czego szukasz (tj. Główny ruch generowany przez użytkowników).
źródło
Inną dobrą opcją mogą być nethogs
Na fedorze jest dostępny wśród podstawowych pakietów, a na centos możesz to zrobić poprzez repozytorium epel.
źródło
Istnieje również program wiersza poleceń,
urlsnarf
który jest częścią pakietu dsniff (który jest również spakowany np. Z Fedorą 19).Przykład:
(podczas przeglądania najpierw do SE, a następnie do spiegel.de)
Ograniczenia: dsnarf nie obsługuje IPv6 . Mogę odtworzyć ten raport o błędzie w wersji 0.17 na Fedorze 19. Wygląda również na uszkodzony w zaufanym bankomacie Ubuntu (działa dobrze w trybie świadomym).
źródło