目次
ARPフォーマット
ARPのメッセージはイーサネットヘッダで直接カプセル化して転送されます。イーサネットヘッダのタイプコード0x0806でデータ部分がARPメッセージであることを表します。

フィールド名 |
サイズ |
内容 |
Hardware Type |
16ビット |
イーサネットの場合、0x0001で固定 |
Protocol Type |
16ビット | IPv4の場合、0x0800で固定 |
Hardware Size |
8ビット |
MACアドレスのサイズ(バイト)。0x06 |
Protocol Size |
8ビット |
IPアドレスのサイズ(バイト)。0x04 |
Opcode |
16ビット |
ARPリクエスト:0x0001 ARPリプライ:0x0002 |
Sender MAC address |
48ビット |
送信元MACアドレス |
Sender IP address |
32ビット |
送信元IPアドレス |
Target MAC address |
48ビット |
ターゲットMACアドレス |
Target IP address |
32ビット |
ターゲットIPアドレス |
ARPの仕組みは以下のページで解説しています。
ARPメッセージの例
以下の簡単なネットワーク構成でARPリクエストとARPリプライの実際のメッセージの内容を詳しく見てみましょう。

「arp_capture.pcapng」をダウンロード
ARPリクエスト
R1からR2(192.168.12.2)へPingを行うと、自動的にARPの処理が行われます。R1は192.168.12.2のMACアドレスを求めるためにARPリクエストをブロードキャストします。そのARPリクエストをキャプチャすると、次のような内容です。

フィールド名 |
サイズ |
内容 |
Hardware Type |
16ビット |
0x0001 |
Protocol Type |
16ビット |
0x0800 |
Hardware Size |
8ビット |
0x06 |
Protocol Size |
8ビット |
0x04 |
Opcode |
16ビット |
0x0001(ARPリクエスト) |
Sender MAC address |
48ビット |
0x0000.0000.1111(R1のMACアドレス) |
Sender IP address |
32ビット |
192.168.12.1(R1のIPアドレス) |
Target MAC address |
48ビット |
0x0000.0000.0000 |
Target IP address |
32ビット |
192.168.12.2(R2のIPアドレス) |
ARPリプライ
R1からのARPリクエストに対して、Target IP addressを持つR2がARPリプライを返して、MACアドレスを通知します。そのARPリプライをキャプチャすると、以下のようになっています。

フィールド名 |
サイズ |
内容 |
Hardware Type |
16ビット |
0x0001 |
Protocol Type |
16ビット |
0x0800 |
Hardware Size |
8ビット |
0x06 |
Protocol Size |
8ビット |
0x04 |
Opcode |
16ビット |
0x0002(ARPリプライ) |
Sender MAC address |
48ビット |
0x0000.0000.2222(R2のMACアドレス) |
Sender IP address |
32ビット |
192.168.12.2(R2のIPアドレス) |
Target MAC address |
48ビット |
0x0000.0000.1111(R1のMACアドレス) |
Target IP address |
32ビット |
192.168.12.1(R1のIPアドレス) |
TCP/IP
- TCP/IPの階層
- IP(Internet Protocol) ~データを送り届ける~
- ICMP ~きちんとIPで転送できますか?~
- Ping ~きちんとデータは届きますか?~
- Windows OSのPingコマンド
- トレースルート ~データはどのルータを通っていますか?~
- tracertコマンド(Windows OS)
- ICMPリダイレクト
- トラブルはどこ? ~Pingとトレースルート~
- ARP ~IPアドレスとMACアドレスを対応付け~
- ARPフォーマット
- Gratuitous ARP(GARP)
- ポート番号 ~どのアプリケーションのデータなの?
- TCPの概要
- TCPの動作
- UDPの概要
- アプリケーションのデータが届くまでのまとめ
- DNS ~宛先IPアドレスを求める~
- nslookupコマンド ~DNSの名前解決の確認~
- DHCP ~IPアドレスを自動割り当て~
- Cisco IOS DHCPサーバの設定と確認コマンド
- Ciscoルータ DHCPサーバの設定例
- DHCPリレーエージェント
- DHCPリレーエージェントの設定例[Cisco]
- TCP/IPの設定のまとめ
- ipconfigコマンド ~Windows OSのTCP/IP設定を確認~
- Linux(Ubuntu)でのTCP/IP設定の確認
- Webサイト
- HTMLとCSS ~Webページを作る~
- URL ~Webサイト(Webページ)のアドレス~
- HTTP ~HTMLファイルを転送する~
- Webアプリケーション ~Webブラウザだけあればいい~
- HTTP Cookie
- Webアプリケーションのセッション管理
- Webプロキシサーバ ~Webアクセスを代わりに~
- Webアクセスのまとめ
- 電子メール
- SMTP ~電子メール送信用プロトコル~
- POP3 ~メール受信用プロトコル~
- IMAP4 ~メールサーバ上でメールを管理~
- 電子メールのまとめ
- FTP ~代表的なファイル転送プロトコル~
- TFTP ~簡易的なファイル転送プロトコル~
- Windows10のTFTPクライアント
- ネットワークのトラブルの切り分け手順