首页 新闻 搜索 专区 学院

C# 一般处理程序获取客户端ip

0
悬赏园豆:50 [待解决问题]

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(省略),
请问下各位大佬,这是什么情况?那个是准确的

Mr·林的主页 Mr·林 | 初学一级 | 园豆:150
提问于:2021-12-23 10:59
< >
分享
所有回答(1)
0

218.106.125.XXX(省略)这个应该是你们公司或者ISP的公网地址

echo_lovely | 园豆:636 (小虾三级) | 2021-12-23 13:17

使用了vpn和魔法,会修改你的ip出口,比如这样:


第二张图是真实的位置

支持(0) 反对(0) echo_lovely | 园豆:636 (小虾三级) | 2021-12-23 13:19

@echo_lovely: 那如果使用vpn,如何获取真实的ip地址呢

支持(0) 反对(0) Mr·林 | 园豆:150 (初学一级) | 2021-12-23 14:28

@Mr·林: 没做过,不知道了。或者说你可能拿不到这个真实的ip了

支持(0) 反对(0) echo_lovely | 园豆:636 (小虾三级) | 2021-12-23 14:59

@echo_lovely: 哦哦,好的,谢谢

支持(0) 反对(0) Mr·林 | 园豆:150 (初学一级) | 2021-12-23 15:00

@Mr·林: 毕竟vpn就是通过别的电脑来访问资源的,所以你拿到的是你通过vpn代理的电脑的ip

支持(0) 反对(0) echo_lovely | 园豆:636 (小虾三级) | 2021-12-23 15:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册