2015-06-03

Ubuntu 用 Nmap 快速掃描通訊埠

阿舍之前介紹的,用 netstat 掃描通訊埠 (Port) 的方法是由系統內部來執行的,而阿舍今天要介紹的,是從電腦外部來掃描的,用的工具是 Nmap,之前,阿舍發現 Nmap 在 Ubuntu 上的版本都不太新,不過,今天在 Ubuntu 15.04 上安裝,竟然是最新版的,然後,又查了一下 Ubuntu 14.04 版的 Nmap 版本,嗯 ... 也是滿新的,用 apt-get 安裝就好了,阿舍就不用再用外星人來安裝囉 !



Ubuntu 上可以用來掃描開啟中的通訊埠的工具有好幾個,不過,就功能性和掃描的速度來說,阿舍個人還是比較偏好這個 Nmap 程式,還有,因為很多人用,所以遇到問題時,要問 G 先生也比較方便哩 ! 呵呵 ! ... 如果還沒安裝過 Nmap 套件的話,請用下面的指令來安裝囉 !

$ sudo apt-get install nmap

安裝好之後就可以馬上來使用了,下面就是用 nmap 指令來掃描特定電腦的通訊埠以及掃瞄一整個網段的電腦的操作方式,其實,就是 nmap 指令後面直接跟著要掃描的 IP 位址或網段或是 IP 位址區間哩 !

# 掃描單機
$ nmap 192.168.1.88

# 掃描 192.168.1.x 網段
$ nmap 192.168.1.0/24

# 掃描 192.168.1.10 ~ 192.168.1.120 之間的 IP 位址
$ nmap 192.168.1.10-120

如果仔細看上面指令的掃描結果的話,就會發現,這個 nmap 指令預設只會掃出前 1000 號的通訊埠號,所以,如果電腦開啟的通訊埠號大於 1000 號的話,就會掃不到哩 ! 因此,如果你想要讓 nmap 掃描全部的 65535 個通訊埠號的話,就要像下面第一行一樣,用 -p0- 選項來要求 nmap 掃描全部的通訊埠號,不過,速度當然就會慢一點囉 !

# -p0- 選項後面的 IP 位址的放法可用上面三種的任一種哩 !
$ nmap -p0- 192.168.1.88

而如果你只想對前 100 個通訊埠號有興趣 (也就只對常用的那幾個通訊埠號,像是 22、23、53 和 80 等等),就可以用 --top-ports 選項來指名要手掃描的前 n 個通訊埠號哩 ! 這樣就可以加快 nmap 的掃描速度哩 !

# 只掃描前面的 100 個通訊埠號
$ nmap --top-ports 100 192.168.1.88

# 只掃描看看 80 和 22 通訊埠有沒有開
nmap -p 80,22 10.0.3.67

阿舍試著用 nmap 來掃描阿舍一個有開 Mongodb 的 27017 通訊埠的 Container,結果,nmap 出現的訊息是「27017/tcp open  unknown」的訊息,這和阿舍預期會出現的「27017/tcp open  mongod」的訊息不太一樣哩! 後來,阿舍去查了一下 Nmap 的文件才知,原來,Nmap 是參考 /usr/share/nmap/nmap-services 這個檔案裡的通訊埠號來決定要顯示的通訊埠所對應的服務名稱哩 ! ...

所以,如果在這個檔案裡沒有定義到的通訊埠號都會被顯示成 unknown 的,因此,阿舍就要去打開 /usr/share/nmap/nmap-services 這個檔案,來加入下面這一行,這樣子,Nmap 就會知道 TCP 協定的 27017 通訊埠是 mongodb 服務囉 !

mongod 27017/tcp



順便看看 ..





推薦閱讀


有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁

沒有留言 :

張貼留言

歡迎留言提問和討論 .... 😁