- エンジニアN
クライアントがDHCPサーバからIPアドレスを取得するまでの流れをWiresharkで見てみた
更新日:2022年6月1日
CCNAの勉強中、Wiresharkでどのような通信が起きているかを見ていました。
その中で、DHCPでIPアドレスを取得するときに発生するDHCPの各メッセージが面白いなと思ったので、表題の内容を記事にしてみました。
目的
クライアントのIPアドレス取得要求に対して、DHCP Discover ~ DHCP ACKの通信が発生していることを確認する。
目次
1.クライアントにDHCPの設定
2.WiresharkでDHCPの通信をフィルター
3.DHCPの通信を発生させるためにIPアドレスの解放を実施
4.DHCPの通信を発生させるためにIPアドレスの再取得を実施
5.DHCP Discover ~ DHCP ACKの簡単な処理内容
1.クライアントにDHCPの設定
・「ファイル名を指定して実行」を起動し、「ncpa.cpl」を入力して「OK」をクリックします。

・「ネットワーク接続」が表示されるので、「Wireshark」でキャプチャしたいインタフェースを右クリックして「プロパティ」をクリックします。(今回は「Ethernet0」です。)

・「Ethernet0のプロパティ」が表示されるので、「インターネットプロトコルバージョン4(TCP/IPv4)」を選択し、「プロパティ」をクリックします。

・「インターネットプロトコルバージョン4(TCP/IPv4)のプロパティ」が表示されるので、「IPアドレスを自動的に取得する」のラジオボタンにチェックを入れ、「OK」をクリックします。

・「Ethernet0のプロパティ」に戻るので、「閉じる」をクリックします。

2.WiresharkでDHCPの通信をフィルター
・「Wireshark」を起動し、キャプチャしたいインタフェースをクリックします。(今回は「Ethernet0」です。)

・フィルターに「dhcp」と入力し、Enterを押下します。

3.DHCPの通信を発生させるためにIPアドレスの解放を実施
・「PowerShell」を管理者権限で起動し、「ipconfig /release」と入力して、Enterを押下します。

・「Wireshark」で「DHCP Release」が発生することを確認します。

4.DHCPの通信を発生させるためにIPアドレスの再取得を実施
・「PowerShell」で「ipconfig /renew」と入力して、Enterを押下します。

ここで、クライアントがDHCPサーバからIPアドレスを取得できていることが確認できますね。
・「Wireshark」で「DHCP Discover」 ~ 「DHCP ACK」が発生することを確認します。

実際に「Wireshark」でDHCPの各メッセージが発生していることが確認できました!
目的は、達成したためここで終了としてもよいのですが、最後にDHCPの各メッセージの簡単な処理内容を見て終わりにしましょう。
5.DHCP Discover ~ DHCP ACKの簡単な処理内容
※DHCPサーバのIPアドレスは「192.168.1.1」です。
・DHCP Discover(ブロードキャスト)
→クライアントがDHCPサーバ探索をする。

・DHCP Offer(ユニキャスト)
→DHCPサーバがクライアントにIPアドレスの提案(192.168.1.117)をする。

・DCHP Request(ブロードキャスト)
→クライアントは、提案を受けたIPアドレスの払い出しをしてもらうよう、DHCPサーバに要求をする。

・DCHP ACK(ユニキャスト)
→DHCPサーバはクライアントの要求に対し、IPアドレスの払い出しの承認をし、クライアントにIPアドレスを送信する。

クライアントからの送信は「ブロードキャスト」、DHCPサーバからの送信は「ユニキャスト」となっていますね。
今回は、DHCPでIPアドレスを取得する簡単な流れを見ていきました。
パケットの中身を深堀することはしませんでしたが、DHCPに関する通信が可視化されるだけで理解はすごく深まります。
ネットワークの理解がまだまだ未熟な私にとって、「Wireshark」のようなパケットキャプチャツールは勉強の助けになります。重宝しそうです。