wireshark 抓到的四次挥手 怎么感觉不大一样呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
请不要在回答技术问题时复制粘贴 AI 生成的内容
amiwrong123

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

  •  
  •   amiwrong123 Mar 3, 2021 2422 views
    This topic created in 1882 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

    但是是我主动关闭了网页,才发现挥手过程的呀。这不应该客户端先发 FIN 嘛,我懵了
    amiwrong123
        9
    amiwrong123  
    OP
       Mar 4, 2021
    @daimiaopeng #6
    你的意思是,像握手过程一样,把二三次进行了合并(因为本质上来说,是四次握手,只不过进行了合并)
    amiwrong123
        10
    amiwrong123  
    OP
       Mar 4, 2021
    手动 at 大佬 @qakito
    labubu
        11
    labubu  
       Mar 5, 2021
    @amiwrong123 对,具体 google 上有,我之前抓的 linux nc 命令的包就这样
    labubu
        12
    labubu  
       Mar 5, 2021
    wakzz
        13
    wakzz  
       Mar 5, 2021
    @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  
       Mar 5, 2021
    @amiwrong123 还有一个忘记说了,https 和 http 连接不一样,https 步数更多
    diaryevil
        15
    diaryevil  
       Mar 5, 2021
    @amiwrong123 我测试了下,百度的 keepalive 客户端不发送数据的话保持 90s,90s 不发送任何实际数据的话百度会自动断开连接。我在访问后的 8s 关闭了浏览器,是由客户端主动发起的 FIN
    diaryevil
        16
    diaryevil  
       Mar 5, 2021
    About     Help     Advertise     Blog     API     FAQ     Solana     4298 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 54ms UTC 10:11 PVG 18:11 LAX 03:11 JFK 06:11
    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