【 Get-NetNeighbor 】コマンドレット――ネットワークアダプターのARPテーブルを取得するWindows PowerShell基本Tips(42)

本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「Get-NetNeighbor」コマンドレットを解説します。

» 2022年09月08日 05時00分 公開
[後藤諭史@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Windows PowerShell基本Tips」のインデックス

連載目次

 本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、ネットワークアダプターのARP(Address Resolution Protocol)テーブルを取得する「Get-NetNeighbor」コマンドレットです。

Get-NetNeighborコマンドレットとは?

 IPネットワークの通信経路は、異なるネットワーク(サブネット)宛ての通信であればサブネット間を接続する「ルーター」を介して行われます。その際の宛先はIPアドレスで指定され、コンピュータはルーターにIPアドレスで転送を依頼し、ルーターが適切な経路にパケットを転送します。

 IPアドレスはいわゆるOSI(Open Systems Interconnection)参照モデルではレイヤー3(ネットワーク層)のアドレスとなりますが、同一サブネット上のルーターをはじめとする他のコンピュータと通信するには、IPアドレスとレイヤー2(データリンク層)のアドレスである「MACアドレス」(Media Access Control address)とひも付けて管理する必要があります。

 通信先のIPアドレスを持つMACアドレスを取得するために使用されるプロトコルが「ARP(Address Resolution Protocol)」ですが、通信を開始するたびに毎回ARPを利用してIPアドレスに対応するMACアドレスを取得するのは非常に効率が悪く、ネットワークにも負荷をかけてしまうため望ましくありません。

 そのため、OS側でメモリ上にIPアドレスとMACアドレスをひも付けたデータをキャッシュとして一定期間保持し、頻繁にARP解決が行われないようにしています。

 「Get-NetNeighbor」は、このキャッシュされたARPテーブルを参照するコマンドレットです。Get-NetNeighborコマンドレットは、従来コマンドプロンプトで使用していた「arp」コマンドの「-a」オプション付き実行と同等のものとなります。

 なお、データリンク層、ネットワーク層といったOSI参照モデルの詳細に関しては、「ネットワーク用語辞典」を参照してください。

Get-NetNeighborコマンドレットの書式

Get-NetNeighbor [オプション]


Get-NetNeighborコマンドレットの主なオプション

オプション 意味
-IPAddress ARPテーブルから参照したいIPアドレスを指定する。省略可能
-InterfaceIndex 情報を取得するネットワークアダプターの番号を指定する。省略可能
-State ARPのステート(状態)を指定して、該当するステートのARPテーブルのみ取得する。7種類のステートから指定する。省略可能
-LinkLayerAddress ARPテーブルから参照したいMACアドレスを指定する。省略可能
-AddressFamily プロトコル(IPv4/IPv6)を指定する。省略可能


ARPテーブルを取得する

 Get-NetNeighborコマンドレットをオプションなしで実行すると、プロトコル(IPv4、IPv6)を問わず、コンピュータが保持している全てのARPテーブルを取得します(画面1)。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。