网络抓包 DNS

环境 Windows10

释放网卡配置

指令 ipconfig /release

本机会发送给路由器一个包:

1
2
3
4
5
119 20.520811300  192.168.0.12  192.168.0.1 DHCP  342  DHCP Release  - Transaction ID 0x1195ca8c

Option: (53) DHCP Message Type (Release)
Length: 1
DHCP: Release (7)

DHCP 协议规范:

  1. 数字 1 = Discover(客户端寻找 DHCP 服务器)
  2. 数字 2 = Offer(服务器提供 IP 配置)
  3. 数字 3 = Request(客户端请求使用该 IP)
  4. 数字 5 = ACK(服务器确认授权)
  5. 数字 7 = Release(客户端释放 IP)

重新申请

指令 ipconfig /renew

情况一:之前刚执行过 release(当前网卡无 IP)

从头开始执行标准的 DHCP 四步握手:

  1. 广播发送 DHCP Discover(最先干的事):局域网广播.
    • 电脑向局域网广播发送 DHCP Discover 包(源 IP 为 0.0.0.0,目标 IP 为 255.255.255.255),大喊:“局域网里有 DHCP 服务器吗?我需要一个 IP!”
  2. 接收路由器回应的 DHCP Offer: 服务器响应.
    • 路由器收到广播后,挑选一个可用 IP,向电脑发送 DHCP Offer 包,表示:“我这里有一个 IP(例如 192.168.0.12)可以租给你。”
    • Offer 的发送方式(单播还是广播)取决于客户端在 Discover 里设置的 Bootp Flags(广播位)以及路由器的具体实现
  3. 广播发送 DHCP Request: 请求确认.
    • 电脑回应 DHCP Request 包:“太好了,我决定申请使用这个 IP!”
  4. 接收 DHCP ACK 确认: 完成配置.
    • 路由器发送 DHCP ACK 包:“没问题,该 IP 正式租给你,配置已生效。”

情况二:当前网卡本身就有 IP(仅尝试续约/重刷新)

如果当前网卡已经拥有一个有效 IP,直接运行 renew 时,电脑不会从头广播 Discover,而是直接进行快速单播续约:

  1. 单播发送 DHCP Request(最先干的事): 定向单播.
    • 电脑直接向原路由器 IP(如 192.168.0.1)发送单播 DHCP Request 包:“你好,我想继续使用我现在的 IP 192.168.0.12,可以延长租约吗?”
    • 如果单播续约无响应,过段时间电脑会进入 Rebind 状态(尝试向全网广播 Request 寻找任何可用的 DHCP 服务器)如果单播续约无响应,过段时间电脑会进入 Rebind 状态(尝试向全网广播 Request 寻找任何可用的 DHCP 服务器)
  2. 接收路由器回应的 DHCP ACK: 续约成功.
    • 路由器确认无冲突后,直接回复 DHCP ACK:“可以,租期已为你刷新。”

抓包内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
125 30.357054100    0.0.0.0 255.255.255.255 DHCP    344 DHCP Discover - Transaction ID 0x948ae358

Option: (53) DHCP Message Type (Discover)
Length: 1
DHCP: Discover (1)


126 30.358717600 192.168.0.1 192.168.0.12 DHCP 374 DHCP Offer - Transaction ID 0x948ae358

Your (client) IP address: 192.168.0.12

Option: (53) DHCP Message Type (Offer)
Length: 1
DHCP: Offer (2)

127 30.360263600 0.0.0.0 255.255.255.255 DHCP 370 DHCP Request - Transaction ID 0x948ae358

Option: (53) DHCP Message Type (Request)
Length: 1
DHCP: Request (3)

Option: (50) Requested IP Address (192.168.0.12)
Length: 4
Requested IP Address: 192.168.0.12


128 30.362292900 192.168.0.1 192.168.0.12 DHCP 394 DHCP ACK - Transaction ID 0x948ae358

Option: (53) DHCP Message Type (ACK)
Length: 1
DHCP: ACK (5)

在 RFC 2131 规范中,Option 53(DHCP Message Type) :

  • 1 = Discover:客户端在局域网内寻找可用 DHCP 服务器(广播)。
  • 2 = Offer:服务器回应客户端,提供可分配的 IP 地址及网络配置。
  • 3 = Request:客户端向服务器申请使用(或续租)特定的 IP 地址。
  • 4 = Decline:客户端发现分配给它的 IP 存在冲突(比如被其他设备占用了),拒绝使用该 IP。
  • 5 = ACK:服务器确认授权,配置正式生效(分配成功)。
  • 6 = NAK:服务器拒绝授权(比如请求的 IP 不在网段内或租约已失效)。例如:请求的 IP 冲突或不在该网段时,服务器拒绝该请求)。
  • 7 = Release:客户端主动通知服务器释放当前使用的 IP 租约。
  • 8 = Inform:客户端已有 IP,仅向服务器索取额外的网络配置(如 DNS、网关等)。

网络抓包 DNS
https://fu01.github.io/posts/15d86b46/
作者
Fu01
发布于
2026年9月14日
许可协议