Windows'ta Mac için Fiddler'a benzer Mac için HTTP hata ayıklama proxy'si arıyorsunuz [kapalı]


240

Bir Windows makinesinde çalıştığım önceki işlerde, HTTP işlemlerini görüntülemek ve hata ayıklamak için Fiddler kullandım .

Özellikle sitenin beklediğim şeyi yaptığını doğrulamak için üzerinde çalıştığım bir ajax sitesinin HTTP işlemlerini izlemek istiyorum. HTTP'nin yeniden yazılması (Fiddler tarafından sağlandığı gibi) sahip olunması güzel, ancak şart değildir.

Mac'te kullanmak için benzer bir şey öneren var mı?


4
Bu kapatıldı, ancak hala var, bu yüzden şunu eklemiş olmalı: Fiddler şimdi mac os için alfa.
boomhauer

1
Bunun neden kapalı olacağını bilmiyorum? 113 oy hakkına sahiptir. yığın taşması sorusu değildi.
genxgeek

Bu yorumların hemen üstündeki gerekçeyi okuyun - "Ürün, hizmet veya öğrenme materyali önerileri arayan sorular konu dışı"
Doug Harris

Yakındaki bir Windows makinesinde Fireup Fiddler ve MAC'inizi Windows makine ve işte üzerinden proxy yapacak şekilde yapılandırın!
MAC'inizdeki

2
FYI, @boomhauer'in yorumunu okumaktan gerçekten heyecanlananlar için: OSX için çalışan Fiddler hala Alpha'da, en son Temmuz 2013'te dokundu. Cocoa için yeniden faktörlendirilmiş) ve sürümde şu not var: "Mac Not: Mac'teki WinForms çerçevesi neredeyse hiç alışılmadık bir durum. ."
Anthony,

Yanıtlar:


130

Chrome'u kullanın ve chrome konumuna gidin: // net-internals /

Detaylı analiz ve dökümlere izin verir.


1
Güzel. Kroma eklendiğinde bir fikrin var mı?
Doug Harris

2
Hayır üzgünüm. Eskiden Windows'ta Fiddler ile çalışıyordum, ancak bir Mac'e taşınıyordum.
brains_at_work

5
bu araç "temiz" görünüyor ancak istek yükünün tamamını nasıl görebilirsiniz (örn. GET istek başlıkları?)
genxgeek 20:15

AFAIK, Fiddler gibi FiddlerScript, AutoResponder ve kesme noktaları gibi transit verileri değiştirmek için bir yol sunmuyor. İyi bir araç ama farklı amaçlar için.
iX3

33
Bu araç yalnızca krom trafiği yakalamak için görünüyor. Belirli bir işlemden / belirli bir noktaya giden http trafiğini yakalamak için bu aracı kullanmanın bir yolu var mı?
morpheus

71

Charles Proxy'yi buldum . Fiddler'in işlevselliğine çok daha yakın. Ücretsiz değil, ancak fiyat değerinde olabilir.


Merak ettim: burada hiç kimse kullandı mı?
Arjan

Bulduktan sonra bir veya iki saat kullandım. Deneme sürümünde bazı nag ekranları ve 30 dakikalık bir kısıtlama var, ancak bunların mantıksız olduğunu sanmıyorum. HTTP yanıtında belirli başlıklar arıyordum ve bunları kolayca görebildim.
Doug Harris

1
Charles ile ilgili güzel bir şey, hem OSX hem de Windows için mevcut olmasıdır, bu nedenle sık sık ileri geri gidip gelmeniz halinde, genel olarak güzel bir araçtır.
Justin Ohms

