Poszukuję serwera proxy debugowania HTTP dla komputerów Mac podobnego do Fiddlera w systemie Windows [zamknięte]


240

W poprzednich zadaniach, kiedy pracowałem na komputerze z systemem Windows, używałem Fiddlera do przeglądania transakcji HTTP i debugowania.

W szczególności chcę monitorować transakcje HTTP dla witryny ajax, nad którą pracuję, aby sprawdzić, czy witryna działa zgodnie z oczekiwaniami. Przepisywanie HTTP (jak zapewnia Fiddler) jest przyjemne, ale nie jest niezbędne.

Czy ktoś może polecić coś podobnego do użycia na komputerze Mac?


4
Zostało to zamknięte, ale nadal istnieje, więc należy je dodać: Fiddler jest teraz w wersji alfa dla systemu Mac OS.
boomhauer

1
nie wiem, dlaczego to byłoby zamknięte? ma 113 głosów pozytywnych. to nie tak, że było to pytanie o przepełnienie stosu.
genxgeek

Przeczytaj uzasadnienie bezpośrednio powyżej tych komentarzy - „Pytania dotyczące rekomendacji produktów, usług lub materiałów szkoleniowych są nie na temat”
Doug Harris,

Fireup Fiddler na pobliskim komputerze z systemem Windows i skonfiguruj swój MAC do proxy na komputerze z systemem Windows i voila! wszystko na twoim MAC będzie widoczne w systemie Windows :)
Korayem

2
Dla tych, którzy byli naprawdę podekscytowani czytaniem komentarza @boomhauer: Fiddler dla OSX jest wciąż w wersji Alfa, ostatnio dotykany w lipcu 2013, wymaga frameworka Mono (więc jest to po prostu opakowanie dla wersji Windows, właściwie nie zmieniono fakturę na Cocoa), a wydanie ma notatkę: „Mac Uwaga: środowisko WinForms na Macu jest prawie bezużyteczne. Najlepiej jest uruchomić Fiddler na maszynie wirtualnej z systemem Linux lub Windows i wskazać na nim ustawienia proxy Maca . ”
Anthony

Odpowiedzi:


130

Użyj Chrome i przejdź do chrome: // net-internals /

Umożliwia szczegółową analizę i zrzuty.


1
Miły. Masz pomysł, kiedy został dodany do Chrome?
Doug Harris

2
Nie, przykro mi. Kiedyś pracowałem z Fiddlerem w systemie Windows, ale przechodząc na komputer Mac natknąłem się na wewnętrzne elementy sieci, szukając ukrytych funkcji chrome.
brains_at_work

5
to narzędzie wydaje się „schludne”, ale jak możesz zobaczyć cały ładunek żądania (tj. nagłówki żądania GET?)
genxgeek

AFAIK, nie oferuje to sposobu modyfikowania przesyłanych danych, takich jak Fiddler z FiddlerScript, AutoResponder i punktami przerwania. Dobre narzędzie, ale do różnych celów.
iX3

33
wydaje się, że to narzędzie przechwytuje tylko ruch chrome. Czy jest jakiś sposób na użycie tego narzędzia do przechwytywania ruchu HTTP z / do określonego procesu?
Morfeusz

71

Znalazłem Charlesa Proxy . Jest znacznie bliżej funkcjonalności Fiddler. To nie jest darmowe, ale może być warte swojej ceny.


Ciekawe: czy ktoś tu kiedyś go używał?
Arjan

Używałem go przez godzinę lub dwie po tym, jak go znalazłem. Wersja próbna ma kilka ekranów nag i 30-minutowe ograniczenie, ale nie sądzę, aby były one nieuzasadnione. Szukałem określonych nagłówków w odpowiedzi HTTP i mogłem je łatwo zobaczyć.
Doug Harris

1
Zaletą Charlesa jest to, że jest on dostępny zarówno dla OSX, jak i Windowsa, więc jeśli często jeździsz tam iz powrotem, jest to miłe, powszechne narzędzie.
Justin Ohms

