Namp的英文全稱是“Network Mapper”,Namp可用來快速掃描大型網絡或是單個主機
nmap主要包括四個方面 主機發現、端口掃描、應用與版本偵測、操作系統偵測
主機發現原理:主機發現的原理與ping命令類似,發送探測包到目標主機,如果收到回復,那么就說明目標主機是開啟的
主機發現的用法

端口掃描的原理:1、TCP SYN scanning
2、TCP connect scanning
3、TCP ACK scanning
4、TCP FIN/Xmas/NULL scanning
5、UDP scanning
端口掃描的用法
版本偵測原理:
首先檢查open與open|filtered狀態的端口是否在排除端口列表內。如果在排除列表,將該端口剔除。
如果是TCP端口,嘗試建立TCP連接。嘗試等待片刻(通常6秒或更多,具體時間可以查詢文件nmap-services-probes中 Probe TCP NULL q||對應的totalwaitms)。通常在等待時間內,會接收到目標機發送的“WelcomeBanner”信息。nmap將接收到的Banner與 nmap-services-probes中NULL probe中的簽名進行對比。查找對應應用程序的名字與版本信息。
如果通過“Welcome Banner”無法確定應用程序版本,那么nmap再嘗試發送其他的探測包(即從nmap-services-probes中挑選合適的probe),將 probe得到回復包與數據庫中的簽名進行對比。如果反復探測都無法得出具體應用,那么打印出應用返回報文,讓用戶自行進一步判定。
如果是UDP端口,那么直接使用nmap-services-probes中探測包進行探測匹配。根據結果對比分析出UDP應用服務類型。
如果探測到應用程序是SSL,那么調用openSSL進一步的偵查運行在SSL之上的具體的應用類型。
如果探測到應用程序是SunRPC,那么調用brute-force RPC grinder進一步探測具體服務。
版本偵測的用法
OS偵測原理
Nmap使用TCP/IP協議棧指紋來識別不同的操作系統和設備。在RFC規范中,有些地方對TCP/IP的實現並沒有強制規定,由此不同的TCP/IP方案中可能都有自己的特定方式。Nmap主要是根據這些細節上的差異來判斷操作系統的類型的。
OS偵探的用法
確認端口狀態
命令形式:namp targethost
完整全面的掃描
命令形式: nmap -T4 -A -v targethost (A選項用於使用攻擊性方式掃描;-T4指定掃描過程中使用的時序;-v顯示冗長信息)