What each message contributes #
| Stage | Purpose | If the next stage is missing |
|---|---|---|
| Discover | Client looks for a suitable server | Trace client VLAN, relay and server reachability |
| Offer | Server proposes configuration | Confirm the offer reaches the client |
| Request | Client requests the selected configuration | Inspect server decision and return path |
| ACK | Server confirms the lease | Inspect applied address, mask, gateway and DNS |
An ACK is not proof that Internet access works. DHCP can successfully deliver an incorrect gateway or DNS setting. Separate obtaining configuration from using that configuration.
Capture the transaction #
Use this capture expression on an authorized client-facing observation point:
Capture the transaction
Network tools · Capture filter / Wireshark display-filter bar as labelled
udp port 67 or udp port 68Wireshark display filters for modern versions:
Capture the transaction
Network tools · Capture filter / Wireshark display-filter bar as labelled
dhcpdhcp.option.dhcp == 1dhcp.option.dhcp == 2dhcp.option.dhcp == 3dhcp.option.dhcp == 5dhcp.option.dhcp == 6The numeric filters select Discover, Offer, Request, ACK and NAK respectively. Correlate the transaction ID and client identity so simultaneous clients do not create a false sequence. Inspect the actual message fields, not just the source IP: a relay changes how traffic is carried between client and server.
Compare two observation points #
If the client sends Discover but the server never sees it, examine the VLAN and relay path. If the server sends Offer but the client never receives it, inspect the return path, filtering and switching controls. If the server sees the request but cannot allocate a lease, examine scope availability, exclusions, reservations and server logs. A capture on only one side cannot settle every branch.
For a routed client subnet, verify the relay information selects the intended scope and that replies can return. Avoid assuming that server-side UDP traffic looks identical to the client broadcast segment. If multiple offers appear, identify all responding servers before declaring one rogue; legitimate designs can include more than one server.
Preserve the failing transaction before releasing addresses or restarting services. Those actions can interrupt remote access and remove useful state. Finish by testing the assigned gateway, DNS and the user's application. Successful DORA resolves the lease-exchange question, not every connectivity question.
Sources
Documentation reviewed: 8 October 2026