Ich verwende netcat als Backend, um Daten für ein Programm, das ich mache, hin und her zu schaufeln. Ich habe mein Programm im lokalen Netzwerk getestet, und sobald es funktionierte, dachte ich, es ginge nur darum, einen Port von meinem Router weiterzuleiten, damit mein Programm über das Internet funktioniert. Ach! Dies scheint nicht der Fall zu sein.Wie bekomme ich netcat, um Verbindungen von außerhalb des LAN zu akzeptieren?
Wenn ich netcat auf Port 6666 mit Start:
nc -vv -l -p 6666
,
dann in einem Browser zu 127.0.0.1:6666
gehen, da erwartete ich eine HTTP-GET-Anfrage kommen sehen, durch netcat (und mein Browser sitzt im Warte vergeblich). Wenn ich jedoch auf my.external.ip.address:6666
gehe, kommt nichts durch und der Browser zeigt 'konnte nicht mit my.external.ip.address:6666
verbinden'.
Ich weiß, dass der Port korrekt weitergeleitet wird, wie www.canyouseeme.org sagt Port 6666 ist offen (und wenn netcat nicht zuhört, dass es geschlossen ist).
Wenn ich Netcat mit -g my.adslmodem's.local.address
zum Einstellen der Gateway-Adresse ausführen, bekomme ich das gleiche Verhalten. Benutze ich diese Kommandozeilenoption richtig? Irgendeine Einsicht, was ich falsch mache?
Hah. Nein Ich stellte eine ähnliche Frage zu SF und sie fanden es zu neuartig, ich konnte nicht sagen, was eine "Haarnadel" Verbindung war (und die Leute referierten immer noch auf "Haarnadel-NAT" und sagten mir zu RTFM), bis ich diese Antwort gelesen hatte Danke. – isomorphismes
Es funktionierte auch für mich. Ich benutzte nicht 0.0.0.0. Wie Sie sagten, nur Hafen auf Zielmaschine. Danke! –