Ich habe einen TCP-Server am 10.10.10.101, Port 2000, der auf einem Windows 7-Computer ausgeführt wird. Unten ist die entsprechende Ausgabezeile für den Befehl netstat -aon
:
TCP 10.10.10.101:2000 0.0.0.0:0 LISTENING 2340
Ich habe auch ein FPGA, das jede Sekunde ein TCP-SYN-Paket sendet, bis der Server antwortet.
Das FPGA stellt eine physische Verbindung zu einer direkten Netzwerkschnittstelle auf dem Windows 7-Computer her, für die die statische IP-Adresse 10.10.10.101 konfiguriert wurde. Die Quell-IP-Adresse der SYN-Pakete lautet 10.10.10.100.
Ich kann sehen, dass die SYN-Pakete mit WireShark über die Netzwerkschnittstelle empfangen werden, aber der TCP-Server antwortet nicht auf SYN / ACK. Ich gehe davon aus, dass der TCP-Server die SYN-Pakete aufgrund von Routing-Problemen nicht sieht.
Ich habe zwei Routen wie folgt manuell hinzugefügt ( IF 16
bezieht sich auf die Schnittstelle mit statischer IP 10.10.10.101
):
route add 10.10.10.100 MASK 255.255.255.255 10.10.10.1 METRIC I IF 16
route add 10.10.10.101 MASK 255.255.255.255 10.10.10.1 METRIC I IF 16
Habe ich die Routen korrekt hinzugefügt? Wie kann ich sicherstellen, dass der TCP-Server die IP-Pakete tatsächlich nicht mit dem TCP-SYN weiterleitet? Was kann ich tun, um mehr Einsicht in das zu bekommen, was falsch läuft?
netstat
Befehl bestätigt (siehe aktualisierte Frage). Wenn Sie eine andere Netzwerkschnittstelle (mit einer anderen IP-Adresse) verwenden, funktioniert der TCP-Server auch von einem anderen Computer im Netzwerk aus wie erwartet.