DHCP 障害 PCAP 分析: 発見、オファー、リクエスト、ACK、NAK、および IP アドレスなしの問題

DHCP 障害、IP アドレスなし、オファーなしの DHCP Discover、DHCP NAK、リレーの問題、VLAN の問題、およびパケット キャプチャの証拠のトラブルシューティング方法。

DHCP の失敗, IPアドレスがありません, dhcp ディスカバー オファーなし, dhcp nak, VLAN のトラブルシューティング, pcap 分析

デバイスが IP アドレスを取得できない場合、それ以上のすべてが失敗します。ユーザーは、「DHCP Discover no Offer」、「DHCP Failure pcap」、「DHCP NAK トラブルシューティング」、「デバイスが 169.254 アドレスを取得」、および「IP アドレス パケット キャプチャなし」を検索します。これは、目に見える症状が通常は「ネットワークが接続されていない」だけであるためです。

DHCP は、4 つのメッセージ フローが表示されると理解しやすくなります。クライアント エラーのみが表示される場合は、推測するのが困難です。 PCAP 手術は、ブロードキャスト トラフィック、リレー フィールド、オプション、タイミングを維持しながら、DHCP 交換を分離するのに役立ちます。

健全な DHCP フロー

一般的な IPv4 DHCP フローは次のとおりです。

Client -> Broadcast: DHCP Discover
Server -> Client/Broadcast: DHCP Offer
Client -> Broadcast: DHCP Request
Server -> Client/Broadcast: DHCP ACK

Discover but no Offer

Offer but no Request

Inspect:

NAK

Look for:

Relay and VLAN problems

Checklist

Use this workflow:

Final diagnosis

<!-- pcap-localized-evidence-foundation-v1:start -->

「DHCP 障害 PCAP 分析: 発見、オファー、リクエスト、ACK、NAK、および IP アドレスなしの問題」を packet evidence で答える

direct answer は、analyzer label や application message だけでは原因を決められないことです。capture point と flow direction から始め、最後に成功した protocol boundary と最初に失敗した boundary を証明します。別の reviewer が根拠 packet、gap、interval を見つけ、何がその結論を反証するか分かる形にします。

path 上の capture point

client、server、proxy、load balancer、NAT、firewall を記録します。interface、場所、clock、OS、見える方向を明示します。client 側 capture は client に届いた内容を証明しますが、server が送らなかった証明ではありません。server 側もその地点の送信だけを証明します。二地点を比較する前に clock offset を補正し、flow tuple、TCP sequence、transaction ID を合わせます。

snap length、dropped packets、offload、capture filter、ring buffer、開始時間を確認します。host 上の bad checksum は offload artifact の場合があります。大きな segment は GRO/TSO の結果で、wire 上の一 packet ではないかもしれません。限られた file に packet がないだけで network loss と判断しません。

boundary を順に読む

境界 成功証拠 有効な失敗証拠
Link/IP direction、address、route が一致 ARP/NDP 不在、ICMP、MTU、asymmetry
TCP SYN、SYN-ACK、ACK、sequence retransmission、RST、zero window、timeout
TLS ClientHello、ServerHello、進行 alert、SNI/ALPN/certificate 境界
Application 完全 request と対応 response status、gap、早期 close
User response time または failure window 証明済み境界での stall

成功証拠のない最初の境界で止まります。TCP 未確立なら HTTP を先に診断しません。request が proxy に届き upstream にないなら、proxy またはその経路が境界です。upstream に届いて response が timeout 前にない場合、ACK と byte progress で application delay と network loss を分けます。

observation と hypothesis を分ける

observation は指し示せます。「client は特定 sequence まで送り、sender は同じ segment を三回再送し、この地点では進む ACK が見えない」。hypothesis は「path が segment を失った」です。別地点の capture や dropped records が反証する可能性があります。各 hypothesis に支持証拠と反証証拠を書きます。

retransmission や duplicate ACK は責任者を決めません。reordering、loss、capture artifact、receiver delay は似た label を生みます。direction、sequence、ACK、SACK、RTT、window、application timing を結びます。DNS/DHCP は transaction ID と attempts、HTTP は request/response、TLS は handshake direction を対応させます。

編集前に original を保全

original checksum を計算し変更しません。filter、trim、redaction は working copy に行います。input、operation、時刻、前後 packet count、output checksum、理由を記録します。timestamp rewrite や packet 削除後の copy は一部 timing や sequence 判定に使えません。

address と identifier は一貫した alias に置き換えます。判断に必要な port、direction、length は消しません。secret mapping は別に保管します。capture と export の範囲PCAP Surgery overviewで派生 file を確認します。

公開前 QA

