Wie kann der Inhalt einer bestimmten URL für eine bestimmte Anwendung geändert werden?

458
Romário

Zu Testzwecken muss ich den Inhalt einer bestimmten URL ändern, um zu sehen, wie eine Anwendung darauf reagieren würde. Gibt es eine Möglichkeit, dies unter Windows zu tun?

Bsp .: Make Foo.exe <html><body><p>Hello!</p></body></html>bei Anforderung anfordern GET http://www.google.com.

0
Ah nein. - DNS-Spoofing ist mit einer Anwendung für ein Ziel ziemlich unmöglich. Der einzige Weg, dies zu erreichen, wäre, Ihren eigenen Router zu fälschen, der schwer und meistens nicht unterstützt wird, um den Traffic von google.com auf Ihren eigenen Webserver umzuleiten. f3rn0s vor 8 Jahren 1
Könnte es mit einem Proxy gemacht werden? Es kann auch systemweit sein, ich wollte mir nur klar machen, was ich tun will. Googeln beim "DNS-Spoofing" bringt mir nur Ergebnisse, die sich auf die Internetsicherheit beziehen. Romário vor 8 Jahren 0

2 Antworten auf die Frage

1
gronostaj

Sie können Fiddler dafür verwenden. Es fungiert als Proxy zwischen Ihrem Computer und dem Internet. Eine der Funktionen, die als AutoResponder bezeichnet werden, kann verwendet werden, um zu ändern, wie bestimmte Anforderungen behandelt werden. Sie können sogar Verzögerungen simulieren.

  1. Fiddler starten. Ein Proxy wird automatisch beim Start installiert und beim Beenden deinstalliert.
  2. Wechseln Sie auf Autoresponder Registerkarte. Überprüfen Sie Regeln aktivieren .
  3. Regel hinzufügen Für genau übereinstimmende URLs verwenden Sie das EXACT:Präfix, z. EXACT:http://www.example.com/api/v2/lists. Wählen Sie eine Datei aus, die Sie als Antwort verwenden möchten. Die Datei sollte eine vollständige HTTP-Antwort einschließlich Kopfzeilen enthalten.
  4. Klicken Sie auf Speichern und sehen Sie, wie die Magie geschieht.

Damit dies funktioniert, muss Ihre App natürlich die Proxy-Konfiguration des Systems berücksichtigen. Wenn dies nicht der Fall ist, Sie jedoch die Proxy-Einstellungen manuell eingeben können, wird Fiddler standardmäßig auf localhost: 8888 ausgeführt - dies können Sie verwenden.

Wenn Sie keine gültige HTTP-Antwortdatei manuell erstellen möchten, erstellen Sie einfach eine Datei mit dem gewünschten Inhalt, laden Sie sie auf einen beliebigen Server hoch und öffnen Sie sie in Ihrem Browser. Es sollte in Fiddler erscheinen. Klicken Sie mit der rechten Maustaste darauf und klicken Sie dann auf Speichern → Antwort → Gesamte Antwort .

Wenn die Website, die Sie ersetzen möchten, SSL / TLS (HTTPS-Verbindung) verwendet, ist dies etwas komplizierter. Fiddler kann so eingerichtet werden, dass ein Man-in-the-Middle-Angriff auf solche Verbindungen ausgeführt wird (er entschlüsselt sie grundsätzlich mit einem gültigen Zertifikat, bearbeitet die Antwort gemäß Ihren Anweisungen und verschlüsselt sie mit einem eigenen Zertifikat, das Sie hinzufügen müssen Vertrauenswürdiger Zertifikatspeicher von Windows). Dies führt jedoch zu Problemen in Programmen, die das Festlegen von Zertifikaten verwenden: Diese erkennen, dass der Inhalt mit einem unbekannten Zertifikat signiert ist, und handeln entsprechend. Zum Beispiel wird Chrome von zu Hause angerufen, um zu melden, wenn von Google ausgestellte Zertifikate in Google-Domänen gefunden werden.

0
Romário

Ich habe es geschafft, Foo.exe zu bauen, daher ist dies für mich nicht mehr notwendig, aber bevor ich aufgab, fand ich ein Netzwerk-Debugging-Tool namens Charles . Eine der Funktionalitäten, die es bietet, ist lokales DNS-Spoofing :

Charles enthält eine Liste von Domänennamen und IP-Adresszuordnungen, die Sie konfigurieren. Wenn eine Anforderung für einen aufgelisteten Domänennamen eingeht, findet das Spoof-DNS-Plugin die Spoof-IP-Adresse, um die Anfrage an diese Adresse umzuleiten. Der Host-HTTP-Header bleibt erhalten, es ist also genau so, als würde Ihr DNS-Server die gefälschte IP-Adresse zurückgeben.

Es ist eine kostenpflichtige App, aber es kann für jeden in einer ähnlichen Situation nützlich sein.