2011-11-18 117 views
1

我有这样的代码获取IP地址,而不是MAC地址

public static TcpConnectionInformation[] getConnections() 
{ 
    IPGlobalProperties properties = IPGlobalProperties.GetIPGlobalProperties(); 
    TcpConnectionInformation[] tcpInfoList = properties.GetActiveTcpConnections(); 
    return tcpInfoList; 
} 

但有时这些代码返回MAC地址(如:: FFFF:0:f7ad:645D),而不是IP,有人知道如何修理它?

+0

没有什么可以解决的......有时候没有IP地址......在你获得MAC地址的情况下,AddressFamily的值是多少? – Yahia

回答

4

这不是一个MAC地址,它是一个IPv6地址。如图例所示,您可以过滤结果以仅显示IPv4地址。

2

你试过吗?

IPHostEntry host; 
string localIP = "?"; 
host = Dns.GetHostEntry(Dns.GetHostName()); 
foreach (IPAddress ip in host.AddressList) 
{ 
    if (ip.AddressFamily == AddressFamily.InterNetwork) 
    { 
     localIP = ip.ToString(); 
    } 
} 
return localIP;