如何確定遠端計算機所用的作業系統

geekfan發表於2014-03-16

  介紹

  這個小技巧會告訴你如何使用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之間。

  結論

  同樣的技術也可用於所有在廣域網上的遠端主機。對系統管理員來說,掃描遠端主機的作業系統版本可以帶來很多方便。但另一方面,這種技術也可能被黑客濫用。他們可以利用作業系統型別和補丁級別這些準確的資訊,針對任何主機實施他們的攻擊。這也再次提醒我們要隨時保持更新系統的補丁。

  原文連結: LUBOS RENDEK 翻譯: 極客範 - 肖翔

相關文章