4

大家好。

我认为仅使用 PHP 是不可能的,但可以肯定的是。

  • PHP是否有可能知道用户是否从路由器后面访问网络?
  • 如果是,我如何获得有关该路由器的一些信息,例如:
    • 路由器名称、品牌、序列号、...
    • 连接在同一网络中的用户。
  • PHP 还可以在该网络中找到访问者的本地 IP 地址吗?

几个简单的问题。我还没有找到一个可靠的答案,我很难让一些 PHP 天才告诉我。并教我。

谢谢你的帮助。

编辑:这个侵犯隐私的问题的动机

我没想到我必须这么说...但我想我会

我正在编写几个函数来获取浏览器首选语言,并根据 IP 找出用户来自哪个国家,以正确的语言向访问者提供我的网站内容。

然后我开始想,大多数人都是从路由器后面浏览的,我能查出他们是否确实如此吗?


然后我就想到了做一个简单的程序来显示网络详细信息,连接到你的网络上的人。我的想法是这样做,但基于 Web 应用程序而不是基于桌面应用程序的所有其他此类程序。

像大多数开发人员一样,我尊重隐私高于一切,所以我有点理解投反对票,我可能会自己投反对票。

如果你因为我奇怪的问题而误判了我,我很抱歉,我没有什么可做的。这些事情只是突然出现在我的头上。

4

3 回答 3

7

首先,您是在谈论查找有关访问您网站的用户的信息吗?请记住,这意味着侵犯了他们的隐私(尽管您可以自己尝试;))

PHP是否有可能知道用户是否从路由器后面访问网络?

你不能。只有当您知道例如您有很多来自一家公司的访问者并且他们都具有相同的 IP 地址时,他们可能在路由器后面,但也可能是代理。

如果是,我如何获得有关该路由器的一些信息,例如:

  • 路由器名称、品牌、序列号、...

如果您有 IP,您可能可以使用 nmap等工具发现有关主机的各种信息。您可能能够找到路由器和主机系统的品牌,但绝对不是序列号之类的东西。nmap 虽然不是 PHP。
注意:在某些国家,未经许可使用此类工具是非法的。无论如何,未经许可使用此类工具在道德上是有问题的。

  • 连接在同一网络中的用户。

正如我在第一个问题中提到的,如果您有不同的用户使用相同的IP 地址,他们可能在同一个网络中。它们也可以在不同的子网络中。无论如何,您无法获得他们的本地 IP 地址。

PHP 还可以在该网络中找到访问者的本地 IP 地址吗?

请参阅上一个答案。


你看,一切都非常模糊,主要基于假设。你无法获得可靠的信息,我很高兴我们还没有完全透明。

一旦我们都使用IPv6了,整个故事就不同了。

于 2010-04-01T23:30:09.710 回答
5

我不知道你想做什么,但这让我有点担心。

所以我很高兴(正如你所怀疑的那样)这是不可能的。

您询问的所有详细信息都是本地网络之外的任何人都没有理由需要的信息,如果路由器将其广播到全世界,这将是一个巨大的安全问题。

于 2010-04-01T23:18:21.613 回答
0

根据网络协议的设计,这是不可能的。但是,一些路由器在其管理控制面板中使用 PHP 的特殊版本。

于 2010-04-01T23:19:58.990 回答