现在的路由器都默认打开了 upnp 功能,实现不同内网里面的 p2p 能够互联互通。我的路由器 upnp 是打开的,所以我用 p2p 软件下载的时候,都很快,当然我主要就是用迅雷,我还以为是这个原因。
直到最近用了另外一款 p2p 软件,打开后显示我是被动模式,相当于以前电驴的 lowid,也就是说我依然在内网里面,无法主动跟外面也同样在内网的人上传,只能跟那些在公网里面的服务器才能上传。
我觉得很奇怪,打开路由器设置,发现相应的端口已经在 upnp 里面打开了啊,还是不起作用。这个时候我才想起来,我家是光纤到楼,也就是一栋楼是一个路由器,一个公网地址,分到各家各户的已经是内网了,我家里面的路由器实际是 2 级路由了,在这个路由器上开 upnp,肯本没用。
问题来了:在本机上面,可以用什么命令知道我的端口实际没有打开的了?因为我在那款 p2p 软件里面点击打开端口按钮,一直显示失败,说明这个按钮,实现了起码两个功能
1:打开最近一级的路由器的 upnp 对应的端口,映射上去
2:查看是否实现内网上传到另外一个内网的客户端软件
应该有函数,命令,让软件知道端口没有映射成功,就算你在家里面的 upnp 打开了,但实际在公网里面还是没用。
是哪条命令,我主要用 python 开发
我最近也在学习开发网络 p2p,对洞穿 nat 什么的想多了解点知识。
知道的大哥大姐,提点下吧!!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/428650
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.