为什么我用wiresharktcp挥手包只抓到了三个?

新手上路,请多包涵

抓挥手包时只抓到了三个
图片描述
客户端代码

import socket
host="121.42.196.153"
port=9527
BUFF_SIZE=1024
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host, port))
print("connect to server host %s port %d"%(host,port))
while True:
    data=input(">")
    if data=='exit':
        s.close()
        break
    s.sendall(str.encode(data))
    pass

服务端代码

import socket
host=''
port=9527
BUFF_SIZE=1024
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind((host,port))
s.listen()
print("server start at %d"%(port))
while True:
    client,address=s.accept()
    print("client %s connect"%(str(address)))
    while True:
        data=client.recv(BUFF_SIZE)
        if not data or data==b"exit":
            client.close()
            break
        print("recv data %d"%(len(data)))
        print(">%s"%(data.decode('utf-8')))
    print("this connect close")
    pass
s.close()
print("server stop")

正常的四次挥手包应该是
client->fin
server->ack
server->fin
client->ack
这个看上去像是合并了两个包 这是正常的情况吗?

阅读 2.9k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进