Mencari proxy debugging HTTP untuk Mac yang mirip dengan Fiddler di Windows [ditutup]

240

Dalam pekerjaan sebelumnya ketika saya bekerja pada mesin Windows, saya telah menggunakan Fiddler untuk melihat transaksi HTTP dan debugging.

Saya secara khusus ingin memantau transaksi HTTP untuk situs ajax yang saya kerjakan untuk memverifikasi bahwa situs tersebut melakukan apa yang saya harapkan. Menulis ulang HTTP (seperti yang disediakan oleh Fiddler) adalah hal yang baik untuk dimiliki, tetapi tidak penting.

Adakah yang bisa merekomendasikan sesuatu yang serupa untuk digunakan pada Mac?

Doug Harris
sumber
4
Ini telah ditutup, tetapi masih ada, jadi perlu ditambahkan: Fiddler sekarang dalam alpha untuk mac os.
boomhauer
1
saya tidak tahu mengapa ini akan ditutup? memiliki 113 upvotes. tidak seperti ini adalah permintaan pada stack overflow.
genxgeek
Baca alasannya langsung di atas komentar ini - "Pertanyaan yang mencari rekomendasi produk, layanan, atau materi pembelajaran di luar topik"
Doug Harris
Fireup Fiddler pada mesin Windows terdekat dan konfigurasikan MAC Anda ke proxy melalui mesin Windows dan voila! semua yang ada di MAC Anda akan terlihat di Windows :)
Korayem
2
FYI, bagi mereka yang benar-benar bersemangat membaca komentar @boomhauer: Fiddler untuk OSX masih menggunakan Alpha, yang terakhir disentuh pada Juli 2013, membutuhkan kerangka kerja Mono (jadi pada dasarnya hanya pembungkus untuk versi Windows, tidak sebenarnya difaktorkan ulang untuk Cocoa), dan rilis ini memiliki catatan: "Mac Note: Kerangka WinForms pada Mac hampir buggy. Taruhan terbaik Anda adalah menjalankan Fiddler di dalam Linux atau Windows Virtual Machine dan arahkan pengaturan proxy Mac pada saat itu . "
Anthony

Jawaban:

130

Gunakan Chrome dan arahkan ke chrome: // net-internal /

Ini memungkinkan analisis terperinci dan kesedihan.

brains_at_work
sumber
1
Bagus. Tahu kapan itu ditambahkan ke chrome?
Doug Harris
2
Tidak maaf. Saya dulu bekerja dengan Fiddler di Windows, tetapi pindah ke Mac saya tersandung net-internal sambil mencari fitur chrome tersembunyi.
brains_at_work
5
alat ini tampaknya "rapi" tetapi bagaimana Anda bisa melihat seluruh muatan permintaan (mis. GET header permintaan?)
genxgeek
AFAIK, ini tidak menawarkan cara untuk memodifikasi data dalam perjalanan seperti yang dilakukan Fiddler dengan FiddlerScript, AutoResponder, dan breakpoints. Alat yang bagus tetapi untuk tujuan yang berbeda.
iX3
33
alat ini sepertinya hanya menangkap lalu lintas chrome. Apakah ada cara untuk menggunakan alat ini untuk menangkap lalu lintas http dari / ke proses tertentu?
morpheus
71

Saya menemukan Charles Proxy . Ini jauh lebih dekat dengan fungsi Fiddler. Ini tidak gratis, tetapi mungkin sepadan dengan harganya.

Doug Harris
sumber
Hanya ingin tahu: apakah ada orang di sini yang pernah menggunakannya?
Arjan
Saya menggunakannya selama satu atau dua jam setelah saya menemukannya. Versi uji coba memiliki beberapa layar cerewet dan batasan 30 menit, tapi saya rasa itu tidak masuk akal. Saya sedang mencari header spesifik dalam respons HTTP dan saya bisa melihatnya dengan mudah.
Doug Harris
1
Yang menyenangkan tentang Charles adalah tersedia untuk OSX dan Windows jadi jika Anda sering bolak-balik itu adalah alat umum yang bagus.
Justin Ohms
5
Fungsi penting yang disediakan charles (dan fiddler dan mungkin webscarab) adalah kemampuan untuk mencegat dan mengubah permintaan, termasuk dekripsi https.
urban_raccoons
1
Saya menggunakan Charles untuk mendekripsi permintaan Instagram, Facebook, dan aplikasi seluler lainnya https. Arahkan Proxy iPhone ke Charles dan saya dapat melihat bagaimana mereka mengirim data dan data apa yang mereka kirim!
Mário Carvalho
35