5
Karakterlerin (ve kemancıların ve belki de webscarab'ın) sağladığı önemli bir işlevsellik, https şifre çözme de dahil olmak üzere istekleri engelleme ve değiştirme yeteneğidir.
urban_raccoons 9:14

1
Charles'ı Instagram, Facebook ve diğer mobil uygulamalar https isteklerinin şifresini çözmek için kullanıyorum. Sadece iPhone Proxy’yi Charles’a doğrultun ve nasıl veri gönderdiklerini ve hangi verileri gönderdiklerini görebiliyorum!
Mário Carvalho

35

HTTP trafiğini ele geçirmek için mitmproxy kullandım . Harika bir araçtır ve mobil cihazlarda veya bu konuda herhangi bir işletim sisteminde hata ayıklamak için kullanabilirsiniz.


BU YAŞAYIN! Bu arada, tüm senaryo çocuklarında, tarayıcıda JS dışında bir yere kod yazmanız durumunda, bu şey THE bilettir.
Shane,

30

Trafiği izlemek için en sevdiğim mac uygulaması HTTPScoop , geçen yıl blogladığım bu yazıdaki komut satırından tcpdump kullanmanın yanı sıra detayı .


Wireshark'ı (veya daha az güçlü Kakao Paket Analizörü) biliyorsanız: HTTPScoop'u bununla karşılaştırabilir misiniz?
Arjan

1
Kakao Paket Analizörü de oldukça basittir. Ancak, belirli bir bağlantı noktasını veya sunucu IP adresini nasıl filtreleyeceğimi hiç bulamadım ve sonra hem isteği hem de cevabı görebiliyorum ... Kolayca Wireshark'ta yapılıyor. (Yalnızca smtpSMTP protokolünü kullanan tüm trafiği görmek için ekran filtresi olarak yazın . tcp.port == 25Tüm trafiği bağlantı noktası 25'e ve yanıtlarını http and ip.addr == xxxalmak için . Veya tüm HTTP trafiğini bir sunucudan veya bir sunucudan almak için.)
Arjan

1
httpscoop umut verici görünüyordu, ne yazık ki terkedilmiş gibi görünüyor ve 10.9.2'de yerel ev sahibi trafiğini yakalayamadım. Son sürüm 2009'a kadar uzanıyor ve web sitesi yaklaşmakta görünmeyen
Jean

1
Bu uygulamayı kullanmaya çalıştım, kemancı ile karşılaştırıldığında korkunç. Tüm trafiği ve tüm portları localhost'taki port 80 değil tüm arayüzleri yakalamak istiyorum. Tercihlerim üzerinden istediğim portları eklemeye çalıştım (kepçe kapalıyken). İzlemek istediklerim iki farklı arayüzde olduğu için bu bana yardımcı olmadı, örneğin: lo / en0
KnuturO