title と answer は同じ flow か。duration は clock と地点を示すか。最初の failure boundary は明確か。alternative explanation はあるか。一変数で再試験できるか。original は残るか。結論の範囲も示します。「この file は指定 interval の client 側挙動を証明するが server 内部処理は証明しない」。

Semrush の検証済み一般語 PCAP analyzer製品ページだけが owner です。この技術記事に未測定 volume や KD を追加しません。

<!-- pcap-localized-evidence-foundation-v1:end --><!-- pcap-localized-flow-verdicts-v1:start -->

flow ledger と除外テスト

「DHCP 障害 PCAP 分析: 発見、オファー、リクエスト、ACK、NAK、および IP アドレスなしの問題」では方向ごとに endpoints alias、最初/最後の packet、送信・確認 bytes、reset、retransmission、request、response を記録します。同じ hostname でも source port、開始時刻、TCP initial sequence が違えば別 session です。NAT や proxy の前後 flow は関係を記録し、同じ sequence や port を期待しません。

label ではなく TCP を計算

receiver の next expected sequence を追います。payload length だけ sequence が進み、SYN と FIN も一番号を使います。高い segment 到着後の一定 Duplicate ACK は loss または reordering を支持します。SACK blocks は到着 ranges を示しますが損失場所は示しません。sender 側の retransmission が receiver 側にないなら中間 path、original が sender capture にないなら capture loss または offload を調べます。

duplicate ACK 後の fast retransmit と沈黙後の RTO を分けます。事前 RTT、advertised window、zero-window probes、burst、transfer size を比較します。overlap、spurious retransmission、flow 途中からの capture は analyzer label を変えるため、label 数をそのまま loss 数にしません。

boundary で時間を測る

request first byte、request complete、response first byte、response complete を使います。TTFB は自動的に server time ではありません。response 前の retransmission は network delay、request ACK 完了後の長い沈黙は application wait を支持します。値、unit、clock、point を書きます。

二地点では両方向の特徴的 packet を合わせ offset を推定し、各 file 内 interval を使います。clock が不確実なら range にします。成功/失敗 window は同程度の duration と load で比較します。

protocol 質問

DNS は ID、name、type、retry resolver。DHCP は同じ client identifier の Discover/Offer/Request/ACK。TLS は方向ごとの最後の handshake message と alert。HTTP は 4xx/5xx の生成者と upstream flow。TCP close は FIN/RST の sender と未 ACK bytes を確認します。

決定テストと引き渡し

競合する二 hypothesis と分離 test を選びます。反対端 capture は network loss と measurement loss、test で offload 無効化は artifact、固定 path の同一 request は intermittency、upstream log と packet boundary は application delay を検査します。実行前に期待結果を書きます。

reviewer が metadata から計算を再現し、同じ境界と制約に到達すれば合格です。original/derived checksum、filter、packet ranges、trim/redaction を渡し、owner、next action、測定可能な close 条件で終えます。

再現性レビュー

新しい connection で同じ input と filter を使い三回繰り返します。ports と initial sequence は変わっても、boundary、direction、response pattern は再現する必要があります。成功と失敗を全て報告します。修正は一変数だけ変え、application message だけでなく予測した packet behavior が変わることを確認します。

derived copy を別端末で開き、reviewer が flow alias、clock、capture point、最後の成功、最初の失敗、alternative を見つけます。redaction 後も hostname、query、header、sensitive payload を検索し、必要な length と direction は残します。逆方向、IPv6、reconnect、別 load など未検証範囲を書きます。

結論は範囲内で証明、まだ再現、指定 capture 不在で未確定のいずれかです。一 flow だけで「network 全体を修正」としません。

反対 control と confidence

「{{TITLE}}」を閉じる前に反対予測を書きます。network path が原因なら capture point を移したとき両地点に何が見えるか。server delay なら request bytes が ACK 済みで response がない状態になるか。結果を見る前の予測が後付け解釈を防ぎます。

confidence は evidence に結び付けます。high は再現と二地点または独立証拠、medium は完全 capture と未検証 alternative、low は label または概算 timing だけです。confidence は hypothesis を fact にしませんが次 action を決めます。

slow または intermittent failure は通常の failure interval より長く測ります。raw count ではなく retransmissions per megabyte、failures per connection、同 load の latency percentile を比較します。idle、reconnect、DNS cache、TLS session reuse は二回目を変えるため記録します。

引き渡しは flow table、五 event timeline、first difference、exclusion test、fix result、untested scope で構成します。packet numbers は derived copy に対応し、time map で original に戻せます。受領者が secrets や作成者 session なしで判定を再現できることが合格です。

<!-- pcap-localized-flow-verdicts-v1:end -->