Moja aplikacja wysyła żądania HTTP do jakiegoś serwera i chcę zobaczyć rzeczywiste dane, które wysyła. Niektóre szczegóły, które chciałbym zobaczyć:
- Metoda żądania (GET / POST / PUT itp.)
- Typ zawartości
- Ciało
Jaki jest najlepszy i prosty sposób na osiągnięcie tego?
networking
megas
źródło
źródło
Odpowiedzi:
Cóż, dla wszystkich fanów tcpdump =)
URUCHOM WSZYSTKIE TE POLECENIA JAKO ROOT !!!
Uzyskaj root w terminalu za pomocą
Aby przechwycić pakiety RAW ...
Będzie to uchwycić wszystkie surowe pakiety na wszystkich portach, na wszystkich interfejsach i zapisać je do pliku
/tmp/http.log
.Uruchom aplikację. To oczywiście pomaga, jeśli nie uruchamiasz żadnych innych aplikacji korzystających z HTTP (przeglądarki internetowe).
Zabić
tcpdump
Aby odczytać dziennik, użyj
-A
flagi i potokuj dane wyjściowe doless
:Te
-A
odciski flagę na „ładunek” lub tekst ASCII w pakietach. Spowoduje to wysłanie danych wyjściowych doless
, możesz przewijać strony w górę iw dół. Aby wyjśćless
, wpisz Q.Kiedy idę do Google, widzę (w pakietach raw):
tcpdump
ma długi zestaw opcji, aby udoskonalić gromadzenie danych od określenia interfejsów sieciowych do portów do źródłowych i docelowych adresów IP. NIE może odszyfrować (więc nie będzie działać z HTTPS).Gdy wiesz, czym jesteś zainteresowany, możesz użyć wielu opcji,
tcpdump
aby zapisać tylko interesujące dane. Ogólna strategia polega na zapisaniu wszystkich pakietów, przejrzeniu nieprzetworzonych danych, a następnie przechwyceniu tylko interesujących pakietów.Niektóre pomocne flagi (opcje):
Istnieje krzywa uczenia się, zarówno w zakresie używania, jak
tcpdump
i uczenia się, jak analizować gromadzone dane. Do dalszej lektury gorąco sugeruję Primer Daniela Miessleratcpdump
z przykładami .źródło
0 packets captured 0 packets received by filter 0 packets dropped by kernel
Ale otworzyłem kilka stron w przeglądarce Chrome, gdy tcpdump monitorował.tcpdump -i any -w /tmp/http.log &
pracowałPierwsza instalacja
tcpflow
z oficjalnych repozytoriów Ubuntu:Następnie uruchom to polecenie, aby sprawdzić wszystkie żądania HTTP na standardowym porcie:
źródło
Proponuję spróbować Wireshark
Pamiętaj, że Wireshark jest dość zaawansowany, więc może trochę przyzwyczaić się. Nie używałem go od kilku lat, ale nadal powinien być idealny do tego, czego szukasz - jeśli nie jest zbyt pełen funkcji.
Informacje na temat Wireshark i sposobu korzystania z niego można znaleźć na stronie głównej Wireshark .
źródło
Możliwy również z poleceniem, które daje uporządkowane wyjście, nawet dla SSL:
źródło