1、nmap工具介紹
nmap是一個(gè)網(wǎng)絡(luò)探測(cè)和安全掃描程序,系統(tǒng)管理者和個(gè)人可以使用這個(gè)軟件掃描大型的網(wǎng)絡(luò),獲取主機(jī)正在運(yùn)行以及提供什么服務(wù)等信息。nmap支持很多掃描技術(shù),例如:UDP、TCP connect()、TCP SYN(半開掃描)、ftp代理(bounce攻擊)、反向標(biāo)志、ICMP、FIN、ACK掃描、圣誕樹(Xmas Tree)、SYN掃描和null掃描。從掃描類型一節(jié)可以得到細(xì)節(jié)。nmap還提供了一些高級(jí)的特征,例如:通過(guò)TCP/IP協(xié)議棧特征探測(cè)操作系統(tǒng)類型,秘密掃描,動(dòng)態(tài)延時(shí)和重傳計(jì)算,并行掃描,通過(guò)并行ping掃描探測(cè)關(guān)閉的主機(jī),誘餌掃描,避開端口過(guò)濾檢測(cè),直接RPC掃描(無(wú)須端口影射),碎片掃描,以及靈活的目標(biāo)和端口設(shè)定。
2、主要用途/功能
主機(jī)探測(cè):探測(cè)網(wǎng)絡(luò)上的主機(jī),例如列出響應(yīng)TCP和ICMP請(qǐng)求、icmp請(qǐng)求、開放特別端口的主機(jī)
端口掃描:探測(cè)目標(biāo)主機(jī)所開放的端口
版本檢測(cè):探測(cè)目標(biāo)主機(jī)的網(wǎng)絡(luò)服務(wù),判斷其服務(wù)名稱及版本號(hào)
系統(tǒng)檢測(cè):探測(cè)目標(biāo)主機(jī)的操作系統(tǒng)及網(wǎng)絡(luò)設(shè)備的硬件特性
支持探測(cè)腳本的編寫:使用Nmap的腳本引擎(NSE)和Lua編程語(yǔ)言
3、下載安裝包
網(wǎng)址:https://nmap.org/download.html ,選擇下載對(duì)應(yīng)系統(tǒng)的版本
下載Windows點(diǎn)擊下一步完成安裝,用管理員身份打開cmd命令行。
4、常見的使用方法
(1) 主機(jī)探測(cè):
探測(cè)同網(wǎng)段存活的主機(jī)
nmap -sn 192.168.1.0/24
該網(wǎng)段只存活一臺(tái),其中192.168.1.1是網(wǎng)關(guān)
(2) 、端口掃描
觀察web服務(wù)開啟前和開啟后的狀態(tài)
Nmap -p80 192.168.1.105
(3)、版本檢測(cè)
針對(duì)服務(wù)器版本號(hào)掃描:
Nmap -sV 192.168.1.105
查看Apache和PHP版本號(hào)是一致的,可信度比較高
5、更多功能:
6、其他:
TCP與UDP:
TCP是一種面向連接(連接導(dǎo)向)的、可靠的、基于字節(jié)流的運(yùn)輸層通信協(xié)議;UDP協(xié)議的全稱是用戶數(shù)據(jù)報(bào)協(xié)議,在網(wǎng)絡(luò)中它與TCP協(xié)議一樣用于處理數(shù)據(jù)包,是一種無(wú)連接的協(xié)議。
建立TCP連接的三次握手:
第一次握手:建立連接時(shí),客戶端發(fā)送syn包(syn=j)到服務(wù)器,并進(jìn)入SYN_SENT狀態(tài),等待服務(wù)器確認(rèn);SYN:同步序列編號(hào)(Synchronize Sequence Numbers)。
第二次握手:服務(wù)器收到syn包,必須確認(rèn)客戶的SYN(ack=j+1),同時(shí)自己也發(fā)送一個(gè)SYN包(syn=k),即SYN+ACK包,此時(shí)服務(wù)器進(jìn)入SYN_RECV狀態(tài);
第三次握手:客戶端收到服務(wù)器的SYN+ACK包,向服務(wù)器發(fā)送確認(rèn)包ACK(ack=k+1),此包發(fā)送完畢,客戶端和服務(wù)器進(jìn)入ESTABLISHED狀態(tài),完成三次握手。
完成三次握手,客戶端與服務(wù)器開始傳送數(shù)據(jù)。
掃描的分類:
常規(guī)掃描,通過(guò)TCP的三次連接進(jìn)行掃描;
半打開掃描,沒(méi)有完成三次連接進(jìn)行掃描;
UDP掃描,由掃描主機(jī)發(fā)出 UDP 數(shù)據(jù)包給目標(biāo)主機(jī)的UDP Port ,并等待目標(biāo)主機(jī) Port 送回ICMP Unreachable信息。