アイテムのMACしか持っていないときにIPアドレスを取得する方法はありますか?
同じブロードキャストドメインに接続している場合は、arp -a
を実行すると、ARPキャッシュが表示されます。ここから、MACをIPに一致させることができます。
ターゲットデバイスと* nixボックスが同じIPサブネット上にある場合(具体的には、真のIPサブネット、同じスイッチ、同じVLAN、同じブロードキャストドメイン、または他の何かと呼ばれることもあります)素人の用語での「サブネット」)、およびすでに互いに話し合う機会があった場合、ターゲットデバイスのIP-> MACマッピングはおそらくすでにUnixボックスのARPテーブルにあります。できるよ arp -a
テーブルを表示します。
それらが同じサブネット上にあるが、まだ相互に通信していない場合は、通常、すべてのホストのマルチキャストアドレス(224.0.0.1)またはサブネットブロードキャストアドレスのいずれかにpingを実行することで強制できます。
同じIPサブネット上にいないが、同じマルチキャスト/ブロードキャストドメイン上にいる場合は、スニファを実行し、ターゲットMACアドレスからのマルチキャストまたはブロードキャストを監視することでIPアドレスを取得できる場合があります。
Sudo tcpdump -nei $INTERFACE ether Host $MAC
...ここで、$ INTERFACEはリッスンするインターフェイス(「en0」や「eth0」など)であり、$ MACは探しているMACアドレスです。
スニファーで視聴しているときにターゲットデバイスがマルチキャストまたはブロードキャストを送信するようにトリガーするには、上記のアドレスにpingを実行するか、ターゲットデバイスの電源を入れ直すか、デバイスをスイッチから取り外します(または電源を入れます-スイッチを循環させます)。ほとんどのデバイスは、起動時、またはしばらくダウンした後にネットワークリンクがアップしたときに、ブロードキャストとマルチキャストを送信する可能性が高くなります。
はい、それはarp(アドレス解決プロトコル)と呼ばれています。 TCP DumpまたはWiresharkのようなプログラムを使用する場合、ルーター/ネットワークデバイスが「[IP]は誰ですか」と同等の情報を要求することがよくあります。その場合、その人は次のように応答します。 Macアドレス。
Windowsを使用している場合は、コマンドラインを開いて「arp-a」と入力するだけで、使用しているARPレコードを一覧表示できます。