2011-11-18 118 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;