NAT端口映射协议

NAT端口映射协议（，缩写NAT-PMP）是一个能自动建立网络地址转换（NAT）设置和端口映射配置而无需用户介入的网络协议。该协议能自动测定NAT网关的外部IPv4地址，并为应用程序提供与对等端交流通信的方法。NAT-PMP于2005年由蘋果公司推出，为更常见的ISO标准互联网网关设备协议（被许多NAT路由器实现）的一个替代品。该协议由互联网工程任务组（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网关不能接受来自外网的地址映射请求，但一些厂商的设计并未遵守此规定。黑客可能对这些设备进行恶意的端口映射，进行流量反弹、代理等攻击。

参见 

 
 Bonjour
 NAT穿透
 端口映射
 STUN
 UPnP

参考资料

外部链接 

 Bonjour协议规范
 another NAT-PMP explanation
 MiniUPnP ANSI C，BSD许可证的函式库，支持UPnP和NAT-PMP遍历（客户端和服务器）

苹果公司
网络地址转换
网络协议