如何知道远程机器使用的是 Windows 还是 Linux?

如何知道远程机器使用的是 Windows 还是 Linux?

是否有某种方法可以运行命令(例如 ICMP 消息或其他协议),从远程机器(不在我自己的私人本地网络上)获取响应并分析该消息以找到该机器正在运行 Windows 或 Linux 操作系统的证据?

答案1

这不是决定性的,但是nmap将使用命令nmap -O -v(查看文档了解更多详情)如果你正在运行 Windows 或者想要一个 GUI,请查看禅地图

答案2

如果您使用的是 IPv4 网络,只需使用 ping 即可。如果响应的 TTL 为 128,则目标可能正在运行 Windows。如果 TTL 为 64,则目标可能正在运行某种版本的 Unix。

答案3

: Presumes ping service enabled on Windows local and remote hosts
:
del _IX.txt, Windows.txt
ping -n 1 [computername|ipaddress] | findstr /i /c:"Reply" > ttl.txt
for /f "tokens=1-9* delims=:=< " %%a in (ttl.txt) do (
    if %%i leq 130 (
       if %%i geq 100 (
          echo Windows & rem or echo %%c >> Windows.txt
       ) else (
          if %%i equ 64 (
             echo *IX & rem or echo %%c >> _IX.txt
          )
       )
    )
)

答案4

软件包:xprobe 'OR' xprobe2
描述:远程操作系统识别 Xprobe2 允许您确定远程主机上运行的操作系统。它向主机发送多个数据包并分析返回的答案。Xprobe2 的功能与 nmap 中的操作系统指纹识别功能相当。

例如:
$ sudo apt-get install xprobe
$ sudo xprobe2 -T21-23,80,53,110 ###.###.###.###

参考:
http://www.sys-security.com/html/projects/X.html
http://sourceforge.net/projects/xprobe/

相关内容