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