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