对称型NAT相互之间也可能打洞成功
使用端口预测还有生日攻击算法:
https://github.com/jflyup/nat_traversal
https://blog.csdn.net/bytxl/article/details/34812293
http://blog.51cto.com/wangbojing/1968118
https://www.zhihu.com/question/20436734
牛逼:不需要第三方服务器的NAT穿透
前提是一方必须知道另一方的公网地址, 可以都在NAT/防火墙后面.
比如客户端知道服务端公网地址, 但是客户端直接给服务端发包的话会被拒, 服务端此时不知道客户端地址, 也无法发包给客户端.
那么服务器先向一个无效的地址59.66.1.1一直发送ping命令也就是ICMP echo request,
客户端向服务器的公网地址发送ICMP time exceed包
https://blog.blahgeek.com/pypwnat.html
https://github.com/samyk/pwnat
https://github.com/blahgeek/pypwnat