Alla ricerca di proxy di debug HTTP per Mac simile a Fiddler su Windows [chiuso]


240

Nei lavori precedenti, quando ho lavorato su un computer Windows, ho usato Fiddler per visualizzare le transazioni HTTP e il debug.

Sto specificamente cercando di monitorare le transazioni HTTP per un sito ajax su cui sto lavorando per verificare che il sito stia facendo quello che mi aspetto. Riscrivere HTTP (come fornito da Fiddler) è un aspetto piacevole, ma non essenziale.

Qualcuno può consigliare qualcosa di simile per l'uso su un Mac?


4
Questo è stato chiuso, ma esiste ancora, quindi deve essere aggiunto: Fiddler è ora in Alpha per Mac OS.
boomhauer,

1
non so perché questo sarebbe chiuso? ha 113 voti positivi. non è come se si trattasse di una richiesta di overflow dello stack.
genxgeek,

Leggi la logica direttamente sopra questi commenti - "Le domande che richiedono consigli su prodotti, servizi o materiale didattico sono fuori tema"
Doug Harris,

Fireup Fiddler su un computer Windows nelle vicinanze e configura il tuo MAC in modo che esegua il proxy su un computer Windows e voilà! tutto sul tuo MAC sarà visto su Windows :)
Korayem

2
Cordiali saluti, per coloro che sono rimasti davvero entusiasti di leggere il commento di @boomhauer: Fiddler per OSX è ancora in Alpha, essendo stato toccato l'ultima volta a luglio 2013, richiede il framework Mono (quindi è fondamentalmente solo un wrapper per la versione di Windows, non in realtà re-factored per Cocoa) e la versione riporta la nota: "Nota per Mac: il framework WinForms su Mac è quasi insolitamente difettoso. La soluzione migliore è eseguire Fiddler all'interno di una macchina virtuale Linux o Windows e puntare le impostazioni proxy del Mac su ".
Anthony

Risposte:


130

Usa Chrome e vai a chrome: // net-internals /

Consente analisi dettagliate e discariche.


1
Bello. Qualche idea su quando è stato aggiunto a Chrome?
Doug Harris,

2
No scusa. Lavoravo con Fiddler su Windows, ma passando a un Mac mi sono imbattuto in net-internals mentre cercavo funzionalità di Chrome nascoste.
brains_at_work

5
questo strumento sembra "pulito" ma come è possibile visualizzare l'intero payload della richiesta (ovvero le intestazioni della richiesta GET?)
genxgeek

AFAIK, questo non offre un modo per modificare i dati in transito come fa Fiddler con FiddlerScript, AutoResponder e punti di interruzione. Ottimo strumento ma per scopi diversi.
iX3,

33
questo strumento sembra catturare solo il traffico di Chrome. Esiste un modo per utilizzare questo strumento per acquisire il traffico http da / verso un determinato processo?
Morpheus,

71

Ho trovato Charles Proxy . È molto più vicino alla funzionalità di Fiddler. Non è gratuito, ma può valere il prezzo.


Solo curioso: qualcuno qui l'ha mai usato?
Arjan,

L'ho usato per un'ora o due dopo averlo trovato. La versione di prova ha alcune schermate e una limitazione di 30 minuti, ma non credo che siano irragionevoli. Stavo cercando intestazioni specifiche nella risposta HTTP e sono riuscito a vederle facilmente.
Doug Harris,

1
La cosa bella di Charles è che è disponibile sia per OSX che per Windows, quindi se vai avanti e indietro frequentemente è un bel strumento comune.
Justin Ohms,

5
Un'importante funzionalità fornita da Charles (e Fiddler e forse Webscarab) è la capacità di intercettare e modificare le richieste, inclusa la decrittazione https.
urban_raccoons

1
Uso Charles per decrittografare le richieste https di Instagram, Facebook e altre app mobili. Basta puntare il proxy iPhone a Charles e sono in grado di vedere come inviano i dati e quali dati inviano!
Mário Carvalho,

35

Ho usato mitmproxy per intercettare il traffico HTTP. È un ottimo strumento e puoi usarlo anche per il debug di dispositivi mobili o qualsiasi sistema operativo.


ADORO QUESTO! Per inciso, per tutti gli script kiddie, nel caso in cui tu scriva codice in qualcosa di diverso da JS seduto nel browser, questa cosa è IL biglietto.
Shane,

30

La mia app per Mac preferita per il monitoraggio del traffico è HTTPScoop , in dettaglio che oltre a utilizzare tcpdump dalla riga di comando in questo post ho scritto sul blog l'anno scorso .


Se ti capita di conoscere Wireshark (o il meno potente Cocoa Packet Analyzer): puoi confrontare HTTPScoop con quello?
Arjan,

