家用路由器中传入流量如何通过没有端口转发的端口

家用路由器中传入流量如何通过没有端口转发的端口

分析家庭网络内树莓派上托管的电报机器人的传入/传出流量时,我产生了一个小疑问。

09:38:13.299379 IP 149.154.167.220.443 > 192.168.1.16.43576: Flags [P.], seq 7171:7954, ack 1798, win 33, options [nop,nop,TS val 1583794963 ecr 1448315541], length 783
09:38:13.303060 IP 192.168.1.16.43576 > 149.154.167.220.443: Flags [P.], seq 1798:2120, ack 7954, win 501, options [nop,nop,TS val 1448318515 ecr 1583794963], length 322
09:38:13.303718 IP 192.168.1.16.43576 > 149.154.167.220.443: Flags [P.], seq 2120:2198, ack 7954, win 501, options [nop,nop,TS val 1448318516 ecr 1583794963], length 78
09:38:13.319200 IP 192.168.1.16.43564 > 149.154.167.220.443: Flags [P.], seq 3271:3595, ack 4613, win 501, options [nop,nop,TS val 1448318532 ecr 1712535163], length 324
09:38:13.319403 IP 192.168.1.16.43564 > 149.154.167.220.443: Flags [P.], seq 3595:4362, ack 4613, win 501, options [nop,nop,TS val 1448318532 ecr 1712535163], length 767
09:38:13.350168 IP 149.154.167.220.443 > 192.168.1.16.43576: Flags [.], ack 2198, win 34, options [nop,nop,TS val 1583794976 ecr 1448318515], length 0
09:38:13.357032 IP 149.154.167.220.443 > 192.168.1.16.43564: Flags [.], ack 4362, win 47, options [nop,nop,TS val 1712541039 ecr 1448318532], length 0
09:38:13.400400 IP 149.154.167.220.443 > 192.168.1.16.43564: Flags [.], seq 4613:5841, ack 4362, win 47, options [nop,nop,TS val 1712541049 ecr 1448318532], length 1228
09:38:13.400434 IP 192.168.1.16.43564 > 149.154.167.220.443: Flags [.], ack 5841, win 501, options [nop,nop,TS val 1448318613 ecr 1712541049], length 0
09:38:13.400843 IP 149.154.167.220.443 > 192.168.1.16.43564: Flags [P.], seq 5841:6151, ack 4362, win 47, options [nop,nop,TS val 1712541049 ecr 1448318532], length 310
09:38:13.400865 IP 192.168.1.16.43564 > 149.154.167.220.443: Flags [.], ack 6151, win 501, options [nop,nop,TS val 1448318613 ecr 1712541049], length 0

上面的代码片段描述了 Telegram 服务器和我的家庭托管 BOT 之间的流量。传出流量通过 443 端口,但我不明白传入流量如何通过端口 43357,而我的家庭路由器上没有任何端口转发。

答案1

一个 TCP 连接有 2 个端口和 2 个 IP 地址、一个源集和一个目标集。

您可以看到每个数据包都有端口 443 和 43357。在 PNAT 的情况下,客户端打开与服务器的连接,路由器执行 NAT 并跟踪原始源和目标(它还可能更改源端口)。当响应返回时,跟踪知道此数据包与“内部”连接相关,因此它知道将数据包发送到哪里(如果在传出数据包中修改了源端口,则可能更改目标端口)

相关内容