这个小技巧会告诉你如何使用nmap命令来确定远程计算机所运行的操作系统。如果你要创建你的局域网主机的清单列表,或者你根本不知道某些本地或远程IP地址背后运行的是什么系统,你需要一些提示,此时这个技巧可能会帮上大忙。用nmap命令来完成这项任务并不意味着你能100%准确地识别远程操作系统,但nmap的肯定会为你提供一些相当有用的推断结果。
简单地扫描本地网络
当试图用nmap确定远程主机的操作系统时,NMAP会基于以下各个方面进行推断,例如:基于操作系统默认安装的端口的打开和关闭状态;已经被其他用户提交给nmap数据库的操作系统指纹;MAC地址等。
如果你不知道哪些IP地址活跃在你的网络中,你可以先尝试扫描整个子网。例如,在这里我将扫描本地子网10.1.1.*:
# nmap -sP 10.1.1.* Starting Nmap 6.00 ( http://nmap.org ) at 2013-01-08 08:14 EST Nmap scan report for 10.1.1.1 Host is up (0.0026s latency). MAC Address: C4:7D:4F:6F:3E:D2 (Cisco Systems) Nmap scan report for 10.1.1.11 Host is up. Nmap scan report for 10.1.1.13 Host is up (0.0020s latency). MAC Address: 00:13:02:30:FF:EC (Intel Corporate) Nmap scan report for 10.1.1.14 Host is up (0.0022s latency). MAC Address: A8:26:D9:ED:29:8E (HTC) Nmap scan report for 10.1.1.250 Host is up (0.0041s latency). MAC Address: 00:23:EB:71:E0:F6 (Cisco Systems) Nmap done: 256 IP addresses (5 hosts up) scanned in 35.37 seconds
从上面的输出中,我们可以看到当前所有活跃的IP地址,同时也能看到一些特定主机的相关提示。
识别远程主机的操作系统
为了能让nmap做出判断,NMAP至少需要在远程主机上找到一个打开端口和一个关闭端口。基于前面的扫描结果,让我们看看更多有关主机10.1.1.13信息:
# nmap -O -sV 10.1.1.13
输出:
Nmap scan report for 10.1.1.13 Host is up (0.0073s latency). Not shown: 995 closed ports PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 5.5p1 Debian 6+squeeze2 (protocol 2.0) 53/tcp open domain ISC BIND 9.7.3 80/tcp open http Apache httpd 2.2.16 ((Debian)) 111/tcp open rpcbind (rpcbind V2) 2 (rpc #100000) 3389/tcp open ms-wbt-server xrdp MAC Address: 00:13:02:30:FF:EC (Intel Corporate) Device type: general purpose Running: Linux 2.6.X OS CPE: cpe:/o:linux:kernel:2.6 OS details: Linux 2.6.32 - 2.6.35 Network Distance: 1 hop Service Info: OS: Linux; CPE: cpe:/o:linux:kernel OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 20.57 seconds
从上面的输出结果我们可以判断,这个特定的主机正在运行某个版本的Linux操作系统。基于SSH的版本,它是最有可能是内核版本为2.6的Debian6(Squeeze),其确切的内核版本最有可能在2.6.32 – 2.6.35之间。
结论
同样的技术也可用于所有在广域网上的远程主机。对系统管理员来说,扫描远程主机的操作系统版本可以带来很多方便。但另一方面,这种技术也可能被黑客滥用。他们可以利用操作系统类型和补丁级别这些准确的信息,针对任何主机实施他们的攻击。这也再次提醒我们要随时保持更新系统的补丁。
如何复制系统分区? 分区拷贝分区
如何复制系统分区? 当计算机系统分区崩溃后,计算机将无法启动。如果大家事先有复制,那么大家可以利用复制出来的系统分区对其进行还原,这样就可以最大限度地避免系统崩(0)人阅读时间:2024-07-03如何查看window文件系统块大小 windows怎么查看文件大小
如何查看window文件系统块大小 在window7下有一个工具,可以用来查看操作系统的块大小——fsutil,这个工具也可以运行在window2000的平台上(0)人阅读时间:2024-07-03windows 7系统下不能设置楷体gb2312字体
windows 7系统下不能设置楷体gb2312字体 windows 7系统出了,搞了2套,用的很好,配置要求和vista差不多,但是启动速度快多了,兼容性也不(0)人阅读时间:2024-07-03Win 8系统几个步骤搞定扩展显示器
Win 8系统几个步骤搞定扩展显示器 在win8新系统中有一个支持多屏幕的功能,但是这个功能并不像其它系统只要插上就可以使用的,需要进行相关的设置才能达到多屏幕(0)人阅读时间:2024-07-03如何确定远程计算机所用的操作系统? 如何知道远程计算机的名称
如何确定远程计算机所用的操作系统? 这个小技巧会告诉你如何使用nmap命令来确定远程计算机所运行的操作系统。如果你要创建你的局域网主机的清单列表,或者你根本不知..2024-07-03如何复制系统分区? 分区拷贝分区
如何复制系统分区? 当计算机系统分区崩溃后,计算机将无法启动。如果大家事先有复制,那么大家可以利用复制出来的系统分区对其进行还原,这样就可以最大限度地避免系统崩..2024-07-03如何查看window文件系统块大小 windows怎么查看文件大小
如何查看window文件系统块大小 在window7下有一个工具,可以用来查看操作系统的块大小——fsutil,这个工具也可以运行在window2000的平台上..2024-07-03windows 7系统下不能设置楷体gb2312字体
windows 7系统下不能设置楷体gb2312字体 windows 7系统出了,搞了2套,用的很好,配置要求和vista差不多,但是启动速度快多了,兼容性也不..2024-07-03