Niedawno natknąłem się na problem polegający na tym, że aplikacja CGI nie odpowiada. Objawem jest wyświetlanie przeglądarki Firefox:
Przesyłanie danych z lokalnego hosta ...
Ale chodzi o to, że nie widzę żadnego ruchu z panelu Firebug Net, a przeglądarka po prostu pozostaje na tym samym etapie na zawsze.
Zastanawiam się nad sposobami debugowania tej aplikacji, ale nie widzę kodu źródłowego ani żadnego z jego skompilowanych komponentów Java / C ++, dlatego uważam, że poziom diagnostyki sieci HTTP to dobry początek.
Mam niewielkie doświadczenie w programie Fiddler i Wireshark, zastanawiam się tylko, czy uzyskają lepsze informacje zwrotne / statystyki na poziomie sieci HTTP? Słyszałem, że Wireshark jest zaawansowany, ale może wprowadzić duży ruch, więc administratorzy systemu nie bardzo go lubią. W tej chwili myślę, że Firebug nie pokazuje mi wystarczająco dużo informacji.
Muszę zebrać informacje, aby następnie przesłać je klientowi jako dowód.
Odpowiedzi:
Wireshark, Firebug, Fiddler robią podobne rzeczy - przechwytują ruch sieciowy.
Wireshark przechwytuje każdy rodzaj pakietu sieciowego. Może przechwytywać szczegóły pakietów poniżej TCP / IP (HTTP znajduje się na górze). Ma filtry zmniejszające wychwytywany hałas.
Firebug śledzi każde żądanie wysyłane przez stronę przeglądarki i przechwytuje powiązane nagłówki oraz czas potrzebny na każdym etapie żądania ( DNS, odbieranie, wysyłanie, ... ).
Fiddler działa jako proxy HTTP / HTTPS. Przechwytuje każde żądanie HTTP wysłane przez komputer i zapisuje wszystko, co z nim związane. Pozwala na takie rzeczy, jak konwertowanie zmiennych postów do postaci tabelarycznej oraz edytowanie / odtwarzanie żądań. Domyślnie nie przechwytuje ruchu hosta lokalnego w IE, zobacz często zadawane pytania dotyczące obejścia.
źródło
Zaletą WireShark jest to, że może on pokazywać błędy na poziomach poniżej protokołu HTTP. Fiddler pokaże błędy w protokole HTTP.
Jeśli uważasz, że problem występuje gdzieś w żądaniu HTTP wysłanym przez przeglądarkę lub po prostu szukasz więcej informacji na temat tego, z czym odpowiada serwer lub ile czasu zajmuje odpowiedź, Fiddler powinien zrobić.
Jeśli podejrzewasz, że coś może być nie tak w protokole TCP / IP używanym przez Twoją przeglądarkę i serwer (lub w innych warstwach poniżej), przejdź do WireShark.
źródło
Żadne z powyższych, jeśli używasz komputera Mac. Użyj Charles Proxy . To najlepszy zbiór informacji o sieci / żądaniach, z jakim kiedykolwiek się spotkałem. Możesz przeglądać i edytować wszystkie wychodzące żądania oraz wyświetlać odpowiedzi z tych żądań w kilku formularzach, w zależności od typu odpowiedzi. Licencja kosztuje 50 dolarów, ale możesz pobrać wersję próbną i zobaczyć, co myślisz.
Jeśli jesteś w systemie Windows, po prostu zostanę przy Fiddler.
źródło
Fiddler jest zwycięzcą za każdym razem w porównaniu do Charlesa.
Funkcja „dostosowywania reguł” programu Fiddler nie ma sobie równych w żadnym debugerze http. Umiejętność pisania kodu służącego do manipulowania żądaniami HTTP i odpowiedziami w locie jest nieoceniona dla mnie i dla mojej pracy w tworzeniu stron internetowych.
Jest tak wiele funkcji dla skrzypka, których Charles po prostu nie ma i prawdopodobnie nigdy nie będzie miał. Fiddler jest o lata świetlne do przodu.
źródło
Używam zarówno Charles Proxy, jak i Fiddler do debugowania na poziomie HTTP / HTTPS.
Zalety Charles Proxy:
Wady Charles Proxy:
źródło
Jeśli tworzysz aplikację, która przesyła dane za pomocą AMF (dość powszechne w określonym zestawie internetowych interfejsów API GIS, z których regularnie korzystam), Fiddler nie oferuje obecnie dekodera AMF, który umożliwiłby łatwe przeglądanie danych binarnych w czytelny format. Charles zapewnia tę funkcjonalność.
źródło
Aby uzupełnić listę, pamiętaj również o http://mitmproxy.org/
źródło