Umleitung des HTTP(S)-Verkehrs auf einen anderen Server

Umleitung des HTTP(S)-Verkehrs auf einen anderen Server

Ich versuche, eine Testumgebung für die Forschung/das Reverse Engineering von drahtlosen Plattformen einzurichten.

Ich habe einen Router-AP, der mein Netzwerk überträgt, mit dem die von mir untersuchte Hardware verbunden ist, und von dort leitet der AP den gesamten Datenverkehr zur Analyse an einen Server um.

Meine iptables-NAT-Regeln auf dem AP zur Umleitung des Datenverkehrs lauten:

iptables -t nat -A PREROUTING -p tcp --dport 80 -m conntrack --ctstate NEW -j DNAT --to x.x.x.x:8880
iptables -t nat -A PREROUTING -p tcp --dport 443 -m conntrack --ctstate NEW -j DNAT --to x.x.x.x:8443
iptables -t nat -A PREROUTING -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A POSTROUTING -t nat -j MASQUERADE

Sowohl beim AP als auch beim Server ist IP_FORWARD ebenfalls aktiviert.

Und auf meinem Server habe ich Software wie SSLSplit, Mitmproxy oder andere, die den Datenverkehr erfassen und es mir ermöglichen, ihn zu analysieren.

Das Problem besteht darin, dass die Software auf meinem Server bei dieser Umleitung des Datenverkehrs aus irgendeinem Grund immer wieder eine Verbindung zu sich selbst herstellen möchte, anstatt eine Verbindung zum richtigen Port/zur richtigen Domäne herzustellen.

Wenn meine Server-IP beispielsweise 1.1.1.1:8443 wäre, und die mit meinem AP verbundene Hardware 192.168.0.100 auf eine Website zugreift, die sich in 2.2.2.2:443 auflöst, leiten die iptables-Regeln meinen gesamten Datenverkehr, der zu 2.2.2.2:443 geht, zur Analyse auf 1.1.1.1:8443 um. Das ist alles gut, aber wenn die Software versucht, die Verbindung zum Remote-HTTP-Server weiterzuleiten, um die Anfrage abzuschließen/eine Antwort zu erhalten, sendet sie den Datenverkehr nicht an 2.2.2.2:443, um eine Antwort zu erhalten, sondern an 1.1.1.1:8443 (also an sich selbst).

Liegt das an meinen iptables-Regeln oder an einem Softwareproblem? Bei einer Handvoll Software treten dieselben Ergebnisse auf, wenn sie in seiner Remote-Verarbeitungsart verwendet werden, daher gehe ich davon aus, dass es ein Problem mit der Art und Weise ist, wie ich den Datenverkehr umleite.

Ist eine solche Verkehrsumleitung möglich oder muss dies anders erfolgen?

Das Setup ist Client (192.168.0.100) -> AP -> Router -> Internet -> Datenverarbeitungsserver (1.1.1.1:8443) -> Internet -> Webhost (2.2.2.2:443)

Wir sind für alle Vorschläge dankbar.

Antwort1

Durchläuft der Datenverkehr von Ihrem Server zu 2.2.2.2:443 (dem ursprünglichen Ziel) den AP?

In diesem Fall würde die Übersetzung gelten. Ändern Sie daher Ihre DNAT-Regeln so, dass der vom Server stammende Datenverkehr von der DNAT-Übersetzung ausgeschlossen wird.

iptables -t nat -A PREROUTING -p tcp ! -s x.x.x.x --dport 80 -m conntrack --ctstate NEW -j DNAT --to x.x.x.x:8880

verwandte Informationen