# 大致流程
- 1、A 与服务器通信获得外网IP端口
- 2、B与服务器通信获得外网IP端口
- 3、B向A发送低TTL消息
- 4、A向B进行TCP连接
# 注意事项
- 1、应该通过UDP与服务器通信获取外网IP端口,使用TCP获取,当连接断开时,打洞通道也可能断开,不稳定
- 2、TTL应当适当,恰好能出外网,而无法到达对方网关,使其销声匿迹,发送端无法收到超时,或拒绝消息
- 3、使用 tracert ip 跟踪网关,根据经过IP,适当调整TTL值,非常有助于打洞
- 4、尝试端口+1,非常有助于打洞
- 5、因为尝试端口+1,所以我们不应当连续获取外网端口,连续获取外网端口,有可能会获取到连续的端口,比如第一次获取到12345,第二次12346,我们在第一次尝试打洞时,会端口+1,12346也被尝试了,12346受到污染,从而导致第二次尝试失败