Lina 笔记 - 暂未修改

Cs, Go!

||最后更新: 2025-10-28|
GCD Calculator
boxentriqboxentriqModular Multiplicative Inverse Calculator | Boxentriq
💡
IP MAC ip.src == ip.dst == [SYN] Frame number: Source Port: Raw sequence : GET ip.dst == && http 获取 ip.src == && http smtp
n = (n) =
 
Wireshark思路 (1)
  • DHCP ACK
    • option54 → DHCP
    • option3 → router
    • option6 → DNS
    • your(client) IP address → “Apollo”
      • 在这条 DHCP ACK 里看 Client MAC address (chaddr) —— 是否等于图里 Apollo 的 MAC。
      • yiaddr 就是这次分给该客户端的 IP(应该等于图里标在 Apollo 下面的 IP)。
    • Client MAC address → “Apollo” mac address
    • web
      1. 找 Web 服务器 IP(HTTP)
        1. 过滤:
      选中来自 Apollo 的这条 SYN,Destination IP 就是 Web 的 IP(或用你实际端口,如 8080 则改为 tcp.port==8080) 与 Apollo 同 162.41.61.x 网段(同网段判断 A)
      mail
      1. 找 Mail 服务器 IP(SMTP)
        1. 过滤:
      同理,Destination IP 就是 Mail 的 IP(若是提交端口 587/465,请改端口)。
  • DNS
    • intranet
    • hera
    • zeus
  • smtp → mail
sent from client to server
True
因为 Source 是 Apollo, Destination 是 Web
 
MAC address
  • ip.addr == (ip address)
  • ip.src == 130.166.120.11
 
Task3
  • 握手协议
    • Ip.dst = = (client ip address)
    • tcp.flags.syn == 1 && tcp.flags.ack == 0
    • [SYN] (client → server) : first
    • [SYN-ACK] (server → client) : second
    • [ACK] : third
    • 做法:
    • 先确定 Apollo 和 Web 的 IP(题目图里会给;或从 DNS/ARP 找到)。
    • 过滤:
      • 过滤结果里的第一条就是“发起连接”的报文;记下它的 No. 即可填入。
      • Ip.dst = = (client ip address)
        • frame number (前面的编号)
        • client port number : TCP → Source Port
        • Raw sequence: TCP → 点击 Sequence Number (raw) → 查看高亮 0f990abc
    • 获取 GET request 中的 Default HTML
      • ip.dst == 162.41.61.15 && http
      • notion image
        method

        方法 1:看 Frame Details 顶部状态栏

        点击这帧后,在 Wireshark 最底部的状态栏,会显示:
        那是总长度,不是 application 层。
        要看 HTTP 层的大小,往下看:
        在展开的 “Hypertext Transfer Protocol” 部分右键 →
        Copy → Bytes → Printable text only
        然后粘贴到文本编辑器里(比如 Notepad),再查看字节数(每个字符 = 1 字节)。
        这就是HTTP 请求报文的实际长度(包括所有头部和空行,不包括底层头)。

        ✅ 方法 2:直接查看 tcp.len

        在“Packet Details”窗口中展开:
        找到字段:
        或:
        这个数字 = 本 TCP 段承载的应用层字节数
        因为 HTTP 是跑在 TCP 上的,所以这里的 TCP payload ≈ HTTP 报文大小。
        (GET 请求一般 150–250 字节左右。)

        ✅ 方法 3:如果 HTTP 被分段

        有时 Wireshark 会显示:
        或:
        那时 xxx 就是整条 HTTP 报文的总长度。

        🧠 四、在你这个例子中推断

        从你的截图看:
        • Frame 总长 = 211 bytes
        • 这帧只是一条很短的 GET 请求(无正文)
        所以:
        • HTTP 请求大小tcp.len ≈ 211 − (14+20+20) ≈ 157 bytes
          • (具体数值请以你在 TCP 里看到的 tcp.len 为准)

        ✅ 总结

      • TCP → TCP Segment Len
      • (其实不是,但实在找不到就填这个吧)size of the application layer是这个UDP payload
      • new
         
        备用方法:

        (b) Identify the frame of the GET request for the default HTML page

        要找 HTTP 请求
        1. 使用过滤器:
          1. 或者更具体:
        1. 找到发往 Intranet 服务器的请求(client → server)。
        1. 在下方 “Hypertext Transfer Protocol” 中查看:
            • Full request URI:例如 http://intranet.company.local/index.html
            • Size (bytes) of application layer message
              • 点开 TCP → Transmission Control Protocol → “Segment Length” (不含头)
              • 或直接看 Info 列里的 [Length: xxx]
              • 或者右键该帧 → “Packet Details” → 统计中看 “Frame length on the wire” 减去 TCP/IP 头(简便法:Wireshark 通常会显示 “Line-based text data: xxx bytes”)
         
  • 获取 HTML 的回答
    • ip.src == 162.41.61.15 && http
    • Hypertext Transfer Protocol → 查看数据大小 得出答案 → 495 bytes
    • 16-digit flag:
    • notion image
       
      备用方法:

      (c) Identify the frame of the server response containing the HTML page

      要找 HTTP Response
      1. 使用过滤器:
        1. 找到从 Intranet → Apollo 的第一个 HTTP/1.1 200 OK 响应。
        1. 在下方 “Hypertext Transfer Protocol” 中查看:
            • Size (bytes) of application layer message:同上看 TCP Segment length 或 HTTP content length。
            • Flag (16-digit hex):题里指 HTML 内部会有一个隐藏的 flag,例如:
              • 直接在下方 “Line-based text data” 部分查找该 16 位 hex 值。
     
    • Sending an email
      • smtp
        • recipient : RCPT TO
     
    notion image
    notion image
    notion image
    上述内容用Modular Inverse
    上述内容用Modular Inverse
    质数:
    2, 3, 5, 7, 11, 13, 17, 19, 23, 29,
    31, 37, 41, 43, 47, 53, 59, 61, 67, 71,
    73, 79, 83, 89, 97, 101, 103, 107, 109, 113
     
    “This message will consume one sequence number?”
    判断逻辑:
    1. 看 TCP Flags:
        • 如果是 SYNFIN,即使没有 data payload,也会消耗一个序号。
        • 这是因为 TCP 把它们当作“1 字节的控制位”。
    1. 所以:
        • SYN:nextseq = seq + 1
        • FIN:nextseq = seq + 1
        • 只有纯 ACK 且无 payload 的报文不会消耗序号。
    结论: True ✅(因为这是 SYN 包)

    🧠 小记忆法:
    报文类型
    是否消耗序号
    SYN
    ✅ 是
    FIN
    ✅ 是
    Data
    ✅ 是
    ACK (无数据)
    ❌ 否
    source → client
    destination → server

    方法 2:看 TCP Flags

    • 如果这一帧是 SYN(且没有 ACK),就是连接发起者(client)。
    • 如果是 SYN, ACK,那是回应方(server)。
    • 如果是 ACK 之后或其他数据包,则继续用上面的 IP 判断。
    • 谁先发出 SYNACK=0,谁就是 Client(连接发起方)。
    • 对应地,回复 SYN,ACK 的那一方是 Server。

    方法 3:看 TCP 端口号组合

    • 通常 server 端口号是固定的(如 25, 80, 443, 110, 53)。
    • client 端口号是随机临时分配的(一般大于 1024)。
      • 例如:
    → 说明发出方是 client。
    Loading...