5
Ważną funkcją, którą zapewniają charles (oraz skrzypek i może webscarab), jest możliwość przechwytywania i modyfikowania żądań, w tym deszyfrowania https.
urban_raccoons,

1
Używam Charlesa do odszyfrowywania żądań https na Instagramie, Facebooku i innych aplikacjach mobilnych. Wystarczy wskazać proxy iPhone'a Charlesowi, aby zobaczyć, jak wysyłają dane i jakie dane wysyłają!
Mário Carvalho

35

Użyłem mitmproxy do przechwytywania ruchu HTTP. To świetne narzędzie, którego można używać do debugowania urządzeń mobilnych lub dowolnego systemu operacyjnego.


ZOBACZ TO! Nawiasem mówiąc, dla wszystkich dzieciaków skryptów, jeśli piszesz kod w czymś innym niż JS siedzący w przeglądarce, ta rzecz jest biletem.
Shane

30

Moją ulubioną aplikacją Mac do monitorowania ruchu jest HTTPScoop , szczegółowo opisałem to, a także używając tcpdump z wiersza poleceń w tym poście, który blogowałem w zeszłym roku .


Jeśli znasz Wireshark (lub mniej wydajny analizator pakietów kakao): czy możesz porównać z tym HTTPScoop?
Arjan

1
Analizator pakietów kakao jest również dość prosty. Jednak nigdy nie wymyśliłem, jak filtrować określony adres IP portu lub serwera, a następnie zobaczyć zarówno żądanie, jak i odpowiedź ... To łatwo zrobić w Wireshark. (Wystarczy wpisać smtpjako filtr wyświetlania, aby zobaczyć cały ruch korzystający z protokołu SMTP. Lub tcp.port == 25uzyskać cały ruch do portu 25 i jego odpowiedzi. Lub http and ip.addr == xxxuzyskać cały ruch HTTP do i z jakiegoś serwera.)
Arjan

1
httpscoop wyglądał obiecująco, niestety wydaje się być porzucony i nie byłem w stanie przechwycić ruchu localhost na 10.9.2. Ostatnie wydanie pochodzi z 2009 roku, a strona internetowa ogłasza nadchodzącą wersję 2.0, która nie wydaje się być w najbliższym czasie: /
Jean

1
Próbowałem użyć tej aplikacji, to okropne w porównaniu z skrzypkiem. Chcę przechwytywać cały ruch i wszystkie porty wszystkie interfejsy inne niż port 80 na localhost. Próbowałem dodać porty, które chciałem przez preferencje (z wyłączoną czerpakiem). Nie pomogło mi to, ponieważ rzeczy, które chciałem monitorować, znajdowały się na dwóch różnych interfejsach, np. Lo / en0
KnuturO,

