Gibt es eine Möglichkeit, tcp-Pakete an meine c # -Anwendung in Windows (10) weiterzuleiten und TcpListener / HttpListener die Anfragen zu behandeln? In Linux kann ich das tun, indem ich iptables aufsetze ( iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 7000 ).
Zum Beispiel könnte ich in meiner c # -Anwendung auf eingehende Verbindungen (mit TcpListener oder einem Socket-Listener) auf einem bestimmten Port warten, sagen wir 7000. Könnte ich Windows irgendwie so konfigurieren, dass der gesamte TCP-Verkehr an 127.0.0.1:7000 weitergeleitet wird? Denken Sie daran, dass die Pakete eine andere Ziel-IP-Adresse haben als die Adresse meines Computers im Netzwerk (aber natürlich dieselbe Ziel-Hardware-Adresse).
Ich habe einen anderen Ansatz mit Pcap .Net in c # versucht. Ich nehme Pakete auf und leite sie an 127.0.0.1 weiter. Es scheint jedoch, dass mein Host das Paket immer noch nicht erfasst (Vielleicht sendet es das Paket an das Gateway, versucht, einen Host mit dieser IP im Netzwerk zu finden?). Ich kann immer meine lokale IP-Adresse im Netzwerk verwenden, aber das würde dazu führen, dass das Paket zum Gateway und dann wieder zurück geht, was nicht notwendig ist, da mein TcpListener nur eingehende Verbindungen erkennt. Der Code, den ich verwende:
%Vor%mit
netsh-Schnittstelle portproxy addieren v4tov4 Listenport = 9999 listenaddress = 0.0.0.0 connectport = 80 connectaddress = 127.0.0.1
leitet alle Anfragen an die vom System registrierten IP-Adressen an localhost weiter.
Die Firewall verwirft Pakete, die nicht mit der Liste der internen IP-Adressen übereinstimmen. Die einzige Möglichkeit, diesen Verkehr zu erfassen, besteht darin, die Netzwerkkarte im Promiscuous-Modus einzurichten, um den gesamten Datenverkehr mit einem Tool wie Wireshark .
Meine Ideen:
Dump den gesamten Verkehr zu Datei (wireshark) und tail es an einen anderen Host für die Verarbeitung zu senden.
Setup-Schalter mit Port Mirroring und dedizierten Host für Traffic-Analysen.
Kommentare sind willkommen!
Im Bereich der Computervernetzung bezieht sich Promiscuous-Modus auf den speziellen Modus der Ethernet-Hardware, insbesondere Netzwerkschnittstellenkarten (NICs), der es einer Netzwerkkarte ermöglicht, den gesamten Verkehr im Netzwerk zu empfangen, auch wenn dies nicht angesprochen wird NIC.