0
最新のプロジェクトでは、GetIpNetTableを使用してC#からWindows ARP-Tableにアクセスしました。システムコールGetIpNetTableの物理アドレスが8バイト(6ではない)の理由は何ですか?
MACアドレスを見たとき、私のエントリの最後の2バイト(7と8)変化! MACアドレスは、通常は6バイトのみ持っているとして 、私はリンク層は、常にイーサネットではないので
http://msdn.microsoft.com/en-us/library/cc704859%28v=prot.10%29.aspx
ypedef struct _MIB_IPNETROW {
DWORD dwIndex;
DWORD dwPhysAddrLen;
BYTE bPhysAddr[8]; // WHY 8 BYTES??
DWORD dwAddr;
DWORD dwType;
} MIB_IPNETROW,
*PMIB_IPNETROW;
Hm。私がarp -aを実行したとき、Windowsは6バイトの同じARP-Entry(どこにでもFFバイトなし)を表示します。 GetIpNetTableだけが追加のバイトを持っています...それらの最初の6つはarp -aのものと等しく、他のものは主に0x00:0x00ですが、時にはそれらの値が変化します... –
まあ、 'arp'はイーサネット固有ですMACについて知っておくべきですが、構造は普遍的に見えます。それがEUI-64でない場合、6バイトだけが重要であり、他の2つはゴミを含んでいるかもしれません。 – wRAR