1
Link do bloga nie działa :(
Reg

19

Nie to, o co prosiłeś, ale w Firefoksie dodatek Live HTTP Headers jest wszystkim, czego potrzebuję, jeśli chcę edytować i ponownie odtwarzać żądania, w tym zmianę adresu URL i metody HTTP.

Nagłówki HTTP na żywo

W Firebug Monitoring sieci pokazuje wszystkie żądania i odpowiedzi. Podobnie w Safari okienko zasobów wbudowanego Inspektora sieci obejmuje również większość moich potrzeb. (Włącz Inspektora internetowego za pomocą preferencji: Pokaż menu rozwijania na pasku menu .) Chrome i Firefox mają podobne narzędzia.

Kiedy sprawy się komplikują, odpalam sniffer pakietów Wireshark . Jednak, w przeciwieństwie do Fiddlera, Wireshark nie pozwala na zmianę danych i nie obsługuje rzeczy takich jak auto-odpowiadające, jak najwyraźniej Fiddler.

W przypadku Wireshark zobacz Protokół Hyper Text Transfer Protocol (HTTP), aby uzyskać ogólne informacje na temat przechwytywania HTTP, oraz Przechwytywanie pakietów HTTP w celu debugowania Apache , na przykład niektóre filtry wyświetlania . (Możesz ustawić filtr przechwytywania na „ port 80”, aby wyświetlić wszystkie żądania do tego portu i odpowiedzi z tego portu. Lub, aby ograniczyć się do niektórych serwerów, użyj filtra przechwytywaniaport 80 and host www.google.com”.) Jak:

# Pokaż tylko 404: nie znaleziono strony
http.response.code == 404

# Pokaż tylko niektóre metody HTTP
http.request.method == „POST” || http.request.method == „PUT”

# Pokaż tylko javascript
http.content_type zawiera „javascript”

Pamiętaj, że Wireshark może dla ciebie rozpakować kompresję gzip lub deflować zakodowane (skompresowane) rzeczy. To znacznie ułatwia czytanie, ponieważ większość serwerów WWW kompresuje dane wysyłane do przeglądarki.

(Jeśli chodzi o automatyczne odpowiedzi: doskonały JS Bin ma krótki film o tym, jak używać go do debugowania żądań Ajax. Jeśli nie znasz JS Bin, najpierw obejrzyj film wprowadzający).


+1 dla Firebug - Uwielbiam ich narzędzie do monitorowania sieci
Josh

Próbowałem, ale nie mogłem wysłać nowego żądania do innego adresu URL (w tej samej domenie) i nie mogłem znaleźć sposobu (np. Z GET na POST).
Purefan,

@Purefan, bez dalszych szczegółów nie możemy pomóc; to działa dla mnie, zobacz zrzut ekranu, który właśnie dodałem. Być może natknąłeś się
Arjan

7

Oprócz Charlesa (już wspomnianego) podoba mi się również dodatek HttpFox dla Mozilla Firefox. Podobnie jak Charles, możesz go używać zarówno na komputerach Mac, jak i Windows. Jest lżejszy niż Charles, ponieważ żyje w przeglądarce, co jest przydatne do szybkiego rozwiązywania problemów. Oto kilka informacji ze strony HttpFox:

HttpFox monitoruje i analizuje cały przychodzący i wychodzący ruch HTTP między przeglądarką a serwerami WWW.

Ma na celu udostępnienie funkcjonalności przeglądarki znanej z narzędzi takich jak HttpWatch lub IEInspector w przeglądarce Firefox.

Informacje dostępne na żądanie obejmują:

  • Nagłówki żądań i odpowiedzi
  • Wysłane i otrzymane pliki cookie
  • Parametry kwerendy
  • Parametry POST
  • Organ odpowiedzi

I zrzut ekranu:

Zrzut ekranu dodatku HttpFox dla Mozilla Firefox


Nie jest to zgodne z nowszymi wersjami Firefoksa (Firedox 57 i Firedex Deveolper Edition 57)
Promather 14.01.18

6

Nie jest to serwer proxy, ale pomaga w debugowaniu HTTP:

Po prostu rozpocznij skanowanie interfejsu, na którym chcesz włączyć ruch HTTP, wykonaj ruch, a następnie zatrzymaj skanowanie i wpisz „HTTP” jako ciąg filtru. Będziesz wtedy mógł sprawdzić wszystkie pakiety rozmowy HTTP. Przy otwartym widoku szczegółów pakietu możesz otworzyć sekcję HTTP, która pozostanie otwarta między pakietami.

To świetne narzędzie, które nie wymaga zmiany proxy przeglądarki. Z drugiej strony nie może pomóc w ruchu HTTPS, ponieważ jest szyfrowany. (Chociaż może odszyfrować połączenia SSL korzystające z RSA )


2
Tylko aktualizacja: Wireshark jest bolesny dla OS X. Wymaga X11, który nie jest już zawarty w OS X, więc ostatecznie używasz około 200 MB dysku razem.
Marko Bonaci,

2
Po prostu aktualizacja aktualizacji @MarkoBonaci, Wireshark 2.x działa teraz świetnie na OSX, porzucił potrzebę X11.
0x7c0,

@MarkoBonaci - powinieneś po prostu zainstalować qt.
arcseldon



2

Wydaje się, że darmowy GlimmerBlocker może zrobić część sztuczki.

Oczywiście może blokować wszelkiego rodzaju treści i przekształcać odpowiedzi, zanim przeglądarka je odbierze. Ale w rzeczywistości może modyfikować zarówno żądania, jak i odpowiedzi . I choć nie jest to prawda debugowanie, oferuje także rejestrowanie. Może więc odpowiadać podstawowym potrzebom :

W GlimmerBlocker działają 4 typy skryptów, a niektóre obiekty są zdefiniowane tylko dla niektórych typów skryptów:

  • globalny serwer proxy: ustawia globalne ustawienia serwera proxy i może testować np. nazwę lokalizacji, sieć AirPort.
  • modyfikacja żądania: może zmienić żądany adres URL, odesłać odpowiedź przekierowania do przeglądarki lub wysłać tekst / HTML z powrotem do przeglądarki.
  • rozwijanie słów kluczowych. [Tylko Safari, AvB]
  • transform: zmodyfikuj odpowiedź otrzymaną przez serwer WWW przed odesłaniem go do Safari [lub dowolnej przeglądarki skonfigurowanej do korzystania z serwera proxy dostarczanego przez GlimmerBlocker, AvB].

(Można go również użyć do włączenia różnych skryptów Greasemonkey do otrzymanej odpowiedzi, bez użycia dodatku Greasemonkey, na przykład do blokowania Flasha bez instalowania żadnego dodatku).


GlimmerBlocker to ciekawe narzędzie, ale inne niż to, czego szukam. Ponownie zredagowałem oryginalny opis, aby usunąć przykłady przepisywania i wyjaśnić, że chcę jedynie monitorować ruch, a nie go przekształcać.
Doug Harris

2

Możesz łatwo skonfigurować Fiddler dla komputerów Mac za pomocą Parallels zgodnie z instrukcjami na ich stronie.

Jedynym zastrzeżeniem jest to, że musisz ręcznie skonfigurować ustawienia sieciowe, aby wskazywały adres IP maszyny wirtualnej, ale tak naprawdę nie jest to wielka sprawa.


7
Nie nazwałbym tego „łatwym” - wymaga zakupu i instalacji serwera VM oraz zupełnie innego systemu operacyjnego.
James Moore,

Mam 5 wpisów w tym podpowiedzi i tylko jeden z nich ma format IPv4. Który powinienem wybrać? :)
Alex Sorokoletov

