Es kann kein Verkehr abgerufen werden, wenn der transparente Proxy-Modus für einen bestimmten Port eingerichtet wird
321
shikn
Ich möchte einen HTTP-Dienstaufruf von HostA -> HostB erfassen, um den Client auf HostA zu testen, um die HTTP-Antwort zu ersetzen. Beide Betriebssysteme sind Linux. Ich habe versucht zu folgen, aber versage nicht. Was ist der empfohlene Weg, dies zu tun?
Ich möchte den transparenten Proxy-Modus verwenden, da ich den Client nicht ändern und nicht den gesamten Verkehr von HostA zu HostB als anderen Dienst umleiten kann, der auch auf HostA ausgeführt wird. Ich möchte nur die Verbindung des Clients von Host A zu Host B umleiten. Der Client in Host A ruft einen Dienst auf Host B über einen bestimmten Port 10001 über HTTP auf.
Ich habe versucht, HostC mitmproxy einzurichten (HostA und HostC befinden sich im selben Subnetz). HostA (ip_A) -> HostC (ip_C) mitmproxy-> HostB (ip_B). Ich habe die IP-Tabelle so eingerichtet, dass sie den transparenten Modus erstellt.
Folgendes ist das, was ich auf HostA eingerichtet habe
sudo iptables -t mangle -I OUTPUT -p tcp --dport 10001 -j MARK --set-mark 1 sudo ip route add default via ip_C table 100 sudo ip rule add fwmark 0x1 table 100
Der Serviceabruf kann mitmproxy auf HostA erfasst werden, er kann jedoch keine Antwort erhalten.
Vielen dank für Deine Hilfe.
Es tut uns leid für den Tippfehler, es ist 10001.
shikn vor 6 Jahren
0
Was versuchst du wirklich zu tun? Sie wollen nur den Verkehr sehen? Was ist daran falsch, nur einen Switch mit aktivierter [Port Mirroring] (https://en.wikipedia.org/wiki/Port_mirroring) und Wireshark oder tcpdump zu verwenden?
Appleoddity vor 6 Jahren
0
Ich möchte die Antwort erfassen und die Antwort für die Anfrage von HostA ersetzen.
shikn vor 6 Jahren
0
Möglicherweise hilft eine vollständige Änderung der Software unter https://softwarerecs.stackexchange.com/questions/4239/what-software-to-modify-and-create-tcp-ip-packets
Ross vor 6 Jahren
0
1 Antwort auf die Frage
0
Ross
Vielleicht - sobald die Pakete zum MITM-Server gelangen, wird jetzt Port 8080 verwendet - aber der HOST_A-Webserver ist immer noch auf 10001 - müssen Sie also keine weiteren IPTABLES verwenden, um sie auf 10001 zurückzusetzen? Ich denke, du bist besser als ich, aber ich schätze