1
Bloga bağlantı çalışmıyor :(
Reg

19

İstediğiniz şey değil, ancak Firefox’ta Live HTTP Başlıkları eklentisi, URL’yi ve HTTP yöntemini değiştirmek de dahil olmak üzere istekleri düzenlemek ve yeniden oynatmak istersem ihtiyacım olan tek şey.

Canlı HTTP Başlıkları

Firebug'da, Ağ İzleme tüm istekleri ve cevapları gösterir. Aynı şekilde, Safari'de yerleşik Web Denetçisi'nin Kaynaklar bölmesi de ihtiyaçlarımın çoğunu karşılamaktadır. (Tercihler yoluyla Web Denetçisini etkinleştirin: Menü çubuğunda Geliştirme menüsünü göster .) Chrome ve Firefox’un benzer araçları vardır.

İşler daha da karmaşıklaştığında, Wireshark paket dinleyicimi ateşliyorum. Bununla birlikte, Fiddler’in aksine, Wireshark verileri değiştirmenize izin vermiyor ve Fiddler’in göründüğü gibi otomatik cevaplayıcılar gibi şeyleri desteklemiyor.

Wireshark için, bazı genel HTTP yakalama bilgileri için bkz. Hiper Metin Aktarım Protokolü (HTTP) ve bazı örnek ekran filtreleri için Apache'de hata ayıklamak için HTTP Paket Yakalama . (Bu bağlantı noktasına gelen tüm istekleri göstermek ve bu bağlantı noktasından gelen yanıtları göstermek için yakalama filtresini " " olarak ayarlamak isteyebilirsiniz . Veya, bazı sunuculara sınırlamak için " " yakalama filtresini kullanın . "port 80port 80 and host www.google.com

# Yalnızca 404'ü göster: sayfa bulunamadı
http.response.code == 404

# Yalnızca belirli HTTP yöntemlerini göster
http.request.method == "POST" || http.request.method == "PUT"

# Yalnızca javascript göster
http.content_type "javascript" içeriyor

Wireshark'ın sizin için anında gzip'i açabileceğini veya kodlanmış (sıkıştırılmış) şeyleri söndürebileceğini unutmayın. Bu, çoğu web sunucusu bir tarayıcıya gönderdikleri verileri sıkıştıracağından okunması çok daha kolay hale gelir.

(Otomatik yanıtlayıcılara gelince: mükemmel JS Bin'in Ajax isteklerini ayıklamak için nasıl kullanılacağı konusunda kısa bir videosu var. JS Bin'i bilmiyorsanız, önce tanıtım videosunu izleyin.)


Firebug için +1 - Onların ağ izleme aracını seviyorum
Josh

Denedim, ancak farklı bir url'ye (aynı etki alanında) yeni bir istek yapamadım ve bunu (örneğin bir GET’ten bir POST’a) bulamadım.
Purefan

@Purfan, daha fazla ayrıntı olmadan yardım edemeyiz; benim için çalışıyor, eklediğim ekran görüntüsüne bakın. Sen girmek olabilir mozdev.org/bugs/show_bug.cgi?id=25831
Arjan

7

Charles'a (zaten bahsettiğim) ek olarak, Mozilla Firefox için HttpFox eklentisini de seviyorum . Charles gibi, onu hem Mac'te hem de Windows'ta kullanabilirsiniz. Charles'dan daha hafiftir, çünkü tarayıcıda yaşıyor, hızlı sorun giderme için kullanışlıdır. İşte HttpFox sayfasından bazı bilgiler:

HttpFox, tarayıcı ve web sunucuları arasındaki tüm gelen ve giden HTTP trafiğini izler ve analiz eder.

HttpWatch veya IEInspector gibi araçlardan bilinen işlevleri Firefox tarayıcısına getirmeyi amaçlamaktadır.

Her istek için mevcut bilgi şunları içerir:

  • İstek ve yanıt başlıkları
  • Çerezler gönderdi ve aldı
  • Querystring parametreleri
  • POST parametreleri
  • Tepki gövdesi

Ve bir ekran görüntüsü:

Mozilla Firefox için HttpFox eklentisinin ekran görüntüsü


Bu, Firefox'un (Firedox 57 ve Firedex Deveolper Edition 57) yeni sürümleriyle uyumlu değildir
Promather

6

Proxy değil, HTTP hata ayıklamasında yardımcı olur:

Basitçe HTTP trafiğinin açılacağı arayüzde bir tarama başlatın, trafiği yürütün ve ardından taramayı durdurun ve filtre dizesi olarak "HTTP" yazın. HTTP konuşmasının tüm paketlerini inceleyebileceksiniz. Paket Ayrıntısı görünümü açıkken, HTTP bölümünü açabilirsiniz ve paketler arasında açık kalacaktır.

Sahip olmak için harika bir araçtır ve tarayıcı proxy'sini değiştirmenizi gerektirmez. Öte yandan, şifreli olduğundan HTTPS trafiğine yardımcı olamaz. ( RSA kullanan SSL bağlantılarının şifresini çözebilmesine rağmen )


2
Sadece bir güncelleme: Wireshark, OS X'te acı vericidir. Artık OS X'te bulunmayan X11'i gerektirir, bu yüzden birlikte 200 MB'lık bir disk kullanmanız gerekir.
Marko Bonaci

2
@MarkoBonaci güncellemesinde bir güncelleme, Wireshark 2.x şimdi OSX üzerinde harika çalışıyor ve X11'e olan ihtiyacı da azalttı.
10'da 0x7c0

@MarkoBonaci - Bunun yerine sadece qt ile yüklemelisiniz.
arcseldon



2

Özgür GlimmerBlocker hilenin bir parçası olabilir gibi görünüyor .

Elbette her türlü içeriği engelleyebilir ve tarayıcı onları almadan önce yanıtları dönüştürebilir . Ancak aslında talepleri ve yanıtları değiştirebilir . Ve doğru hata ayıklama olmasa da, günlük kaydı da sunar. Bu yüzden temel ihtiyaçlara uyabilir :

GlimmerBlocker içinde çalışan 4 tipte komut dosyası vardır ve bazı nesneler yalnızca bazı komut dosyası türleri için tanımlanmıştır:

  • global proxy: bu global proxy ayarlarını belirler ve örneğin konum adı, AirPort ağı için test yapabilir.
  • istek değişikliği: bu istenen URL'yi değiştirebilir, tarayıcıya yönlendirme yanıtını geri gönderebilir veya tarayıcıya metin / html gönderebilir.
  • anahtar kelime genişletme. [Sadece Safari, AvB]
  • Dönüştür: web sunucusu tarafından alınan yanıtı, Safari'ye geri gönderilmeden önce (veya GlimmerBlocker, AvB tarafından sağlanan proxy'yi kullanmak üzere ayarlanmış herhangi bir tarayıcı) değiştirin.

