new

Cs, Go!

||最后更新: 2025-10-28|
get
这几道题其实都是在考“三次握手”的识别与参数提取。下面是你能直接复刻的 Wireshark 查找方法 + 答题逻辑步骤👇

✅ 一、找第一帧(客户端 SYN)

目标:帧号、客户端端口号、32-bit raw 序号、方向判断、是否消耗序号

查找步骤:

  1. 在过滤器输入:
    1. 找到 Apollo → External Web 的那一条(例如:80.129.88.81:50370 → 102.139.247.19:80 [SYN]
        • 帧号 = 372
        • 客户端端口 = 50370
    1. 展开 TCP → 查看 “Sequence Number (raw)”
        • 填:5af6583d
    1. 判断题:
        • This is sent from client to server → ✅ True(Apollo 发 SYN)
        • This message will consume one sequence number → ✅ True(SYN 一定消耗一个序号)

    ✅ 二、找第二帧(服务端 SYN-ACK)

    目标:帧号、32-bit raw 序号
    “同一流编号”= 同一个 TCP 连接的编号。
    • 在 Wireshark 里,每条 TCP 连接(同一对 四元组源IP, 源端口, 目的IP, 目的端口)都会被分配一个递增的 tcp.stream 编号,从 0 开始。
    • 这条连接里的所有包(SYN、SYN-ACK、ACK、HTTP 请求/响应……)的 tcp.stream 值都一样。
    • 你的截图里在 TCP 详情看到 [Stream index: 1],这就是这条连接的流编号;372、373、374 这三帧应该都显示 tcp.stream = 1

    查找步骤:

    1. 过滤器:
      1. 找到 External Web → Apollo 的那一帧:
          • 帧号 = 373
      1. 展开 TCP → 找到 “Sequence Number (raw)”
          • 填:9f6f5675

      ✅ 三、找第三帧(客户端 ACK)

      目标:帧号、32-bit raw 序号、ack 序号

      查找步骤:

      1. 过滤器:
        1. 找到 Apollo → External Web 的纯 ACK:
            • 帧号 = 374
        1. 展开 TCP → 记录:
            • Sequence Number (raw): 5af6583e
            • Acknowledgment Number (raw): 9f6f5676

        📘 最终答案汇总(根据你截图内容)

        项目
        帧号
        源端口
        Seq (raw)
        Ack (raw)
        方向
        消耗序号
        (a) SYN
        372
        50370
        5af6583d
        True
        True
        (b) SYN,ACK
        373
        80
        9f6f5675
        True
        (c) ACK
        374
        50370
        5af6583e
        9f6f5676
        False(纯ACK不消耗)

        💡 快速记忆法:

        标志位
        谁发
        消耗序号
        说明
        SYN
        Client
        ✅ +1
        发起连接
        SYN+ACK
        Server
        ✅ +1
        回复握手
        ACK
        Client
        完成握手

        要不要我帮你写一套“Wireshark操作流程图”(从过滤→定位→展开→抄数→验证)?这样你考试时照着操作就能几秒内拿到这三帧的数据。
        Loading...