web-dev-qa-db-ja.com

LinuxでIPアドレスからMACアドレスを解決する

ホストのIPアドレスの詳細と、対応するMACアドレスとのマッピングを保持するファイルを作成する必要があるbashスクリプトを作成する必要があります。

ホストのIPアドレスが利用可能な場合、任意の(リモート)ホストのMACアドレスを確認する方法はありますか?

41
Mandar Shinde

特定のIPアドレスのMACアドレスを確認するだけの場合は、arpコマンドを使用して、システムに1回pingを送信した後、それを検索できます。

$ ping skinner -c 1
PING skinner.bubba.net (192.168.1.3) 56(84) bytes of data.
64 bytes from skinner.bubba.net (192.168.1.3): icmp_seq=1 ttl=64 time=3.09 ms

--- skinner.bubba.net ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 3.097/3.097/3.097/0.000 ms

次に、ARPテーブルを調べます。

$ arp -a
skinner.bubba.net (192.168.1.3) at 00:19:d1:e8:4c:95 [ether] on wlp3s0

MACアドレスのLAN全体をスイープする場合は、コマンドラインツールfingを使用してスイープできます。通常はインストールされないため、ダウンロードして手動でインストールする必要があります。

$ Sudo fing 10.9.8.0/24

 fing example

IPの使用

arpまたはfingコマンドを使用できない場合は、代わりにiproute2のコマンドip neighを使用して、システムのARPテーブルを表示できます。

$ ip neigh
192.168.1.61 dev eth0 lladdr b8:27:eb:87:74:11 REACHABLE
192.168.1.70 dev eth0 lladdr 30:b5:c2:3d:6c:37 STALE
192.168.1.95 dev eth0 lladdr f0:18:98:1d:26:e2 REACHABLE
192.168.1.2 dev eth0 lladdr 14:cc:20:d4:56:2a STALE
192.168.1.10 dev eth0 lladdr 00:22:15:91:c1:2d REACHABLE

参考文献

40
slm

arpコマンドを使用できます。

arp -an

ただし、このコマンドはLANでのみ使用できます。リモートホストのMACアドレスを確認する場合は、tcpdumpのようなパケットをキャプチャして結果を解析するためのツールを使用する必要があります。

9
cuonglm

これは askubunt の私の質問と回答からです。

次のコマンドを使用できます

   Sudo nmap -sP -PE -PA21,23,80,3389 192.168.1.*

nmap:ネットワーク探索ツールおよびセキュリティ/ポートスキャナー。マニュアルから:

-sP(ポートスキャンをスキップ)。このオプションは、Nmapホストの検出後にポートスキャンを実行せず、スキャンに応答した使用可能なホストのみを出力するように指示します。これは「pingスキャン」と呼ばれることが多いですが、 tracerouteおよびNSE Hostスクリプトの実行も要求します。これはデフォルトでリストスキャンよりも煩わしい1ステップであり、多くの場合同じ目的で使用できます。これにより、あまり注意を引くことなく、ターゲットネットワークの軽い偵察が可能になります。ホストが稼働していることは、攻撃者にとって、すべてのIPとホスト名のリストスキャンによって提供されるリストよりも価値があります。

-PE; -PP; -PM (ICMP Pingタイプ)。前述の異常なTCP、UDP、およびSCTPホスト検出タイプに加えて、Nmapは、ユビキタスpingプログラムによって送信される標準パケットを送信できます。Nmapは、 ICMPタイプ8(エコー要求)パケットをターゲットIPアドレスに送信し、利用可能なホストからのタイプ0(エコー応答)を期待します。残念ながら、ネットワークエクスプローラーでは、多くのホストとファイアウォールがこれらのパケットをブロックするようになりました。 1122 [2]。このため、ICMPのみのスキャンは、インターネット上の未知のターゲットに対して十分な信頼性があることはめったにありません。しかし、内部ネットワークを監視するシステム管理者にとって、これらは実用的で効率的なアプローチです。-PEオプションを使用してこれを有効にしますエコー要求の動作。

-A(積極的なスキャンオプション)。このオプションは、追加の高度で積極的なオプションを有効にします。

21,23,80,3389検索するポート

192.168.1.* IPの範囲。あなたのものと交換してください。

5
Maythux

アーピング

arping -I <interface> -c 1 <Host>

コマンドは応答でMACアドレスを返す必要があります。何かのようなもの、

$ arping -I eth0 -c1 192.168.1.2
ARPING 192.168.1.2 from 192.168.1.5 eth0
Unicast reply from 192.168.1.2 [08:01:27:38:EF:32]  0.746ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)

arpingは、Debianのパッケージiputils-arpingによって提供されます。

4
hookman