0

好吧,我知道这个问题听起来有点愚蠢。尽管我找到了正确的答案,但我已经查看了有关它的其他一些问题,但得到的结果不一致。我会尽量把它说清楚。

我有一个问题,我的网站的大量访问者正在使用...我使用非常松散的流行术语,互联网服务 (AOL) 来访问它。这是我无法控制的。它是用户群的很大一部分,我无法阻止他们使用其内置浏览器(源自 IE)。

现在,这不是继承问题。问题是通过浏览器访问的任何站点都通过它们的代理之一。这不会引起任何冲突,但是出于某些特定原因,我们需要知道谁是唯一的,谁不是。

我安装了一个名为“Invision Power Board”的流行留言板系统。它跟踪人们的 IP 地址,并具有解析 IP 的功能。所以,我可以点击一个IP,它会“解析”到像..这样的主机。

IPXX.XXX.XX.XXX解析为cache-dtc-ae16.proxy.aol.com.

现在我明白这里发生了什么。cache-dtc-ae16.proxy.aol.com是代理,所以我对此无能为力。我已经接受了。执行此操作的代码在 IPB 中,我不会说 PHP,所以我是那个部门的 SOL。

我知道如何获取用户的 IP 地址。

HttpContext.Request.UserHostAddress

我想知道的是......从一个IP,我怎样才能在C#中“解析”到那个代理?我基本上想设置代码的特定部分,拒绝来自具有.aol 的代理的任何内容。在里面。

我试图解释的是否有意义,它是否可行或可能?我可能完全错过了术语。我相信我明白这一点。

UserHostAddress is the **client's** IP Address

基本上,这是我尝试过的。

System.Net.Dns.GetHostEntry(System.Net.IPAddress.Parse(HttpContext.Request.UserHostAddress)).Aliases
4

3 回答 3

2

你想从ip获取域名吗?看起来你的答案在这个问题

IPHostEntry IpToDomainName = Dns.GetHostEntry("209.85.129.103");
string HostName = IpToDomainName.HostName; //it returns "fk-in-f103.1e100.net"
于 2010-12-16T14:39:21.543 回答
0

这是 TCP 协议的限制。该地址是 TCP 数据包的一部分,据我所知,路由器和交换机以及 NAT 和代理会更改地址并放置自己的地址。

据我所知,没有办法解决它。代理的地址和你得到的一样好。

我相信即使是 TCP 数据包的 MAC(物理)地址也将是代理的,但这是值得一看的东西,尽管不确定是否可以在 ASP.NET 运行时中得到它,因为一个请求可以来自多个 TCP 数据包。

于 2010-12-16T13:59:41.733 回答
0

试试这个

NullifyNetwork - C# 中的综合 Microsoft DNS 服务器管理实现

于 2010-12-16T14:32:43.510 回答