我正在使用 netcat 作为后端来为我正在制作的程序来回铲数据。我在本地网络上测试了我的程序,一旦它工作,我认为只需从我的路由器转发一个端口,让我的程序在互联网上工作。唉!情况似乎并非如此。
如果我开始 netcat 在端口 6666 上监听:nc -vv -l -p 6666
,
然后转到127.0.0.1:6666
在浏览器中,正如预期的那样,我看到一个 HTTP GET 请求来自 netcat(我的浏览器徒劳地等待)。如果我去 my.external.ip.address:6666
,但是,什么都没有出现,浏览器显示“无法连接到 my.external.ip.address:6666
'。
我知道该端口已正确转发,因为 www.canyouseeme.org 说端口 6666 已打开(当 netcat 未在监听时,它已关闭)。
如果我用 -g my.adslmodem's.local.address
运行 netcat设置网关地址,我得到相同的行为。我是否正确使用了这个命令行选项?关于我做错了什么的任何见解?
最佳答案
您必须在公共(public)接口(interface)上收听。您目前正在 localhost 上收听,您的计算机之外的任何人都无法连接。
您的里程数可能会有所不同,但随着我的实现 netcat我必须使用这个命令行来监听所有公共(public)接口(interface)。netcat -vv -l 0.0.0.0 6666
关于gateway - 如何让 netcat 接受来自 LAN 外部的连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2552546/