Saya telah menggunakan mitmproxy untuk mencegat lalu lintas HTTP. Ini adalah alat yang hebat dan Anda dapat menggunakannya untuk debugging perangkat seluler juga atau sistem operasi apa pun.

Eikes
sumber
MENCINTAI INI! Kebetulan, untuk semua skrip kiddies, jika Anda menulis kode di sesuatu selain JS yang duduk di browser, hal ini adalah THE tiket.
Shane
30

Aplikasi mac favorit saya untuk memantau lalu lintas adalah HTTPScoop , saya merinci itu dan juga menggunakan tcpdump dari commandline di posting ini yang saya buat blog tahun lalu .

Ted Naleid
sumber
Jika Anda mengenal Wireshark (atau Cocoa Packet Analyzer yang kurang kuat): dapatkah Anda membandingkan HTTPScoop dengan itu?
Arjan
1
Cocoa Packet Analyzer juga cukup sederhana. Namun, saya tidak pernah menemukan cara untuk menyaring beberapa pelabuhan atau alamat IP server tertentu, dan kemudian melihat kedua permintaan dan membalas ... Itu mudah dilakukan di Wireshark. (Cukup ketikkan smtpfilter tampilan untuk melihat semua lalu lintas yang menggunakan protokol SMTP. Atau tcp.port == 25untuk mendapatkan semua lalu lintas ke port 25, dan tanggapannya. Atau http and ip.addr == xxxuntuk mendapatkan semua lalu lintas HTTP ke dan dari beberapa server.)
Arjan
1
httpscoop tampak menjanjikan, sayangnya tampaknya ditinggalkan dan saya tidak dapat menangkap lalu lintas localhost pada 10.9.2. Rilis terakhir tanggal kembali ke 2009 dan situs web calo ans v2.0 mendatang yang tampaknya tidak akan datang: /
Jean
1
Saya mencoba menggunakan aplikasi ini, mengerikan dibandingkan dengan fiddler. Saya ingin menangkap semua lalu lintas dan semua port semua antarmuka bukan port 80 di localhost. Saya mencoba menambahkan port yang saya inginkan melalui preferensi (dengan scoop off). Ini tidak membantu saya karena hal-hal yang ingin saya pantau adalah pada dua antarmuka yang berbeda misalnya lo / en0
KnuturO
1
Tautan ke blog tidak berfungsi :(
Reg
19

Bukan yang Anda tanyakan, tetapi di Firefox, add-on Header HTTP Langsung adalah yang saya butuhkan jika saya ingin mengedit dan memutar ulang permintaan, termasuk mengubah URL dan metode HTTP.

Header HTTP Langsung

Di Firebug, Pemantauan Jaringan menunjukkan semua permintaan dan tanggapan. Demikian juga, di Safari panel Sumber Daya dari Web Inspektur bawaan mencakup sebagian besar kebutuhan saya juga. (Aktifkan Inspektur Web melalui preferensi: Tampilkan menu Kembangkan di bilah menu .) Chrome dan Firefox memiliki alat serupa.

Ketika segalanya menjadi lebih rumit, saya jalankan sniffer paket Wireshark saya . Namun, tidak seperti Fiddler, Wireshark tidak membiarkan Anda mengubah data, dan tidak mendukung hal-hal seperti penjawab otomatis, seperti yang dilakukan Fiddler.

Untuk Wireshark, lihat Hyper Text Transfer Protocol (HTTP) untuk beberapa informasi penangkapan HTTP generik, dan Pengambilan Paket HTTP untuk debug Apache , untuk beberapa contoh tampilan filter. (Anda mungkin ingin mengatur filter tangkap ke " port 80", untuk menampilkan semua permintaan ke port itu, dan tanggapan dari port itu. Atau, untuk membatasi ke beberapa server, gunakan filter tangkap " port 80 and host www.google.com".) Seperti:

# Tampilkan hanya 404: halaman tidak ditemukan
http.response.code == 404

# Hanya tampilkan metode HTTP tertentu
http.request.method == "POST" || http.request.method == "PUT"

# Tampilkan hanya javascript
http.content_type berisi "javascript"

Perhatikan bahwa Wireshark dapat mendekompresi gzip atau mengempiskan hal-hal yang dikodekan dengan cepat untuk Anda. Itu membuat banyak hal lebih mudah dibaca karena sebagian besar server web akan mengompres data yang mereka kirim ke browser.

(Adapun responden otomatis: JS Bin yang luar biasa memiliki video pendek tentang cara menggunakannya untuk men-debug permintaan Ajax. Jika Anda tidak tahu JS Bin, maka pertama-tama lihat video pengantar.)

Arjan
sumber
1 untuk Firebug - Saya suka alat pemantauan jaringan mereka
Josh
Saya mencobanya tetapi saya tidak dapat membuat permintaan baru ke url yang berbeda (dalam domain yang sama) dan tidak dapat menemukan caranya (dari GET ke POST misalnya).
Purefan
@ Murnifan, tanpa detail lebih lanjut kami tidak dapat membantu; ini berfungsi untuk saya, lihat tangkapan layar yang baru saja saya tambahkan. Anda mungkin bertemu dengan mozdev.org/bugs/show_bug.cgi?id=25831
Arjan
7

Selain Charles (sudah disebutkan), saya juga suka add-on HttpFox untuk Mozilla Firefox. Seperti Charles, Anda dapat menggunakannya di Mac dan Windows. Bobotnya lebih ringan daripada Charles karena ia hidup di peramban, berguna untuk pemecahan masalah yang cepat. Berikut beberapa informasi dari halaman HttpFox:

HttpFox memonitor dan menganalisis semua lalu lintas HTTP masuk dan keluar antara browser dan server web.

Ini bertujuan untuk membawa fungsionalitas yang dikenal dari alat-alat seperti HttpWatch atau IEInspector ke browser Firefox.

Informasi yang tersedia per permintaan termasuk:

  • Tajuk permintaan dan respons
  • Cookie terkirim dan diterima
  • Parameter tanya
  • Parameter POST
  • Respon tubuh

Dan, tangkapan layar:

Cuplikan layar pengaya HttpFox untuk Mozilla Firefox

Chris W. Rea
sumber
Ini tidak kompatibel dengan versi Firefox yang lebih baru (Firedox 57 dan Firedex Deveolper Edition 57)
Promather
6

Bukan proxy, tetapi membantu debugging HTTP:

Cukup mulai pemindaian pada antarmuka yang akan mengaktifkan lalu lintas HTTP, jalankan lalu lintas, lalu hentikan pemindaian dan ketik "HTTP" sebagai string filter. Anda kemudian dapat memeriksa semua paket percakapan HTTP. Dengan tampilan Detail Paket terbuka, Anda dapat membuka bagian HTTP dan akan tetap terbuka di antara paket.

Ini adalah alat yang hebat untuk dimiliki dan tidak mengharuskan Anda untuk mengubah proxy browser. Di sisi lain itu tidak dapat membantu dengan lalu lintas HTTPS karena itu dienkripsi. (Meskipun dapat mendekripsi koneksi SSL yang menggunakan RSA )

w00t
sumber
2
Hanya pembaruan: Wireshark terasa sakit pada OS X. Ini membutuhkan X11, yang tidak lagi termasuk dalam OS X, jadi Anda akhirnya menggunakan sekitar 200MB disk secara bersamaan.
Marko Bonaci
2
Hanya pembaruan pada pembaruan @MarkoBonaci, Wireshark 2.x sekarang berjalan dengan baik pada OSX membuang kebutuhan untuk X11.
0x7c0
@MarkoBonaci - Anda hanya perlu menginstal dengan qt.
arcseldon
5

Saya terlambat tetapi - Saya menggunakan Paros Proxy . Itu di Jawa, jadi, lintas platform. Meskipun jika Anda lebih suka untuk itu akan dikemas sebagai aplikasi, ada satu di sini di bagian bawah.

Abhinav Gupta
sumber
2

Tampaknya GlimmerBlocker gratis dapat melakukan sebagian dari triknya.

Tentu saja ia dapat memblokir semua jenis konten, dan mengubah respons sebelum browser menerimanya. Tetapi sebenarnya bisa memodifikasi permintaan dan tanggapan . Dan meskipun debugging tidak benar, ia juga menawarkan logging. Jadi, itu mungkin sesuai dengan kebutuhan dasar :

Ada 4 jenis skrip yang berjalan di dalam GlimmerBlocker, dan beberapa objek hanya didefinisikan untuk beberapa jenis skrip:

  • global proxy: ini menetapkan pengaturan proxy global, dan dapat menguji misalnya nama lokasi, jaringan AirPort.
  • modifikasi permintaan: ini dapat mengubah URL yang diminta, mengirim kembali respons pengalihan ke browser, atau mengirim teks / html kembali ke browser.
  • perluasan kata kunci. [Khusus Safari, AvB]
  • transform: modifikasi respons yang diterima oleh server-web sebelum dikirim kembali ke Safari [atau browser apa pun yang diatur untuk menggunakan proxy yang disediakan oleh GlimmerBlocker, AvB].

(Seseorang juga dapat menggunakannya untuk memasukkan berbagai skrip Greasemonkey dalam respons yang diterima, tanpa menggunakan add-on Greasemonkey, ingin memblokir Flash tanpa memasang add-on apa pun.)

Arjan
sumber
GlimmerBlocker adalah alat yang menarik, tetapi berbeda dari yang saya cari. Saya telah mengedit kembali deskripsi asli untuk menghapus contoh penulisan ulang dan mengklarifikasi bahwa saya hanya mencari untuk memantau lalu lintas dan tidak mengubahnya.
Doug Harris
2

Anda dapat dengan mudah mengkonfigurasi Fiddler untuk Mac menggunakan Parallels sesuai instruksi di situs mereka.

Satu-satunya peringatan adalah bahwa Anda harus mengkonfigurasi pengaturan Jaringan Anda secara manual untuk menunjuk ke alamat IP VM tetapi tidak terlalu besar.

aleemb
sumber
7
Saya tidak akan menyebutnya "mudah" - ini membutuhkan pembelian dan pemasangan server vm dan sistem operasi yang sama sekali berbeda.
James Moore
Saya memiliki 5 entri dalam tooltip ini dan hanya satu yang merupakan format IPv4. Yang mana yang harus saya pilih? :)
Alex Sorokoletov
1
Anda dapat menggunakan perangkat lunak virtualisasi gratis seperti Oracle VirtualBox bersama dengan VM dari modern.ie jika Anda ingin menjalankan OS Windows (setelah 90 hari itu perlu diatur ulang) - pesanan yang tidak terlalu tinggi untuk seseorang dengan keterampilan yang dibutuhkan untuk menjalankan proxy web debug lanjutan
iX3
Jika pertanyaan ini terbuka - seseorang harus menyebutkan Fiddler untuk Mac - telerik.com/download/fiddler menggunakan kerangka Mono ...
Mars Robertson
Dan itu tidak bekerja untuk saya di macOS
tom10271
1

