wireshark 抓到的四次挥手 怎么感觉不大一样呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
amiwrong123
V2EX    程序员

wireshark 抓到的四次挥手 怎么感觉不大一样呢?

  •  
  •   amiwrong123 2021 年 3 月 3 日 2350 次点击
    这是一个创建于 1828 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如上这个 ip ( 39.156.66.14 )是百度的 ip,我在浏览器键入这个 ip 后,关闭了这个网页。

    1. 为啥没有看到客户端先发 FIN 呢,反而是服务器先发[FIN,ACK]呢?
    2. 之后才看到客户端连发了 6 次[FIN,ACK]?
    3. 客户端从来没有发过 FIN 呢?
    4. 从上示意图来看,服务器发的 FIN 和 ACK 都是分开的呀?

    看完这个挥手过程完全懵了,大佬们求解答?

    16 条回复    2021-03-05 10:17:30 +08:00
    divilkcvf
        1
    divilkcvf  
       2021 年 3 月 3 日
    图看不到,但是一般来说 http 请求不会保持长连接,即 html 以及相关的 js 下载完就由服务端关闭了,不用等到关闭页面

    多次 FIN 是因为不只有一个 tcp 连接,每一张图片都是单独的 http 同时请求的。
    amiwrong123
        2
    amiwrong123  
    OP
       2021 年 3 月 3 日
    @divilkcvf #1
    等一下哈,大佬,我发现这个图床有问题。。路过图床又不好使了。你们都用的什么图床啊~
    wakzz
        4
    wakzz  
       2021 年 3 月 4 日
    楼主这个图是 6 个 tcp 的挥手过程,只看 7719 端口的话,实际上是 3 次挥手,符合标准协议没问题。
    diaryevil
        5
    diaryevil  
       2021 年 3 月 4 日
    1. 建议加个端口的过滤式,百度的 IP 对应了不止一个端口,说明不止一个连接
    2. 服务端先发 FIN 也很常见,双方都可以关闭连接
    labubu
        6
    labubu  
    &nsp;  2021 年 3 月 4 日
    有的没有四次,只有三次,二三次和在一起发。
    amiwrong123
        7
    amiwrong123  
    OP
       2021 年 3 月 4 日
    @wakzz #4
    我看是 4 次啊:
    先是服务器先发 FIN,对方回复 ACK
    然后客户端再发 FIN,对方回复 ACK
    amiwrong123
        8
    amiwrong123  
    OP
       2021 年 3 月 4 日
    @diaryevil #5
    加个端口过滤是个好主意哈。

    但是是我主动关闭了网页,才发现挥手过程的呀。这不应该客户端先发 FIN 嘛,我懵了
    amiwrong123
        9
    amiwrong123  
    OP
       2021 年 3 月 4 日
    @daimiaopeng #6
    你的意思是,像握手过程一样,把二三次进行了合并(因为本质上来说,是四次握手,只不过进行了合并)
    amiwrong123
        10
    amiwrong123  
    OP
       2021 年 3 月 4 日
    手动 at 大佬 @qakito
    labubu
        11
    labubu  
       2021 年 3 月 5 日
    @amiwrong123 对,具体 google 上有,我之前抓的 linux nc 命令的包就这样
    labubu
        12
    labubu  
       2021 年 3 月 5 日
    wakzz
        13
    wakzz  
       2021 年 3 月 5 日
    @amiwrong123
    建议对端口做个过滤,例如看 7719 端口,一共就三个包
    443 -> 7719 [FIN, ACK]
    7719 -> 443 [FIN, ACK]
    443 -> 7719 [ACK]
    ------------------------
    TCP 挥手标准情况为 4 次挥手,如下
    A -> B [FIN]
    B-> A [ACK]
    B -> A [FIN]
    A -> B [ACK]
    但是当服务端与客户端之间没有数据延迟(大多数发生在闲置 TCP 连接上),为了更快地交互而把第二步和第三步合并,从而把 4 次挥手缩短成了 3 次挥手,也就是楼主图片这种情况。
    labubu
        14
    labubu  
       2021 年 3 月 5 日
    @amiwrong123 还有一个忘记说了,https 和 http 连接不一样,https 步数更多
    diaryevil
        15
    diaryevil  
       2021 年 3 月 5 日
    @amiwrong123 我测试了下,百度的 keepalive 客户端不发送数据的话保持 90s,90s 不发送任何实际数据的话百度会自动断开连接。我在访问后的 8s 关闭了浏览器,是由客户端主动发起的 FIN
    diaryevil
        16
    diaryevil  
       2021 年 3 月 5 日
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2762 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 46ms UTC 14:47 PVG 22:47 LAX 06:47 JFK 09:47
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86