2012-08-08 16 views
5

Podczas korzystania z Fiddlera pojawia się okno dialogowe alertu.fiddler: jak wyłączyć nadpisanie hosta nagłówka

Fiddler has detected a protocol violation in session #14. 

The Request's Host header did not match the URL's host component. 

URL Host: proxy.music.pp.com 
Header Host: 119.147.22.41 

I to pokazuje, że Skrzypek zmienił gospodarza nagłówek HTTP do „proxy.music.pp.com”, czy jest jakiś sposób, aby wyłączyć Skrzypek zmieniając go?

+0

Który klient generuje ten (nielegalny) ruch? – EricLaw

Odpowiedz

1

Możesz to zrobić z regułami.

Przejdź do zasad dostosowywania i znaleźć funkcję: OnBeforeRequest(oSession: Session)

następnie dodaj następującą jako ostatniej linii tej funkcji:

if (oSession.HostnameIs("proxy.music.pp.com")) { oSession.host = "119.147.22.41"; } 
+0

Będzie nadal pokazywał błąd naruszenia protokołu, ale użyje adresu IP jako hosta nagłówka http. – Peter

+0

Zmienia to również nazwę hosta, do którego wysłano żądanie. Chodziło o to, by Fiddler nie nadpisał nagłówka Hosta. –

7

Z mojego book:

zamienić Host Nagłówek

Gdy skrzypek otrzymuje prośbę, której adres URL nie odpowiada h nagłówek hosta, oryginalna wartość hosta jest przechowywana w znaczniku sesji X-Original-Host, a następnie wartość Host jest zastępowana przez host przeanalizowany z adresu URL. Poniższy skrypt, umieszczony wewnątrz funkcji FiddlerScript, BeforeRequest, odwraca zachowanie, kierując żądanie do hosta określonego przez oryginalny nagłówek Hosta.

if (oSession.BitFlags & SessionFlags.ProtocolViolationInRequest) 
{ 
    var sOverride = oSession["X-Original-Host"]; 
    if (!String.IsNullOrEmpty(sOverride)) 
    { 
    oSession["X-overrideHost"] = sOverride; 
    oSession["ui-backcolor"] = "yellow"; 

    // Be sure to bypass the gateway, otherwise overrideHost doesn't work 
    oSession.bypassGateway = true; 
    } 
} 
0

ja nie rozumiem, co „host url” miało być - to znaczy, normalnie, jest tylko nagłówek hosta HTTP.

Patrząc bliżej, okazuje się, że to naruszenie występuje początkowo proxy „setup” wniosek, który wygląda tak:

CONNECT targaryen:45633 HTTP/1.1 
Host: targaryen 

To gdzie błąd sens do mnie.

Powiązane problemy