日期:2014-05-18  浏览次数:20960 次

OA系统中的日志要记录登陆者的IP地址,到底下面哪个才是我要记录的IP呢?
C# code

string ipAddr ="";
string GetHostName = Dns.GetHostName();

StringBuilder ipAddrSB = new StringBuilder();
System.Net.IPHostEntry ipEntry = System.Net.Dns.GetHostEntry(GetHostName);

System.Net.IPAddress[] addr = ipEntry.AddressList;

foreach (IPAddress ip in addr)
{
    ipAddrSB.Append(ip + "|");
}

if (ipAddrSB.ToString()[ipAddrSB.Length - 1] == '|')
{
   ipAddr = ipAddrSB.ToString().Substring(0, ipAddrSB.Length - 1);
}
MessageBox.Show(ipAddr,"好长的IP地址啊");




得到的结果如下
HTML code

fe80::d06a:4fd3:daf3:8ac2%11|
fe80::8e9:1779:89e3:c836%26|
2002:761c:37c9::761c:37c9|
169.254.138.194|
118.28.55.201|
2001:0:4137:9e76:8e9:1779:89e3:c836



------解决方案--------------------
登录者安装了多个网卡,并且启动了IPV6
------解决方案--------------------
本地连接,无线连接,.....

IPV6 IPV4,....

还要LZ是要的本机的内网地址,还是公网的地址~~~~~~~

一般 是这两个中的其中一个....
169.254.138.194|
118.28.55.201|
------解决方案--------------------
我们公司的OA记录的都是外网IP
------解决方案--------------------
如果中间有网闸总是取不到访问者的IP的