Operating system 如何检测web服务器的OS版本

Operating system 如何检测web服务器的OS版本,operating-system,ip,fingerprint,Operating System,Ip,Fingerprint,是否有一种方法可以使用web服务器的IP地址(知道web服务器正在运行php)检测web服务器的操作系统版本 我还没有尝试编写代码,因为我是初学者。容易吗?这是可能的还是根本不可能的?没有官方方法可以跨所有操作系统和配置检测远程服务器上的操作系统。公开此类信息通常被认为是一种安全风险,因为它可以用于研究基于操作系统版本及其运行的任何服务的定向攻击 但是,您可以通过指纹系统“猜测”操作系统,这取决于它公开的服务。许多服务将显示当前正在运行的操作系统,一些服务将提示它或提供有关系统的广泛信息 我当然

是否有一种方法可以使用web服务器的IP地址(知道web服务器正在运行php)检测web服务器的操作系统版本


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

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

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

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

  • 手指协议:
  • nmap安全扫描程序(包括操作系统指纹):
  • nmap关于远程操作系统检测的书:

如果你只是想找出浏览你网站的用户的操作系统,你应该查看
用户代理
HTTP头:

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

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



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

这不是所要求的。问题标题说明了一切:“如何在PHP中获得远程机器操作系统版本”我想知道您在这里描述的远程IP/服务器平台(不是我的:)可能吗?不容易,然而,是的,这是可能的,这不是一个与php相关的问题,但我见过一些决定web服务器操作系统的php网站。它可能只是nmap或类似工具的前端。是的,只是操作系统,如果我想从用户代理获得它,输出Linux或Windows Server 2003等所需的代码。
用户代理
没有任何固定格式,但快速搜索“PHP detect User Agent OS”应该可以为您提供数百个位置,让您开始了解如何实现它。通常我只会在代理字符串中查找“Windows”、“Linux”或“OS X”,并将它们标记为“Windows”、“Linux”或“OS X”。谢谢:)让我们看看它是否有帮助:)
<?php
echo $_SERVER['SERVER_SOFTWARE'];
?>