微軟宣佈收購網路安全初創企業 CloudKnox
nmap是什麼?
nmap(Network)是一款開源免費的網路裝置發現和安全審查工具。
nmap能幹什麼?
Nmap用於列舉網路主機清單、管理服務升級排程、監控主機或服務執行狀況。Nmap可以檢測目標機是否線上、埠開放情況、偵測執行的服務型別及版本資訊、偵測作業系統與裝置型別等資訊。
【主機發現】
目的:發現目標是否線上
原理:通過向網路上傳送特定的資料包,並根據響應資訊分析裝置網路情況。
發的包主要包括ICMP ECHO、TIMESTAMP、NETMASK、TCPSYN、ACK、SCTP INIT、COOKIE-ECHO
通過RST方式拒絕建聯,確保掃描的安全性。
【埠掃描】
目的:用於確定目標主機的TCP/UDP埠的開放情況。
原理1:向目標埠傳送TCP SYN包,不建立連線,隱蔽,效率高,安全。
1)收到SYN/ACK:埠開放,狀態為 open
2)收到RST包:埠關閉,狀態為 closed
3)未收到回覆:埠被遮蔽,狀態為 filtered
原理2:TCP connecting ,與目標裝置建立TCP連線,如果無法連線,說明埠關閉。速度慢,低效,不安全。
原理3:TCP ACK,向目標埠傳送ACK包,收到RST說明埠沒有被防火牆遮蔽,否則被防火牆遮蔽。只能用於確定防火牆是否遮蔽某個埠。
原理4:還有好幾種,待理解 ......
【版本偵測】
目的:用於確定目標主機開放埠上執行的應用程式及版本資訊。
原理:
1)檢查存活埠,過濾掉不存活的埠
2)TCP埠建立TCP連線。等待過程中接收到banner資訊。nmap將接收到的Banner與nmap-services-probes中NULL probe中的簽名進行對比。查詢對應應用程式的名字與版本資訊。
3)如果2步驟中 banner 無法確定版本資訊,傳送其它探測包(即從nmap-services-probes中挑選合適的probe)
4)如果是UDP埠,那麼直接使用nmap-services-probes中探測包進行探測匹配。根據結果對比分析出UDP應用服務型別。
5)如果探測到應用程式是SSL,那麼呼叫openSSL進一步的偵查執行在SSL之上的具體的應用型別。
6)如果探測到應用程式是SunRPC,那麼呼叫brute-force RPC grinder進一步探測具體服務。
【OS偵測】
目的:用於檢測目標主機執行的作業系統型別及裝置型別等資訊。
原理:
1)Nmap內部包含了2600多已知系統的指紋特徵(在檔案nmap-os-db檔案中)。將此指紋資料庫作為進行指紋對比的樣本庫。
2)分別挑選一個open和closed的埠,向其傳送經過精心設計的TCP/UDP/ICMP資料包,根據返回的資料包生成一份系統指紋。
3)將探測生成的指紋與nmap-os-db中指紋進行對比,查詢匹配的系統。如果無法匹配,以概率形式列舉出可能的系統。
【關鍵名詞】
banner
參考:https://blog.csdn.net/aspirationflow/article/details/7694274