Linux端口掃描工具nmap and nwatch
Port scan簡(jiǎn)介
port Scan的方法介紹 port Scan就是一種通過(guò)檢測(cè)對(duì)方服務(wù)器的開(kāi)放端口,偵測(cè)對(duì)方服務(wù)器服務(wù)的方法。一般可分為主動(dòng)式和被動(dòng)式兩種。 主動(dòng)式就是通過(guò)向?qū)Ψ椒?wù)器的特定端口發(fā)送數(shù)據(jù)包,根據(jù)應(yīng)答來(lái)判斷。以nmap 為代表
被動(dòng)式,不主動(dòng)發(fā)出數(shù)據(jù)包,而是在網(wǎng)絡(luò)上長(zhǎng)時(shí)偵聽(tīng),分析網(wǎng)上的transaction,來(lái)分析,嚴(yán)格的來(lái)被動(dòng)式不應(yīng)該被稱作是端口掃描。以nwatch為代表
優(yōu)缺點(diǎn)比較 主動(dòng)式的優(yōu)點(diǎn)
主動(dòng)式只要在對(duì)方?jīng)]有把通信阻斷的情況下,可以在較短的時(shí)間內(nèi)獲得結(jié)果
主動(dòng)式的缺點(diǎn)
1 現(xiàn)在帶有阻斷功能的防火墻越來(lái)越多,有些防火墻當(dāng)檢測(cè)到端口掃描時(shí),會(huì)將端口關(guān)閉一定的時(shí)間,還有的機(jī)器使用了很多filter功能,只對(duì)特定的IP地址提供服務(wù),這種情況下,主動(dòng)式的正確性大打折扣。
2 主動(dòng)式只是在一瞬間對(duì)端口進(jìn)行掃描,只有當(dāng)服務(wù)器那個(gè)時(shí)候使用的服務(wù)才有可能被偵測(cè)到。
3 端口掃描是一種廣義上的攻擊行為,對(duì)于末經(jīng)許可的機(jī)器,一般不能施行。
被動(dòng)式的優(yōu)點(diǎn)
被動(dòng)式只是偵聽(tīng)網(wǎng)絡(luò),不會(huì)成為網(wǎng)絡(luò)攻擊,它長(zhǎng)期運(yùn)行,可以偵測(cè)到一個(gè)長(zhǎng)時(shí)間間內(nèi),服務(wù)器的變化。
被動(dòng)式的缺點(diǎn)
由于它不會(huì)主動(dòng)發(fā)出請(qǐng)求包,即使端口開(kāi)著,如果沒(méi)有發(fā)生實(shí)際的通信,被動(dòng)式也無(wú)法偵測(cè)到服務(wù)
3。nmap的安裝
debian apt-get install nmap
fedora core yum install nmap
others 下載源代碼,編譯
4。nmap的使用方法
下面是Nmap支持的四種最基本的掃描方式:
* TCP connect()端口掃描(-sT參數(shù))。
* TCP同步(SYN)端口掃描(-sS參數(shù))。
* UDP端口掃描(-sU參數(shù))。
* Ping掃描(-sP參數(shù))
如果要勾畫一個(gè)網(wǎng)絡(luò)的整體情況,Ping掃描和TCP SYN掃描最為實(shí)用。
* Ping掃描通過(guò)發(fā)送ICMP(Internet Control Message Protocol,Internet控制消息協(xié)議)回應(yīng)請(qǐng)求數(shù)據(jù)包和TCP應(yīng)答(Acknowledge,簡(jiǎn)寫ACK)數(shù)據(jù)包,確定主機(jī)的狀態(tài),非常適合于檢測(cè)指定網(wǎng)段內(nèi)正在運(yùn)行的主機(jī)數(shù)量。
* TCP SYN掃描一下子不太好理解,但如果將它與TCP connect()掃描比較,就很容易看出這種掃描方式的特點(diǎn)。在TCP connect()掃描中,掃描器利用操作系統(tǒng)本身的系統(tǒng)調(diào)用打開(kāi)一個(gè)完整的TCP連接也就是說(shuō),掃描器打開(kāi)了兩個(gè)主機(jī)之間的完整握手過(guò)程(SYN, SYN-ACK,和ACK)。一次完整執(zhí)行的握手過(guò)程表明遠(yuǎn)程主機(jī)端口是打開(kāi)的。
* TCP SYN掃描創(chuàng)建的是半打開(kāi)的連接,它與TCP connect()掃描的不同之處在于,TCP SYN掃描發(fā)送的是復(fù)位(RST)標(biāo)記而不是結(jié)束ACK標(biāo)記(即,SYN,SYN-ACK,或RST):如果遠(yuǎn)程主機(jī)正在監(jiān)聽(tīng)且端口是打開(kāi)的,遠(yuǎn)程主機(jī)用 SYN-ACK應(yīng)答,Nmap發(fā)送一個(gè)RST;如果遠(yuǎn)程主機(jī)的端口是關(guān)閉的,它的應(yīng)答將是RST,此時(shí)Nmap轉(zhuǎn)入下一個(gè)端口。
-sS 使用SYN+ACK的方法,使用TCP SYN,
-sT 使用TCP的方法, 3次握手全做
-sU 使用UDP的方法
-sP ICMP ECHO Request 送信,有反應(yīng)的端口進(jìn)行調(diào)查
-sF FIN SCAN
-sX
-sN 全部FLAG OFF的無(wú)效的TCP包送信,根據(jù)錯(cuò)誤代碼判斷端口情況
-P0 無(wú)視ICMP ECHO request的結(jié)果,SCAN
-p scan port range 指定SCAN的目端口的范圍
1-100, 或者使用25,100的方式
-O 偵測(cè)OS的種類
-oN 文件名 通常格式文件輸出
-oX 文件名 通過(guò)DTD,使用XML格式輸出結(jié)果
-oG 文件名,grep容易的格式輸出
-sV 服務(wù)的程序名和版本SCAN
實(shí)例:
nmap -v target.com
這樣對(duì)target.com上所有的保留TCP端口做了一次掃描,-v表示用詳細(xì)模式。
nmap -sS -O target.com/24
這將開(kāi)始一次SYN的半開(kāi)掃描,針對(duì)的目標(biāo)是target.example.com所在的C類子網(wǎng),它還試圖確定在其上運(yùn)行的是什么系統(tǒng)。這需要root權(quán)限,因?yàn)橛玫搅税腴_(kāi)掃描以及系統(tǒng)偵測(cè)。
結(jié)果實(shí)例:
debianlinux:/etc/init.d# nmap 192.168.1.1
Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) at 2005-08-30 00:01 JST
Interesting ports on 192.168.1.1
(The 1658 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
80/tcp open http
1720/tcp filtered H.323/Q.931
3128/tcp open squid-http
5。nwatch的安裝 nwatch 需要的包
Perl 5.005_03以上
Net::Pcap
Ndiff 0.05 bata2 以上
libpcap
debian: apt-get install nwatch
6.nwatch的使用方法
-d 網(wǎng)絡(luò)設(shè)備名,默認(rèn)為eth0
-h host/network[:port][t,u]
t,u 可以指定TCP或UDP 默認(rèn)為TCP
-o 輸出文件名
-fi 時(shí)間(秒) 把數(shù)據(jù)寫盤時(shí)間,默認(rèn)為300秒
-si 數(shù)據(jù)Break時(shí)間(秒),默認(rèn)為86400(一天)
LINK
nmap
http://www.insecure.org/nmap/
數(shù)據(jù)寫盤時(shí)間,默認(rèn)為300秒-si 數(shù)據(jù)Break時(shí)間(秒),默認(rèn)為86400(一天)LINKnmap http://www.insecure.org/nmap/
linux下nmap工具的使用,linux下掃描端口
NMap,也就是Network Mapper,是Linux下的網(wǎng)絡(luò)掃描和嗅探工
具包,其基本功能有三個(gè),一是探測(cè)一組主機(jī)是否在線;其次是 掃描主機(jī)端口,嗅探所提供的網(wǎng)絡(luò)服務(wù);還可以推斷主機(jī)所用的操作系統(tǒng)
。Nmap可用于掃描僅有兩個(gè)節(jié)點(diǎn)的LAN,直至500個(gè)節(jié)點(diǎn)以上的網(wǎng)絡(luò)。 Nmap
還允許用戶定制掃描技巧。通常,一個(gè)簡(jiǎn)單的使用ICMP協(xié)議的ping操 作可以滿足一般需求;也可以深入探測(cè)UDP或者TCP端口,直至主機(jī)
所使用的操作系統(tǒng);還可以將所有探測(cè)結(jié)果記錄到各種格式的日志中, 供進(jìn)一步分析操作。
進(jìn)行ping掃描,打印出對(duì)掃描做出響應(yīng)的主機(jī),不做進(jìn)一步測(cè)試(如端口掃描或者操作系統(tǒng)探測(cè)):
nmap -sP 192.168.1.0/24
僅列出指定網(wǎng)絡(luò)上的每臺(tái)主機(jī),不發(fā)送任何報(bào)文到目標(biāo)主機(jī):
nmap -sL 192.168.1.0/24
探測(cè)目標(biāo)主機(jī)開(kāi)放的端口,可以指定一個(gè)以逗號(hào)分隔的端口列表(如-PS22,23,25,80):
nmap -PS 192.168.1.234
使用UDP ping探測(cè)主機(jī):
nmap -PU 192.168.1.0/24
使用頻率最高的掃描選項(xiàng):SYN掃描,又稱為半開(kāi)放掃描,它不打開(kāi)一個(gè)完全的TCP連接,執(zhí)行得很快:
nmap -sS 192.168.1.0/24
當(dāng)SYN掃描不能用時(shí),TCP Connect()掃描就是默認(rèn)的TCP掃描:
nmap -sT 192.168.1.0/24
UDP掃描用-sU選項(xiàng),UDP掃描發(fā)送空的(沒(méi)有數(shù)據(jù))UDP報(bào)頭到每個(gè)目標(biāo)端口:
nmap -sU 192.168.1.0/24
確定目標(biāo)機(jī)支持哪些IP協(xié)議 (TCP,ICMP,IGMP等):
nmap -sO 192.168.1.19
探測(cè)目標(biāo)主機(jī)的操作系統(tǒng):
nmap -O 192.168.1.19
nmap -A 192.168.1.19
另外,nmap官方文檔中的例子:
nmap -v scanme.nmap.org
這個(gè)選項(xiàng)掃描主機(jī)scanme.nmap.org中 所有的保留TCP端口。選項(xiàng)-v啟用細(xì)節(jié)模式。
nmap -sS -O scanme.nmap.org/24
進(jìn)行秘密SYN掃描,對(duì)象為主機(jī)Saznme所在的“C類”網(wǎng)段 的255臺(tái)主機(jī)。同時(shí)嘗試確定每臺(tái)工作主機(jī)的操作系統(tǒng)類型。因?yàn)檫M(jìn)行SYN掃描 和操作系統(tǒng)檢測(cè),這個(gè)掃描需要有根權(quán)限。
nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127
進(jìn)行主機(jī)列舉和TCP掃描,對(duì)象為B類188.116網(wǎng)段中255個(gè)8位子網(wǎng)。這 個(gè)測(cè)試用于確定系統(tǒng)是否運(yùn)行了sshd、DNS、imapd或4564端口。如果這些端口 打開(kāi),將使用版本檢測(cè)來(lái)確定哪種應(yīng)用在運(yùn)行。
nmap -v -iR 100000 -P0 -p 80
隨機(jī)選擇100000臺(tái)主機(jī)掃描是否運(yùn)行Web服務(wù)器(80端口)。由起始階段 發(fā)送探測(cè)報(bào)文來(lái)確定主機(jī)是否工作非常浪費(fèi)時(shí)間,而且只需探測(cè)主機(jī)的一個(gè)端口,因 此使用-P0禁止對(duì)主機(jī)列表。
nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20
掃描4096個(gè)IP地址,查找Web服務(wù)器(不ping),將結(jié)果以Grep和XML格式保存。
host -l company.com | cut -d -f 4 | nmap -v -iL -
進(jìn)行DNS區(qū)域傳輸,以發(fā)現(xiàn)company.com中的主機(jī),然后將IP地址提供給 Nmap。上述命令用于GNU/Linux -- 其它系統(tǒng)進(jìn)行區(qū)域傳輸時(shí)有不同的命令。
其他選項(xiàng):
-p <port ranges> (只掃描指定的端口)
單個(gè)端口和用連字符表示的端口范 圍(如 1-1023)都可以。當(dāng)既掃描TCP端口又掃描UDP端口時(shí),可以通過(guò)在端口號(hào)前加上T: 或者U: 指定協(xié)議。 協(xié)議限定符一直有效直到指定另一個(gè)。 例如,參數(shù) -p U:53,111,137,T:21-25,80,139,8080 將掃描 UDP 端口53,111,和137,同時(shí)掃描列出的TCP端口。
-F (快速 (有限的端口) 掃描)