1
Cocoa Packet Analyzer è anche abbastanza semplice. Tuttavia, non ho mai capito come filtrare un determinato indirizzo IP della porta o del server e quindi vedere sia la richiesta che la risposta ... Questo è facile da fare in Wireshark. (Basta digitare smtpcome filtro di visualizzazione per visualizzare tutto il traffico che utilizza il protocollo SMTP. O tcp.port == 25per ottenere tutto il traffico sulla porta 25 e le sue risposte. O http and ip.addr == xxxper ottenere tutto il traffico HTTP da e verso alcuni server.)
Arjan

1
httpscoop sembrava promettente, purtroppo sembra essere stato abbandonato e non sono riuscito a catturare il traffico localhost su 10.9.2. L'ultima versione risale al 2009 e il sito Web annuncia la prossima versione 2.0 che non sembra essere imminente: /
Jean

1
Ho provato a usare questa app, è orribile rispetto al violinista. Voglio catturare tutto il traffico e tutte le porte tutte le interfacce non la porta 80 su localhost. Ho provato ad aggiungere le porte che volevo attraverso le preferenze (con lo scoop off). Questo non mi ha aiutato poiché le cose che volevo monitorare erano su due diverse interfacce, ad esempio lo / en0
KnuturO,

1
Link al blog non funzionante :(
Reg

19

Non è quello che mi hai chiesto, ma in Firefox il componente aggiuntivo Live HTTP Headers è tutto ciò di cui ho bisogno se voglio modificare e riprodurre nuovamente le richieste, inclusa la modifica dell'URL e del metodo HTTP.

Intestazioni HTTP in tempo reale

In Firebug, il monitoraggio della rete mostra tutte le richieste e le risposte. Allo stesso modo, in Safari il riquadro Risorse di Web Inspector integrato copre anche la maggior parte delle mie esigenze. (Abilita Web Inspector tramite le preferenze: mostra il menu Sviluppo nella barra dei menu .) Chrome e Firefox hanno strumenti simili.

Quando le cose si complicano, accendo il mio sniffer di pacchetti Wireshark . Tuttavia, a differenza di Fiddler, Wireshark non ti consente di modificare i dati e non supporta cose come i risponditori automatici, come apparentemente Fiddler.

Per Wireshark, vedere Hyper Text Transfer Protocol (HTTP) per alcune informazioni di acquisizione HTTP generiche e HTTP Packet Capturing per il debug di Apache , per alcuni filtri di visualizzazione di esempio . (Potresti voler impostare il filtro di acquisizione su " port 80", per mostrare tutte le richieste a quella porta e le risposte da quella porta. Oppure, per limitare ad alcuni server, usa il filtro di acquisizione " port 80 and host www.google.com".) Come:

# Mostra solo 404: pagina non trovata
http.response.code == 404

# Mostra solo alcuni metodi HTTP
http.request.method == "POST" || http.request.method == "PUT"

# Mostra solo javascript
http.content_type contiene "javascript"

Nota che Wireshark può decomprimere gzip o sgonfiare al volo oggetti codificati (compressi). Ciò rende le cose molto più facili da leggere poiché la maggior parte dei server Web comprime i dati che inviano a un browser.

(Per quanto riguarda i risponditori automatici: l'eccellente JS Bin ha un breve video su come usarlo per eseguire il debug delle richieste Ajax. Se non conosci JS Bin, prima guarda il video introduttivo.)


+1 per Firebug - Adoro il loro strumento di monitoraggio della rete
Josh,

L'ho provato ma non ho potuto fare una nuova richiesta a un URL diverso (nello stesso dominio) e non sono riuscito a trovare il modo (da un GET a un POST, ad esempio).
Purefan,

@Purefan, senza ulteriori dettagli non possiamo aiutare; funziona per me, vedi lo screenshot che ho appena aggiunto. Potresti
Arjan il

7

Oltre a Charles (già menzionato), mi piace anche il componente aggiuntivo HttpFox per Mozilla Firefox. Come Charles, puoi usarlo sia su Mac che su Windows. È più leggero di Charles perché vive nel browser, utile per una rapida risoluzione dei problemi. Ecco alcune informazioni dalla pagina HttpFox:

HttpFox monitora e analizza tutto il traffico HTTP in entrata e in uscita tra il browser e i server Web.

Ha lo scopo di portare la funzionalità nota da strumenti come HttpWatch o IEInspector al browser Firefox.

Le informazioni disponibili per richiesta includono:

  • Intestazioni di richiesta e risposta
  • Cookie inviati e ricevuti
  • Parametri di querystring
  • Parametri POST
  • Corpo di risposta

E uno screenshot:

Schermata del componente aggiuntivo HttpFox per Mozilla Firefox


Questo non è compatibile con le versioni più recenti di Firefox (Firedox 57 e Firedex Deveolper Edition 57)
Promather

6

Non è un proxy, ma aiuta nel debug HTTP:

Basta avviare una scansione sull'interfaccia su cui si desidera avere il traffico HTTP, eseguire il traffico e quindi interrompere la scansione e digitare "HTTP" come stringa di filtro. Sarai quindi in grado di ispezionare tutti i pacchetti della conversazione HTTP. Con la vista Dettagli pacchetto aperta è possibile aprire la sezione HTTP e rimarrà aperta tra i pacchetti.

È un ottimo strumento da avere e non richiede di cambiare il proxy del browser. D'altra parte non può essere d'aiuto con il traffico HTTPS poiché è crittografato. (Sebbene possa decrittografare le connessioni SSL che utilizzano RSA )


2
Solo un aggiornamento: Wireshark è un problema per OS X. Richiede X11, che non è più incluso in OS X, quindi finisci per usare tutti i 200 MB di disco tutti insieme.
Marko Bonaci,

2
Solo un aggiornamento sull'aggiornamento @MarkoBonaci, Wireshark 2.x ora funziona alla grande su OSX, eliminando la necessità di X11.
0x7c0,

@MarkoBonaci - dovresti semplicemente installare con qt.
ArcSeldon,

5

Sono in ritardo ma ... uso Paros Proxy . È in Java, quindi, multipiattaforma. Tuttavia, se preferisci che sia impacchettato come app, ce n'è uno qui in fondo.



2

Sembra che il GlimmerBlocker gratuito possa fare parte del trucco.

Naturalmente può bloccare qualsiasi tipo di contenuto e trasformare le risposte prima che il browser le riceva. Ma in realtà può modificare sia le richieste che le risposte . E sebbene non sia un vero debug, offre anche la registrazione. Quindi, potrebbe soddisfare le esigenze di base :

Esistono 4 tipi di script in esecuzione all'interno di GlimmerBlocker e alcuni oggetti sono definiti solo per alcuni tipi di script:

  • proxy globale: imposta le impostazioni del proxy globale e può verificare, ad esempio, il nome della posizione, la rete AirPort.
  • richiesta di modifica: questo può cambiare l'URL richiesto, inviare una risposta di reindirizzamento al browser o inviare testo / html al browser.
  • espansione delle parole chiave. [Solo Safari, AvB]
  • trasforma: modifica la risposta ricevuta dal web server prima che venga rispedito a Safari [o qualsiasi browser impostato per utilizzare il proxy fornito da GlimmerBlocker, AvB].

(Uno può anche usarlo per includere vari script Greasemonkey nella risposta ricevuta, senza usare un componente aggiuntivo Greasemonkey, come bloccare Flash senza installare alcun componente aggiuntivo.)


GlimmerBlocker è uno strumento interessante, ma diverso da quello che sto cercando. Ho modificato nuovamente la descrizione originale per rimuovere gli esempi di riscrittura e chiarire che sto semplicemente cercando di monitorare il traffico e non trasformarlo.
Doug Harris,

2

Puoi facilmente configurare Fiddler per Mac usando Parallels secondo le istruzioni sul loro sito.

L'unica avvertenza è che è necessario configurare manualmente le impostazioni di rete in modo che puntino all'indirizzo IP della VM, ma non è poi un grosso problema.


7
Non lo definirei "facilmente": richiede l'acquisto e l'installazione di un server VM e di un sistema operativo completamente diverso.
James Moore,

Ho 5 voci in questo suggerimento e solo una di queste è in formato IPv4. Quale dovrei scegliere? :)
Alex Sorokoletov,

1
Puoi usare software di virtualizzazione gratuito come VirtualBox di Oracle insieme a una VM di modern.ie se vuoi eseguire un sistema operativo Windows (dopo 90 giorni deve essere ripristinato) - un ordine non troppo alto per qualcuno con le competenze necessarie per eseguire un proxy di debug web avanzato
iX3

Se questa domanda fosse aperta - qualcuno dovrebbe menzionare Fiddler per Mac - telerik.com/download/fiddler usando il framework Mono ...
Mars Robertson,

E non funziona per me in macOS
tom10271

1

jMeter potrebbe anche essere utile; è progettato per testare le prestazioni di carico sui server Web, ma potrebbe comunque fare ciò di cui hai bisogno. jMeter è scritto in Java, quindi puoi scaricare un file .jar che verrà eseguito su Mac, Windows o Linux.


1

Cocoa Packet Analyzer è molto utile.


4
Come è utile? Una versione delle note sulle scogliere sarebbe di grande aiuto
Journeyman Geek

analizzatore di pacchetti di cacao è stato in grado di catturare con successo il traffico HTTP ma non esegue la ricostruzione richiesta / risposta :(
Jean

1

Se hai a che fare con il traffico di app o integrazioni API di terze parti che passano su Internet pubblica, dovresti provare Runscope (di cui, a completa divulgazione, sono un co-fondatore). Cattura le richieste HTTP su qualsiasi URL, ti offre una bella visualizzazione dello streaming per il debug e semplifica la condivisione di singole richieste con altri.


0

Puoi anche provare APIKitchen . Ti aiuta nel debug e nel test delle API HTTP e di tutte le richieste in generale. Ha anche una versione offline per il test nelle reti interne. Nessuna installazione necessaria.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.