Es kann keine TCP-Verbindung im privaten Netzwerk hergestellt werden

374
Makoto Emura

Ich teste die lokale Verbindung zwischen zwei OS X-Computern mit netcat. Beide sind mit demselben Router verbunden (über WLAN) und haben die gleiche öffentliche IP-Adresse. Ich glaube, sie haben Zugriff auf dasselbe private Netzwerk. Beide haben ihre Firewalls deaktiviert.

Auf einem Computer trat ich ein

nc -l 2000 

und auf dem anderen Computer,

nc localhost 2000 

Ich verstehe, dass bei einer erfolgreichen Verbindung jede auf der Clientseite eingegebene Nachricht auf der Abhörseite erscheinen soll. Derzeit startet der zweite Befehl netcat nicht, was bedeutet, dass keine Verbindung hergestellt wurde.

Welche potenziellen Probleme hindern mich daran, durch diese Tests auf das lokale Netzwerk zuzugreifen?

1
Es ist äußerst unwahrscheinlich, dass Ihr zweiter Befehl "netcat nicht starten" ist, da dies eine Fehlermeldung ergeben würde. Es ist fast sicher, dass es netcat startet, das versucht, eine Verbindung herzustellen, und versagt und wird daher sofort beendet. Versuchen Sie "nc -v localhost 2000", um den Fehler anzuzeigen. Localhost löst sich jedoch in eine Loopback-Adresse (127.0.0.1 und / oder :: 1) auf, die überhaupt nicht auf ein Netzwerk zugreift, auch nicht auf das lokale Netzwerk (oder ein lokales Netzwerk). dave_thompson_085 vor 6 Jahren 0

2 Antworten auf die Frage

0
davidgo

Wenn Ihre Aussage "und dieselbe IP-Adresse hat" wahr ist, dann ist das das Problem. Eine IP-Adresse muss innerhalb der Umgebung eindeutig sein. IP-Adressen müssen sich in demselben Subnetz (Bereich) befinden, sollten jedoch nicht identisch sein. Bei 2 Computern mit derselben IP-Adresse können sie nicht miteinander kommunizieren (sie kommunizieren mit sich selbst) und Dies führt zu massiven Problemen für andere Geräte, die versuchen, mit dem fraglichen IP zu sprechen.

Ich denke, das OP bedeutet, dass sie die gleiche öffentliche IP haben und hinter einem NAT stehen. multithr3at3d vor 6 Jahren 0
Mein schlechtes, ich habe die Frage korrigiert. Ich wollte damit sagen, dass sie die gleichen öffentlichen IP-Adressen haben. Makoto Emura vor 6 Jahren 0
0
multithr3at3d

Im zweiten Befehl sollten Sie keine Verbindung herstellen localhost, da dies Ihre lokale Maschine ist. Geben Sie stattdessen den Hostnamen oder die IP-Adresse des ersten Computers ein.

Er spricht von "localhost", also glaube ich nicht, dass dies der Fall ist. davidgo vor 6 Jahren 0
@davidgo glaube ich nicht. multithr3at3d vor 6 Jahren 0
Wow Danke. Ich wusste bis jetzt nicht, dass IPv4-Adressen (private) und öffentliche IP-Adressen unterschiedlich sind. Makoto Emura vor 6 Jahren 0