UPnP 端口映射原理

一. 简介

实现 UPnP 条件:

  • 路由器需支持 UPnP,且需启用该功能。
  • 操作系统需支持 UPnP,且操作系统需启用该功能。
  • 软件需支持 UPnP,如 p2p 下载软件等,且需启用该功能。

简单来理解的话,UPnP 是一种设备间通信协议,功能是建立设备和 NAT 网关的端口映射,目的是希望接入 Internet 的任意两个设备在 LAN 下可以相互通信。

二. 协议

2.1. 发现

设备加入网络时,通过简单服务发现协议(SSDP)寻找网络上可用设备。

Internet Gateway Device(IGD)互联网网关设备协议是一种常见的自动配置端口映射通信协议。

2.2. 控制

控制消息是通过简单对象访问协议(SOAP)用 XML 来描述的,通过返回动作的值来回应控制消息。

三. miniupnp

https://github.com/miniupnp/miniupnp

http://miniupnp.free.fr/

Ubuntu 安装 upnpc 命令:

sudo apt install miniupnpc

3.1. upnpc 常用命令介绍

  • 添加映射端口,如映射 192.168.110.146 的 TCP 9999 端口到外网的 9999 端口
upnpc -a 192.168.110.146 9999 9999 TCP
  • 删除映射端口
upnpc -d 9999 TCP
  • 列出映射端口
upnpc -l

3.2. miniupnp 映射部分代码简单逻辑

upnpDiscover() // 返回找到的所有设备的链表
UPNP_GetValidIGD() // 从设备链表中找到有效的 IGD(Internet Gateway Device)网络网关设备
UPNP_AddPortMapping() // 端口映射 -a
  -> soapPostSubmit() // 发送 SOAP 请求
  -> getHTTPResponse() // 获取相应的响应
RemoveRedirect() // 移除 -d
  -> UPNP_DeletePortMapping()

参考

http://www.h3c.com.cn/MiniSite/Technology_Circle/Net_Reptile/The_Five/Home/Catalog/201206/747039_97665_0.htm

https://www.homenethowto.com/ports-and-nat/upnp-automatic-port-forward/

https://zh.wikipedia.org/wiki/UPnP

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要删除华为路由器上的UPnP端口映射表,可以按照以下步骤进行操作: 1. 在计算机中打开一个浏览器,输入路由器的IP地址(通常是192.168.1.1或192.168.0.1)并按下Enter键。这将打开路由器的管理页面。 2. 使用正确的用户名和密码登录到路由器管理页面。如果你没有更改过默认设置,一般是admin/admin或者admin/password。登录成功后,会显示路由器的设置页面。 3. 在路由器的设置页面中,找到并点击“高级设置”或“高级选项”等类似的标签。 4. 在高级设置页面中,继续寻找并点击“UPnP”或“UPnP设置”等相关选项。 5. 在UPnP设置页面中,应该可以看到当前路由器上存在的所有端口映射规则。你可以查找要删除的端口映射规则所在的列表。 6. 找到要删除的端口映射规则后,可以选择其旁边的“删除”、“清除”或类似的选项。有时候,可能需要先选中要删除的规则,然后点击页面底部的“删除”按钮。 7. 点击删除选项后,路由器会提示你确认删除操作。请确认你确实要删除该端口映射规则,并点击确认或确定按钮。 8. 删除成功后,路由器会重新加载设置,并将你删除的端口映射规则从列表中移除。 请注意,不同型号的华为路由器的管理页面可能会有所不同,以上的操作步骤仅供参考。如果你不清楚具体操作步骤,建议查阅华为路由器的用户手册或咨询华为客服进行具体指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值