NAT端口映射协议
外观
此条目需要补充更多来源。 (2018年5月26日) |
NAT端口映射协议(英语:NAT Port Mapping Protocol,缩写NAT-PMP)是一个能自动建立网络地址转换(NAT)设置和端口映射配置而无需用户介入的网络协议。该协议能自动测定NAT网关的外部IPv4地址,并为应用程序提供与对等端交流通信的方法。NAT-PMP于2005年由苹果公司推出,为更常见的ISO标准互联网网关设备协议(被许多NAT路由器实现)的一个替代品[1]。该协议由互联网工程任务组(IETF)在RFC 6886中发布。
NAT-PMP使用用户数据报协议(UDP),在5351端口运行。该协议没有内置的身份验证机制,因为转发一个端口通常不允许任何活动,也不能用STUN方法实现。NAT-PMP相比STUN的好处是它不需要STUN服务器,并且NAT-PMP映射有一个已知的过期时间,应用可以避免低效地发送保活数据包。
NAT-PMP是端口控制协议(PCP)的前身。
安全隐患
[编辑]2014年10月,Rapid7安全研究员Jon Hart公布,因厂商对NAT-PMP协议设计不当,估计公网上有1200万台网络设备受到NAT-PMP漏洞的影响。NAT-PMP协议的规范中特别指明,NAT网关不能接受来自外网的地址映射请求,但一些厂商的设计并未遵守此规定。黑客可能对这些设备进行恶意的端口映射,进行流量反弹、代理等攻击。[2]
参见
[编辑]参考资料
[编辑]- ^ AirPort Utility 6.x: 设定基站或 AirPort Time Capsule 的 NAT 选项. Apple 支持. 2013-11-11 [2018-05-26]. (原始内容存档于2015-02-14).
- ^ NAT-PMP协议漏洞将1200万路由器置于风险之中. freebuf. 2014-10-27 [2018-05-26]. (原始内容存档于2018-07-09).
外部链接
[编辑]- Port Mapping Protocols Overview and Comparison 2024 — About UPnP IGD & PCP/NAT-PMP
- Bonjour协议规范(页面存档备份,存于互联网档案馆)(英文)
- another NAT-PMP explanation(页面存档备份,存于互联网档案馆)(英文)
- MiniUPnP(页面存档备份,存于互联网档案馆) ANSI C,BSD许可证的函数库,支持UPnP和NAT-PMP遍历(客户端和服务器)