FIN 数据包后 TCP Windowsize 0
如果机器在收到 FIN 后将 TCP 窗口大小设置为零可以吗?
我从连接结束的wireshark 中得到了以下数据包转储,我只是想知道这是否是结束连接的有效方法或者是否有问题。
192.168.1.1 192.168.1.6 TCP 3450 > 102 [FIN, ACK] Seq=48 Ack=50 Win=65486 Len=0
192.168.1.6 192.168.1.1 TCP [TCP ZeroWindow] 102 > 3450 [ACK] Seq=50 Ack=49 Win=0 Len=0
192.168.1.6 192.168.1.1 TCP 102 > 3450 [FIN, PSH, ACK] Seq=50 Ack=49 Win=0 Len=0
192.168.1.1 192.168.1.6 TCP 3450 > 102 [ACK] Seq=49 Ack=51 Win=65486 Len=0
顺便说一句:.1 是常规 Windows PC,而 .6 是西门子 PLC。 (S7-400)
经过一番调查,这看起来是一种奇怪但有效的结束 TCP 会话的方法。
Is it okay if a machine sets the TCP windowsize to zero after receiving a FIN?
I've got the following packet dump from wireshark of the end of the connection and I'm just wondering if this is a valid way to end a connection or if something is wrong.
192.168.1.1 192.168.1.6 TCP 3450 > 102 [FIN, ACK] Seq=48 Ack=50 Win=65486 Len=0
192.168.1.6 192.168.1.1 TCP [TCP ZeroWindow] 102 > 3450 [ACK] Seq=50 Ack=49 Win=0 Len=0
192.168.1.6 192.168.1.1 TCP 102 > 3450 [FIN, PSH, ACK] Seq=50 Ack=49 Win=0 Len=0
192.168.1.1 192.168.1.6 TCP 3450 > 102 [ACK] Seq=49 Ack=51 Win=65486 Len=0
BTW: .1 is a regular windows PC while .6 is a Siemens PLC. (S7-400)
After some investigation it looks like a weird but valid way to end a TCP conversation.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为在
FIN ACK
之后发送零窗口没有任何问题...大概是192.168.1.6
向192.168 发送了
,因此他们现在正在关闭连接。FIN
。 1.1192.168.1.6 192.168.1.1 TCP [TCP ZeroWindow] 102 > 3450 [ACK] Seq=50 Ack=49 Win=0 Len=0
但立即设置
PSH
标志并且在ACK< 之后立即不发送任何数据 (Len=0) /code>,对我来说看起来很奇怪(但技术上没有错误)...
192.168.1.6 192.168.1.1 TCP 102 >第3450章【FIN,PSH,ACK】Seq=50 Ack=49 Win=0 Len=0
I see nothing wrong with sending a zero window after a
FIN ACK
... presumably192.168.1.6
sent aFIN
to192.168.1.1
, so they are now closing the connection.192.168.1.6 192.168.1.1 TCP [TCP ZeroWindow] 102 > 3450 [ACK] Seq=50 Ack=49 Win=0 Len=0
But immediately setting a
PSH
flag and sending no data (Len=0) right after thatACK
, looks rather odd (but not technically wrong) to me...192.168.1.6 192.168.1.1 TCP 102 > 3450 [FIN, PSH, ACK] Seq=50 Ack=49 Win=0 Len=0