string ip = context.Request.ServerVariables["REMOTE_ADDR"].ToString();
if (context.Request.ServerVariables["HTTP_VIA"] != null)
{
ip = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].Split(",")[0].ToString();
}
if (string.IsNullOrEmpty(ip))
{
ip = context.Request.UserHostAddress;
}
context.Response.Write("ip:" + ip);
上面是代码
我是内网环境,通过vpn登陆其它系统的服务器,服务器C是内网服务器,AB是通过vpn登陆的服务器
服务器A返回的IP是:2.0.2.XXX,
服务器B返回的IP是:192.168.204.XX,
服务器C返回的IP是:10.10.237.XXX(和我本机ip一样),
我直接在网页上查询的是: 218.106.125.XXX(省略),
请问下各位大佬,这是什么情况?那个是准确的
218.106.125.XXX(省略)这个应该是你们公司或者ISP的公网地址
使用了vpn和魔法,会修改你的ip出口,比如这样:
第二张图是真实的位置
@echo_lovely: 那如果使用vpn,如何获取真实的ip地址呢
@Mr·林: 没做过,不知道了。或者说你可能拿不到这个真实的ip了
@echo_lovely: 哦哦,好的,谢谢
@Mr·林: 毕竟vpn就是通过别的电脑来访问资源的,所以你拿到的是你通过vpn代理的电脑的ip