在我最新的项目中,我使用 GetIpNetTable 从 C# 使用 .NET 访问 Windows ARP 表
我注意到,当我查看 MAC 地址时,我的条目的最后两个字节(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;
最佳答案
由于链路层并不总是以太网,因此物理地址并不总是 MAC,因此也不总是 48 位。我想这个字段包含一个 EUI-64 地址,在以太网的情况下,它是通过将 FF-FF 插入 MAC EUI-48 地址的中间生成的。
关于c# - 为什么系统调用 GetIpNetTable 的物理地址有 8 个字节(而不是 6 个字节)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9214263/