如果你要偵測的設備並沒有自己的作業系統,舉例來說,你想要瞭解一下公司的網路印表機是否有開放某些協定時,
那該如何處理啊?現在你知道
netstat 可以用來查閱本機上面的許多監聽中的通訊協定,
那例如網路印表機這樣的非本機的設備,要如何查詢啊?呵呵!用 nmap 就對了!
nmap 的套件說明之名稱為:『Network exploration tool and security scanner』,顧名思義,
這個東西是被系統管理員用來管理系統安全性查核的工具!他的具體描述當中也提到了,
nmap 可以經由程式內部自行定義的幾個 port 對應的指紋資料,來查出該 port
的服務為何,所以我們也可以藉此瞭解我們主機的 port 到底是幹嘛用的!如果您是安裝 Linux 是 Red Hat
系統的話,那麼這個 nmap 套件應該已經安裝妥當了,萬一沒有這個套件的話,也可以來到底下的網站下載:
[root@linux ~]# nmap [掃瞄類型] [掃瞄參數] [hosts 位址與範圍]
參數:
[掃瞄類型]:主要的掃瞄類型有底下幾種:
-sT:掃瞄 TCP 封包已建立的連線 connect() !
-sS:掃瞄 TCP 封包帶有 SYN 標籤的資料
-sP:以 ping 的方式進行掃瞄
-sU:以 UDP 的封包格式進行掃瞄
-sO:以 IP 的協定 ( protocol ) 進行主機的掃瞄
[掃瞄參數]:主要的掃瞄參數有幾種:
-PT:使用 TCP 裡頭的 ping 的方式來進行掃瞄,可以獲知目前有幾部電腦存活(較常用)
-PI:使用實際的 ping (帶有 ICMP 封包的) 來進行掃瞄
-p :這個是 port range ,例如 1024-, 80-1023, 30000-60000 等等的使用方式
[Hosts 位址與範圍]:這個有趣多了,有幾種類似的類型
192.168.0.100 :直接寫入 HOST IP 而已,僅檢查一部;
192.168.0.0/24 :為 C Class 的型態,
192.168.*.* :嘿嘿!則變為 B Class 的型態了!掃瞄的範圍變廣了!
192.168.0.0-50,60-100,103,200 :這種是變形的主機範圍啦!很好用吧!
範例一:使用預設參數掃瞄本機所啟用的 port
[root@linux ~]# nmap localhost
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
80/tcp open http
139/tcp open netbios-ssn
# 在預設的情況下, nmap 僅會掃瞄 TCP 的協定喔!
|
nmap 的用法很簡單吶!就直接在指令後面接上 IP 或者是主機名稱即可。不過,在預設的情況下 nmap
僅會幫你分析 TCP 這個通訊協定而已,像上面這個例子,他只會幫我列出 4 個已經開啟的 TCP 的埠口號碼,
但優點是順道也將開啟該埠口的服務也列出來了,真是好! ^_^!那如果想要同時分析
TCP/UDP 這兩個常見的通訊協定呢?可以這樣做:
[root@linux ~]# nmap -sTU localhost
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
80/tcp open http
137/udp open|filtered netbios-ns
138/udp open|filtered netbios-dgm
139/tcp open netbios-ssn
|
嘿嘿!與前面的範例比較一下,你會發現這次多了兩個 UDP 的埠口,分別是 137 與 138 ,
這樣分析好多了吧!然後,如果你想要瞭解一下到底有幾部主機活在你的網路當中時,
則可以這樣做:
[root@linux ~]# nmap -sP 192.168.10.0/24
Host 192.168.10.171 appears to be up.
MAC Address: 00:01:E6:B3:AA:CC (Hewlett-Packard Company)
Host 192.168.10.174 appears to be up.
MAC Address: 00:04:75:FF:CC:DD (3 Com)
Host 192.168.10.175 appears to be up.
MAC Address: 00:0C:6E:BA:11:22 (Asustek Computer)
|
看到否?你的環境當中有三部主機活著吶!並且該 IP 所對應的 MAC 也會被記錄下來,
很不錯吧!如果你還想要將各個主機的啟動的 port 作一番偵測的話,那就得要使用:
[root@linux ~]# nmap 192.168.10.0/24
|
之後你就會看到一堆 port number 被輸出到螢幕上囉~如果想要隨時記錄整個網段的主機是否不小心開放了某些服務,
嘿嘿!利用 nmap 配合資料流重導向 (>, >> 等) 來輸出成為檔案,
那隨時可以掌握住您區域網路內每部主機的服務啟動狀況啊! ^_^
請特別留意,這個 nmap 的功能相當的強大,也是因為如此,
所以很多剛在練習的黑客會使用這個軟體來偵測別人的電腦,這個時候請您特別留意,
目前很多的人已經都有『特別的方式』來進行登錄的工作!例如以
TCP_Wrappers
(/etc/hosts.allow, /etc/hosts.deny) 的功能來記錄曾經偵測過該 port 的 IP!
這個軟體用來『偵測自己機器的安全性』是很不錯的一個工具,但是如果用來偵測別人的主機,
可是會『吃上官司』的!特別留意!!