【问题标题】:How to detect OS version of a web server如何检测 Web 服务器的操作系统版本
【发布时间】:2012-02-06 17:13:24
【问题描述】:

有没有办法使用其 IP 地址检测网络服务器的操作系统版本(知道网络服务器正在运行 php)。

我还没有尝试编写代码,因为我是初学者。这简单吗?有可能还是根本不可能?

【问题讨论】:

    标签: operating-system ip fingerprint


    【解决方案1】:

    没有官方方法可以跨所有操作系统和配置检测远程服务器上的操作系统。公开此类信息通常被认为存在安全风险,因为它可用于研究基于操作系统版本及其运行的任何服务的定向攻击。

    但是,您可以通过指纹系统“猜测”操作系统,具体取决于它公开的服务。许多服务会显示当前正在运行的操作系统,有些会暗示它或提供有关系统的广泛信息。

    我当然不会建议没有 PHP 经验的人尝试这样的项目,但这里有一些链接可以帮助您入门:

    如果您只是想找出查看您网站的用户的操作系统,您应该查看User-Agent HTTP 标头:http://en.wikipedia.org/wiki/User_agent

    【讨论】:

    • 是的,只是操作系统,如果我想从 User-Agent 获取它,我必须使用什么代码来输出 Linux 或 Windows Server 2003 等。
    • User-Agent 没有任何固定的格式,但是“PHP 检测用户代理操作系统”的快速 Google 应该会为您提供数百个地方,可以让您开始了解如何实现它。一般来说,我只会在代理字符串中查找“Windows”、“Linux”或“OS X”并将它们标记为这样。
    • 谢谢 :) 看看能不能帮到你 :)
    【解决方案2】:

    您的问题有点不清楚,但我想您想显示您的网站运行的系统的操作系统?你可以试试:

    <?php
    echo (string)(PHP_OS);
    ?>
    

    <?php
    echo $_SERVER['SERVER_SOFTWARE'];
    ?>
    

    但这永远不会返回您操作系统的精确版本,因为它只会指示平台(windows、linux、macos 等),而后一个脚本也在 windows 下显示 32/64 位。

    【讨论】:

    • 这不是被问到的。问题标题说明了一切:“How to get remote machine OS version in PHP”
    • 我想知道你在这里描述的远程IP/服务器平台不是我的:) 有可能吗?
    • 不容易,但是是有可能的,这不是一个与 php 相关的问题
    • 但我看过一些 PHP 网站,它决定了 Web 服务器的操作系统
    • 它可能只是 nmap 或类似工具的前端。
    猜你喜欢
    • 2012-02-05
    • 2015-09-16
    • 1970-01-01
    • 2019-03-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-08
    • 2010-10-13
    • 2015-05-31
    相关资源
    最近更新 更多