Nmap 是一個用于網(wǎng)絡發(fā)現(xiàn)和安全審計的開源實用程序,可以將其用于滲透測試、網(wǎng)絡分析等。
這是一個選項非常多的程序,不過我們本文的重點并不是介紹如何使用 nmap,而是介紹掃描端口的各種方法。為了便于演示,我們在下面的例子中將使用 nmap 提供的 scanme.nmap.org 作為掃描目標。
掃描開放的端口
使用 -sT 參數(shù),nmap 可以執(zhí)行簡單的 **TCP **掃描,以查找開放的端口:
nmap -sT scanme.nmap.org
在上圖中可以看到,掃描目標中有兩個比較重要的端口開放,分別為端口 22 和 80.
22 端口和 80 端口分別是 ssh 和 http 服務使用的端口。如果這些端口之前未處于活動狀態(tài),那么應該檢查目標系統(tǒng)的系統(tǒng)日志,以發(fā)現(xiàn)可能的安全漏洞。
上述例子是掃描 TCP 端口,如果要掃描 UDP 服務端口,可使用如下命令:
sudo nmap -sU scanme.nmap.org
在這里需要注意的是,與 TCP 掃描不同,要掃描 UDP 端口,需要有 root 權限。
掃描指定的端口
nmap 的一個基本功能,使用 -p 選項,可以指定端口號來掃描單個端口。我們來看下面的例子。
Apache 的端口號為 80 和 443,其中端口80是 Apache 上 HTTP 請求的默認端口號,我們可以使用 nmap 掃描該端口號,如下:
nmap -p 80 scanme.nmap.org
同樣,對于 https 協(xié)議的 443端口(默認端口),也可以同樣掃描:
nmap -p 443 scanme.nmap.org
ssh 服務的默認端口號為 22,因此如果要掃描 ssh 連接的話,可以掃描 22 端口:
nmap -p 22 scanme.nmap.org
另外,對于單個端口的掃描,還可以使用服務名稱來代替端口號,比如對于ssh端口,可以使用:
nmap -p ssh scanme.nmap.org
以上是使用 nmap 掃描指定端口號的例子,大家可以照例嘗試下掃描其他協(xié)議或端口號。
下面給出了一些常用服務(協(xié)議)的默認端口號:
- 20: FTP data
- 21: FTP 控制端口
- 22: SSH
- 23: Telnet (不安全,不建議使用)
- 25: SMTP
- 53: DNS services
- 67: DHCP server port
- 68: DHCP client port
- 80: HTTP
- 143: IMAP 郵件端口
- 161: SNMP
- 443: HTTPS - 加密的web服務
- 587: SMTP - 消息提交端口
掃描多個端口
要掃描多個端口,依然可以使用 -p 選項,將多個端口之間使用逗號隔開,如下:
nmap -p 22,25,80 scanme.nmap.org
指定多個端口范圍:
nmap -p 80-85,130-140,22 scanme.nmap.org
關于端口的范圍,還有一種用法,比如上面的端口范圍 80-85,可以省略前面的80,變成 -85,這樣的話,實際的掃描范圍為 1-85。下面的例子掃描端口 1 到 22:
nmap -p -22 scanme.nmap.org
類似,如果在端口范圍中,省略后面那個值,則會從第一個指定的端口號開始掃描,一直到最后一個可能的端口號:
nmap -p 65255- scanme.nmap.org
在 nmap 中使用通配符
使用通配符還可以簡化掃描任務,假設我們要掃描所有與 http 相關的端口:
nmap -p http* scanme.nmap.org
掃描頂部端口
掃描每個協(xié)議的所有 65536 個端口是一項非常耗時的任務,然而,這些端口中的大多數(shù)幾乎沒有開放。。。Nmap 的開發(fā)人員 Fyodor 簡化了這個操作。
他通過研究數(shù)百萬個IP地址和探索許多企業(yè)網(wǎng)絡,找到了最流行的TCP和UDP端口。
根據(jù) Fyodor 的研究,掃描工作要覆蓋 90% 的開放端口,只需要針對 576 個 TCP 端口和 11307 個 UDP 端口即可。--top-ports 選項僅掃描這些常用的端口:
nmap --top-ports 1000 scanme.nmap.org
-F 選項只掃描最常用的前 100 個端口。
下面是我們總結的幾個最常用的使用 nmap 掃描端口的方法:
掃描 TCP 端口,使用 -sT 選項:
sudo nmap -sT scanme.nmap.org
掃描 UDP 端口,使用 -sU 選項:
sudo nmap -sU scanme.nmap.org
掃描 TCP 和 UDP 端口,可使用如下命令:
sudo nmap -n -PN -sT -sU -p- scanme.nmap.org
掃描SYN數(shù)據(jù)包,可以使用 -sS 選項:
sudo nmap -sS scanme.nmap.org
使用 nmap 可以掃描目標網(wǎng)站上開放的端口,此外我們可以結合使用 netstat 和 ps 命令,通過這些掃描出來的端口,來識別相應的服務。
審核編輯:劉清
-
UDP協(xié)議
+關注
關注
0文章
69瀏覽量
12715 -
SSH
+關注
關注
0文章
189瀏覽量
16362 -
TCP通信
+關注
關注
0文章
146瀏覽量
4250 -
nmap端口
+關注
關注
0文章
2瀏覽量
813
發(fā)布評論請先 登錄
相關推薦
評論