C#で外部IPのMACアドレスを取得する方法は? たとえば、「204.13.153.34」の MAC アドレスを見つけたいですか?
アイデアやコード スニペットは大歓迎です。前もって感謝します
C#で外部IPのMACアドレスを取得する方法は? たとえば、「204.13.153.34」の MAC アドレスを見つけたいですか?
アイデアやコード スニペットは大歓迎です。前もって感謝します
アドレス解決プロトコルについて読む必要があります。
別のネットワーク セグメントにあるマシンの MAC アドレスを特定することはできません。ARP を使用すると、マシンがたまたま同じセグメントにある場合に、特定の IP アドレスの MAC アドレスを把握できます。それが IP スタックが行っていることです。イーサネットカードはMACアドレスしか知らないため、パケットの処理に責任を持つARP経由で「ネット」にIPアドレスを要求します。
あなたがそれをあなたに送る相手に何かを書かない限り、それは可能ではないと思いますか?
編集:
これは、 MACアドレスの取得に役立つ可能性があるようです
編集:ユーザーの外部MACアドレスは、ローカルLANアクセスがないと取得できません...ただし、クライアントがphpサーバーに直接接続されている場合にのみ(ルーターがある場合)、適切なARPテーブルにアクセスできます。トラフィックをNATするゲートウェイ、返されるMACアドレスはゲートウェイのアドレスになります) - ソース
PHPについて説明していますが、プリンシパルはC#でも同じです。
TCP/IP (Address Resolution Protocol の略) の一部であるarpコマンドがありますが、LAN 経由でのみ機能します。
インターネット上でやりたいことができるとは思えません。最初のノードの MAC を取得するだけです。