jMeter mungkin juga membantu; itu dirancang untuk menguji kinerja beban di server web, tetapi mungkin masih melakukan apa yang Anda butuhkan. jMeter ditulis dalam Java, sehingga Anda dapat mengunduh file .jar yang akan berjalan di Mac, Windows, atau Linux.

Evie
sumber
1

Penganalisa Paket Cocoa sangat membantu.

actuosus
sumber
4
Bagaimana ini membantu? Sebuah tebing mencatat versi yang akan sangat membantu
Journeyman Geek
penganalisa paket cocoa berhasil menangkap trafik HTTP tetapi tidak melakukan rekonstruksi permintaan / respons :(
Jean
1

Jika Anda berurusan dengan lalu lintas aplikasi atau integrasi API pihak ketiga yang menggunakan internet publik, Anda harus mencoba Runscope (yang, pengungkapan penuh, saya adalah co-founder). Ini menangkap permintaan HTTP ke URL apa pun, memberi Anda tampilan aliran yang bagus untuk debugging dan memudahkan untuk berbagi permintaan individual dengan orang lain.

John Sheehan
sumber
0

Anda juga dapat mencoba APIKitchen . Ini membantu Anda dalam debugging dan pengujian API HTTP dan permintaan apa pun secara umum. Ini juga memiliki versi offline untuk pengujian di jaringan internal Anda. Tidak diperlukan instalasi.

kontinuitas
sumber