1
Możesz użyć bezpłatnego oprogramowania do wirtualizacji, takiego jak VirtualBox firmy Oracle wraz z maszyną wirtualną od modern.ie, jeśli chcesz uruchomić system operacyjny Windows (po 90 dniach trzeba go zresetować) - niezbyt wysokie zamówienie dla kogoś z potrzebnymi umiejętnościami uruchomić zaawansowany internetowy serwer proxy do debugowania
iX3

Jeśli to pytanie było otwarte - ktoś powinien wspomnieć o Fiddler dla komputerów Mac - telerik.com/download/fiddler przy użyciu platformy Mono ...
Mars Robertson,

I to nie działa dla mnie w macOS
tom10271

1

jMeter może być również pomocny; jest przeznaczony do testowania wydajności ładowania na serwerach internetowych, ale może nadal robić to, czego potrzebujesz. jMeter jest napisany w Javie, więc możesz pobrać plik .jar, który będzie działał na komputerach Mac, Windows lub Linux.



1

Jeśli masz do czynienia z ruchem aplikacji lub integracjami API innych firm, które przechodzą przez publiczny internet, powinieneś wypróbować Runscope (którego pełne ujawnienie jestem współzałożycielem). Przechwytuje żądania HTTP do dowolnego adresu URL, zapewnia ładny widok strumienia do debugowania i ułatwia udostępnianie indywidualnych żądań innym osobom.


0

Możesz także spróbować APIKitchen . Pomaga w debugowaniu i testowaniu interfejsów API HTTP i ogólnie wszystkich żądań. Ma również wersję offline do testowania w twoich sieciach wewnętrznych. Nie wymaga instalacji.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.