(Bir Greasemonkey eklentisi kullanmadan, alınan herhangi bir eklentiyi yüklemeden Flash'ı engellemek gibi, Greasemonkey eklentisini kullanmadan alınan yanıtlara çeşitli Greasemonkey komut dosyaları eklemek için de kullanabilirsiniz .)


GlimmerBlocker ilginç bir araçtır, ancak aradığımdan farklı. Yeniden yazma örneklerini kaldırmak ve yalnızca trafiği izlemek ve dönüştürmek istemediğimi netleştirmek için orijinal açıklamayı yeniden düzenledim.
Doug Harris

2

Fiddler for Mac'i , sitelerindeki talimatlara göre Paralelleri kullanarak kolayca yapılandırabilirsiniz .

Buradaki tek uyarı, Ağ ayarlarınızı VM'nin IP adresini gösterecek şekilde manuel olarak yapılandırmanız gerektiği, ancak bu kadar büyük bir şey değil.


7
Buna "kolay" demezdim - bir vm sunucusu ve tamamen farklı bir işletim sistemi satın alıp yüklemeyi gerektirir.
James Moore

Bu araç ipucunda 5 girişim var ve bunlardan sadece biri IPv4 formatı. Hangisini seçmeliyim? :)
Alex Sorokoletov

1
Windows işletim sistemi çalıştırmak istiyorsanız (90 gün sonra sıfırlanması gerekiyor) - bir Windows işletim sistemi çalıştırmak istiyorsanız , Oracle.'ın VirtualBox gibi ücretsiz sanallaştırma yazılımlarını modern.ie'den bir VM ile kullanabilirsiniz. gelişmiş bir web hata ayıklama proxy çalıştırmak için
iX3 20:15

Bu soru açıksa - birisi Mac için Fiddler'den bahsetmelidir - Mono çerçevesini kullanarak telerik.com/download/fiddler ...
Mars Robertson

Ve bu benim için
macOS'ta

1

jMeter ayrıca yardımcı olabilir; web sunucularındaki yük performansını test etmek için tasarlanmıştır, ancak hala ihtiyacınız olanı yapabilir. jMeter Java ile yazılmış, böylece Mac, Windows veya Linux üzerinde çalışacak bir .jar dosyasını indirebilirsiniz.


1

Kakao Paket Analizörü çok faydalıdır.


4
Nasıl yardımcı olur? Bir uçurum, bunun versiyonunun oldukça faydalı olacağını not ediyor
Journeyman Geek

kakao paket analizörü başarılı bir şekilde HTTP trafiğini yakalayabildi, ancak istek / yanıtı yeniden oluşturmuyor :(
Jean

1

Kamuya açık internet üzerinden geçen uygulama trafiği veya üçüncü taraf API entegrasyonları ile uğraşıyorsanız, Runscope'u denemelisiniz (bunun tam açıklaması, ben bir ortak kurucuyum). Herhangi bir URL'ye HTTP istekleri yakalar, hata ayıklama için size güzel bir akış görünümü verir ve bireysel istekleri başkalarıyla paylaşmayı kolaylaştırır.


0

APIKitchen'ü de deneyebilirsiniz . HTTP API'leri ve genel olarak herhangi bir isteği hata ayıklama ve test etmenize yardımcı olur. Ayrıca, dahili ağlarınızda test etmek için çevrimdışı bir sürüme sahiptir. Kurulum gerekmez.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.