1

TCP/IPv4 ソケット経由でアプリに接続されているマシンの MAC アドレスを取得する簡単な方法はありますか?

または、より一般的な用語で:

IP アドレスを持っている場合、IPv4 で対応する MAC アドレスを取得する最良の方法は何ですか?

4

3 に答える 3

6

MAC アドレスは、ネクスト ホップにのみ使用されます。これは基本的に、最初のホップの後、クライアントの元の MAC アドレスが表示されないことを意味します。一般的な意味では、クライアントと同じ物理セグメントにいない場合、IP を取得して MAC を取得する方法はありません (またはその逆)。

于 2011-03-14T19:52:43.620 に答える
3

他のネットワーク上に何か (またはクライアント自体) がなければ、それはできません。

MAC アドレスは、ネットワーキングの OSI モデルの第 2 層であるデータリンク層で使用されます。MAC はイーサネットに固有です。インターネットにアクセスするときは、IP アドレスが使用されます。インターネットに接続されているものすべてが下位層でイーサネットを使用しているわけではありません。

使用できるプロトコルは IP 以外にもあります。

基本的に、コンピュータは物理ネットワーク セグメント上にあるものしか認識していません。それ以外の理由で外に出なければならない場合、そこに到達するためのゲートウェイの MAC しか知りません。

于 2011-03-14T19:56:43.973 に答える
2

その情報を保持するのは ARP テーブルの仕事です。一番いいのは、そこから読んでみることです。

Query ARP cache への回答を読んで MAC ID を取得することを検討してください。質問者はJavaを使用していましたが、それ以外はあなたと同じ質問です。

于 2011-03-14T19:54:48.233 に答える