【发布时间】:2012-02-06 17:13:24
【问题描述】:
有没有办法使用其 IP 地址检测网络服务器的操作系统版本(知道网络服务器正在运行 php)。
我还没有尝试编写代码,因为我是初学者。这简单吗?有可能还是根本不可能?
【问题讨论】:
标签: operating-system ip fingerprint
有没有办法使用其 IP 地址检测网络服务器的操作系统版本(知道网络服务器正在运行 php)。
我还没有尝试编写代码,因为我是初学者。这简单吗?有可能还是根本不可能?
【问题讨论】:
标签: operating-system ip fingerprint
没有官方方法可以跨所有操作系统和配置检测远程服务器上的操作系统。公开此类信息通常被认为存在安全风险,因为它可用于研究基于操作系统版本及其运行的任何服务的定向攻击。
但是,您可以通过指纹系统“猜测”操作系统,具体取决于它公开的服务。许多服务会显示当前正在运行的操作系统,有些会暗示它或提供有关系统的广泛信息。
我当然不会建议没有 PHP 经验的人尝试这样的项目,但这里有一些链接可以帮助您入门:
如果您只是想找出查看您网站的用户的操作系统,您应该查看User-Agent HTTP 标头:http://en.wikipedia.org/wiki/User_agent
【讨论】:
User-Agent 没有任何固定的格式,但是“PHP 检测用户代理操作系统”的快速 Google 应该会为您提供数百个地方,可以让您开始了解如何实现它。一般来说,我只会在代理字符串中查找“Windows”、“Linux”或“OS X”并将它们标记为这样。
您的问题有点不清楚,但我想您想显示您的网站运行的系统的操作系统?你可以试试:
<?php
echo (string)(PHP_OS);
?>
或
<?php
echo $_SERVER['SERVER_SOFTWARE'];
?>
但这永远不会返回您操作系统的精确版本,因为它只会指示平台(windows、linux、macos 等),而后一个脚本也在 windows 下显示 32/64 位。
【讨论】: