我正在使用netcat作为后端来为正在制作的程序来回交换数据。我在局域网上测试了我的程序,一旦工作了,我想这就是简单地从路由器转发端口以使我的程序通过互联网工作的问题。唉!似乎并非如此。

如果我使用以下命令在端口6666上启动netcat监听:
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)界面上收听。您当前正在本地主机上监听,计算机外部没有人可以连接。

您的里程可能会有所不同,但是对于netcat的实现,我必须使用此命令行来侦听所有公共(public)接口(interface)。
netcat -vv -l 0.0.0.0 6666

关于gateway - 如何让netcat接受来自LAN外部的连接?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2552546/

10-11 00:22