Wireshark vs Firebug vs Fiddler - wady i zalety? [Zamknięte]

91

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.

Michael Mao
źródło
3
Nie polecałbym Charlesa, ponieważ pracuje nad nim tylko jeden programista. Co się stanie, jeśli przestanie pracować nad aplikacją lub zostanie potrącony przez autobus? Co więcej, wygląda na to, że nie odpowiada na prośby o pomoc. Wydałbym moje 50 $ gdzie indziej. Jeśli chodzi o Fiddlera , wsparcie jest nieco lepsze, ale mogą zająć trochę czasu, ponieważ jest to bezpłatne narzędzie. Z czym mi zostaje? Prawdopodobnie proxy wireshark lub mitm.
MasterJoe
1
@ testerjoe2 mitm proxy jest powolny jak f * ck i nie tak dobry jak skrzypek.
baburao

Odpowiedzi:

82

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.

mikek3332002
źródło
41

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.

Macy Abbey
źródło
2
Rzeczywiście, Wireshark może wykryć problemy z serwerem proxy i NAT, może być również używany zarówno na kliencie, z którego się łączysz, jak i na serwerze.
Glenner003
33

Ż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.

Alex
źródło
15
Czy byłbyś w stanie wyjaśnić, czym Charles różni się od kogoś takiego jak Fiddler? To, o czym wspomniałeś powyżej, wydaje się bardzo podobne do skrzypka. Obecnie używam fiddlera, ale byłbym szczęśliwy, gdybyśmy mogli uzyskać coś lepszego, gdybym miał z tego coś więcej.
Jagmag
27
Charles i Fiddler są bardzo podobni pod względem architektonicznym. Charles działa na komputerze Mac; Fiddler tego nie zrobi. Charles jest napisany w języku Java i kosztuje. Fiddler jest napisany w języku C #, darmowy i łatwo rozszerzalny w .NET.
EricLaw
7
W rzeczywistości działa w systemach Windows, Mac OSX i Linux
Casebash
11
Dlaczego jest lepszy niż Wireshark?
Goles,
3
Odpowiadam na prawie każde pytanie w Fiddler's Google Group w ciągu jednego dnia. Ale to nie jest właściwe miejsce, aby o tym porozmawiać.
EricLaw
15

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.

neimad
źródło
1
Tyle tylko, że skrzypek na nic się nie przyda, gdy nie pracujesz pod oknami. Możesz także wstawić proxy pomiędzy, wtedy możesz to zrobić samodzielnie (w C #). Na przykład mentalis.org/soft/projects/proxy . Nie jest wymagany Fiddler. Nie mam już w domu systemu okiennego - tylko Linuces na bazie ARM. I bardzo mnie to cieszy.
Stefan Steiger
Wspomniałeś o wielu cechach skrzypka, których Charles nie ma. Jakie to cechy?
MasterJoe
5

Używam zarówno Charles Proxy, jak i Fiddler do debugowania na poziomie HTTP / HTTPS.

Zalety Charles Proxy:

  1. Lepiej obsługuje HTTPS (otrzymujesz certyfikat Charlesa, który umieściłeś na liście „Zaufane organy”)
  2. Posiada więcej funkcji, takich jak ładowanie / zapisywanie sesji (szczególnie przydatne podczas debugowania wielu stron), dublowanie witryny internetowej (przydatne w buforowaniu zasobów, a tym samym szybszym debugowaniu) itp.
  3. Jak wspomniał jburgess, obsługuje AMF.
  4. Wyświetla odpowiedzi w formacie JSON, XML i innego rodzaju w strukturze drzewa, ułatwiając ich czytanie. Wyświetla obrazy w odpowiedziach na obrazy zamiast danych binarnych.

Wady Charles Proxy:

  1. Koszt :-)
Manu Manjunath
źródło
9
Fiddler oferuje prostsze zaufanie HTTPS niż Charles, oferuje bogatszy zestaw funkcji Save / Load oraz wyświetla JSON / XML i inne formaty przy użyciu struktury drzewa. Jest darmowy i są dostępni inspektorzy AMF, chociaż ich nie używałem.
EricLaw,
1
@EricLaw: Tak, ale Twoje „freeware” (podlegające amerykańskim ograniczeniom eksportowym - czyli niebezpieczna kryptografia) nie działa na Linuksie (mój Chromebook z procesorem ARM Linux z Debianem).
Stefan Steiger
4

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ść.

jburgess
źródło
3

Aby uzupełnić listę, pamiętaj również o http://mitmproxy.org/

Maxim Veksler
źródło
Co sprawiłoby, że warto rozważyć tę opcję?
1
@JonofAllTrades to działa z wiersza poleceń. Każda alternatywa zapewnia inną implementację, więc różnorodność w tym przypadku ma jakiś cel.
Maxim Veksler,
Maxim - Mitm to narzędzie oparte na linii poleceń. Brak GUI jest problemem dla użytkowników takich jak ja. Czy możesz nam powiedzieć, kiedy używać narzędzia wiersza poleceń, a kiedy GUI?
MasterJoe
Kiedy łączysz się przez SSH z serwerem i potrzebujesz proxy, może mitmproxy uratowałoby życie (chyba że jesteś gotowy na oddzielne środowisko z GUI do proxy).
arytma
istnieje interfejs użytkownika dla mitmproxy, docs.mitmproxy.org/stable/tools-mitmweb
yeradis