Wie ändere ich den Inhalt einer bestimmten URL für eine bestimmte Anwendung?

Wie ändere ich den Inhalt einer bestimmten URL für eine bestimmte Anwendung?

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

Bsp.: Sorgen Sie dafür, dass Foo.exe es <html><body><p>Hello!</p></body></html>bei Anforderung abruft GET http://www.google.com.

Antwort1

Sie könnenGeigerdafür. Es fungiert als Proxy zwischen Ihrem Computer und dem Internet. Eine seiner Funktionen namens AutoResponder kann verwendet werden, um zu ändern, wie bestimmte Anfragen behandelt werden. Sie können damit sogar Verzögerungen simulieren.

  1. Starten Sie Fiddler. Beim Start wird automatisch ein Proxy installiert und beim Beenden wieder deinstalliert.
  2. Wechseln zuAutoResponderÜberprüfen SieRegeln aktivieren.
  3. Fügen Sie eine Regel hinzu. Verwenden Sie für eine exakt übereinstimmende URL EXACT:ein Präfix, z. B. EXACT:http://www.example.com/api/v2/lists. Wählen Sie eine Datei aus, die Sie als Antwort verwenden möchten. Die Datei sollte die vollständige HTTP-Antwort einschließlich Header enthalten.
  4. KlickenSpeichernund sehen Sie zu, wie die Magie geschieht.

Damit dies funktioniert, muss Ihre App natürlich die Proxy-Konfiguration des Systems respektieren. Wenn dies nicht der Fall ist, können Sie die Proxy-Einstellungen aber manuell eingeben. Fiddler wird standardmäßig auf localhost:8888 ausgeführt – das 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. Sie sollte in Fiddler angezeigt werden. Klicken Sie mit der rechten Maustaste darauf und klicken Sie dann aufSpeichern → Antwort → Gesamte Antwort.

Wenn die Website, die Sie ersetzen möchten, SSL/TLS (HTTPS-Verbindung) verwendet, ist es etwas komplizierter. Fiddler kann so eingerichtet werden, dass er einen Man-in-the-Middle-Angriff auf solche Verbindungen ausführt (er entschlüsselt sie grundsätzlich mit einem gültigen Zertifikat, bearbeitet die Antwort gemäß Ihren Anweisungen und verschlüsselt sie erneut mit seinem eigenen Zertifikat, das Sie zum vertrauenswürdigen Zertifikatspeicher von Windows hinzufügen müssen). Dies führt jedoch zu Problemen in Programmen, die Certificate Pinning verwenden: Diese erkennen, dass der Inhalt mit einem unbekannten Zertifikat signiert ist, und reagieren entsprechend. Beispielsweise ruft Chrome Home auf, um zu melden, wenn in Google-Domänen nicht von Google ausgestellte Zertifikate erkannt werden.

Antwort2

Ich habe es geschafft, Foo.exe zu erstellen, so dass ich dies nicht mehr brauche, aber bevor ich aufgegeben habe, habe ich ein Netzwerk-Debugging-Tool namensKarlEine der Funktionen, die es bietet, istlokales DNS-Spoofing:

Charles enthält eine Liste von Domänennamen-zu-IP-Adresszuordnungen, die Sie konfigurieren können. Wenn eine Anfrage für einen aufgelisteten Domänennamen eingeht, findet das Spoof-DNS-Plugin die gefälschte IP und leitet die Anfrage an diese Adresse um. Der Host-HTTP-Header bleibt intakt, sodass es genau so ist, als ob Ihr DNS-Server die gefälschte IP zurückgegeben hätte.

Es handelt sich um eine kostenpflichtige App, aber sie könnte für jeden in einer ähnlichen Situation wie meiner nützlich sein.

verwandte Informationen