前言
如果需要在路由器上设置端口转发以访问内网设备,而又不知道密码.
仍然可以利用路由器本身的功能(UPnP):
应用请求路由器打开端口转发的机制.
这是 NAT 环境下必要的操作,一般路由器会提供功能.
解决
1 2 3 4 5 6 7 8 9 10
| import miniupnpc upnp = miniupnpc.UPnP() upnp.discoverdelay = 10 upnp.discover() upnp.selectigd() external_port = 8181 internal_port = 80 internal_ip = '192.168.1.2'
upnp.addportmapping(external_port, 'TCP', internal_ip, internal_port, 'testing', '')
|
- upnp.lanaddr 指当前设备的 ip 地址