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

发布于 2022-09-04 07:43:10 字数 1203 浏览 19 评论 0

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

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
这个看上去像是合并了两个包 这是正常的情况吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文