2009-09-24 31 views

cevap

10

Yapamıyorsanız, Wireshark, ağ donanım düzeyinde çalışan benzer bir araçtır, bu nedenle herhangi bir uygulamadan ağ trafiğini yakalayabilir.

Wireshark, Fiddler'dan biraz daha karmaşıktır ve daha geneldir, ancak araç kutunuzda olması ve biraz zaman ayırmaya değecek harika bir araçtır.

+0

@Charming Anonim Downvoter: "Yapamazsan" dediğim yeri özledin mi? Yardımcı olmaya çalıştığım için beni affet. – RichieHindle

+1

@Richie: Düşürmeyi nötralize ettim çünkü neden olduğunu da anlayamıyorum. – tuergeist

+1

@tuergeist: Teşekkürler. Sen bir centilmensin. Fiddler'ı tamamlamak için Wireshark için – RichieHindle

37

Fiddler SSS bunun cevabını verir.

Temel olarak HTTP trafiğinizi Fiddler aracılığıyla yönlendirin (örn. Fiddler'ı bir proxy olarak kullanın).
Fiddler Web Debugging - Configuring Clients

Hangi dönüş bağlantılarda burada:
Take the Burden Off Users with Automatic Configuration in .NET

Web.config dosyasında bazı yapılandırma ayarlarından bunu başarabilirsiniz (bir ASP için Buraya

yardımcı olacak bazı bağlantılar var şöyle .NET uygulaması):

<system.net> 
    <defaultProxy> 
    <proxy 
     proxyaddress="http://[your proxy address and port number]" 
     bypassonlocal="false" 
    /> 
    </defaultProxy> 
</system.net> 

0 üzerinde tüm ayrıntılar için here bakınayarı.

Alternatif olarak, böyle bir şey kullanarak kodunda WebProxy nesneyi kullanabilirsiniz:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("[ultimate destination of your request]"); 
WebProxy myproxy = new WebProxy("[your proxy address]", false); 
request.Proxy = myproxy; 
request.Method = "GET"; 
HttpWebResponse response = (HttpWebResponse) request.GetResponse(); 

WebProxy sınıfı üzerindeki tüm ayrıntılar için here bakınız.

Neden trafik http://localhost veya http://127.0.0.1 gönderilen görmüyorum:

Ayrıca bu Kemancı SSS belirtilen önemli "ihtar" notu?
IE7 ve .NET Framework herhangi vekilleri üzerinden Localhost talepleri gönderme değil önceden kodlanmıştır ve bir vekil olarak Fiddler böyle trafik almayacaktır.

Bu geçici çözüm, makine adınızı Localhost veya ana bilgisayar adı veya 127.0.0.1 olarak kullanmaktır. Bu nedenle, örneğinde, http://localhost:8081/mytestpage.aspx, yerine vurmak yerine http://machinename:8081/mytestpage.aspx'u ziyaret edin. Eğer Fiddler v2.1.8 kullanarak ya da geç, sadece IPv4 adaptör üzerinde localhost'u vurmak için http://ipv4.fiddler kullanmak veya IPv6 adaptör üzerinde localhost'u vurmak http://ipv6.fiddler kullanmak eğer

... Veya,.Bu , özellikle sınama sunucusunun IPv4 geri döngü bağdaştırıcısını dinlediği için Visual Studio test web sunucusu (kod adı: Cassini) ile iyi çalışır.

Son olarak, dosya böylece sevdiği Kurallar özelleştirme olabilir: o zaman

static function OnBeforeRequest(oSession:Fiddler.Session) 
    { 
     if (oSession.HostnameIs("MYAPP")) 
     { 
     oSession.host = "127.0.0.1:8081"; 
     } 
    } 

... ve sadece 127.0.0.1:8081 için takma olarak hareket edecek olan http://myapp çarptı. localhost.fiddler için hostname değiştirin: İsteği URI değiştirmek edebiliyoruz ve bu localhost ise

+0

herkese yardımcı olması durumunda, – Dave

+1

için teşekkürler, http: // [proxy adresiniz ve port numaranız] için varsayılan değer http://127.0.0.1:8888, Araçlar> Fiddler'da bağlantı noktasını kontrol edebilir/değiştirebilirsiniz Seçenekler –

4

sonra çok daha basit bir çözüm yoktur.

Bu, proxy'leri ayarlama konusunda bir bağımlılığa sahip değildir (veya <defaultProxy> öğesinin .config dosyasında ayarlanması). (this question üzerine açıklama itibaren.)

İlgili konular