当我尝试在我的私有IP地址中使用nc -l命令时,我能够创建一个客户机服务器model.But --当我尝试使用具有相同端口的公共IP地址时,number.It给出了以下错误:-
nc:无法分配请求的地址
为什么??
发布于 2015-08-31 13:14:28
您的问题是您的公共IP是您的路由器的IP,而不是您的计算机。
简化后,您的网络可能看起来像这样(IP地址只是例子):
+--------------+ +-----------------+----------------+
| PC |-----|Router (internal)|Router(external)|---... Internet
| 192.168.0.10 | |192.168.0.1 |123.132.122.133 |
+--------------+ +-----------------+----------------+你的个人电脑的内部地址是192.168.0.10,这是它唯一知道的地址。路由器将流量路由到其他网络;为此,它有两个接口,一个是内部接口,一个是地址192.168.0.1,另一个是面向internet的接口(123.132.122.133)。在你的电脑上,你不能监听后一个地址,因为那是路由器的地址,而不是个人电脑的地址。
因此,解决方案是侦听内部IP,并设置路由器将相应端口的流量转发到您的PC上的相应端口。不过,要小心安全问题!(例如,让根壳向互联网开放可能不是最好的主意。)
https://stackoverflow.com/questions/32310253
复制相似问题