-
-sS/sT/sA/sW/sM:TCP掃描
-
S是SYN掃描,半鏈接掃描,nmap只發送SYN報文,經過服務器是否響應SYN+ACK來判斷對應端口是否開放
-
T是全鏈接掃描會和服務器創建完整的三次握手,效率低
-
A發送ACK報文,經過服務器響應來判斷是否開放,有的服務器不開會回覆ICMP端口不可達,當回覆RST時表示可能被攔截或者端口開放,不是一個準確的判斷條件
-
W 是窗口掃描,發出的報文和ACK同樣,利用的是在某些系統中若是端口開放,收到ACK包後會響應一個窗口非0的RST包
-
M是Maimon掃描,使用發現者的名字命名。其原理是向目標服務器發送FIN/ACK 報文,在某些系統中若是端口開放則會丟棄該報文不作響應,若是端口關閉則回覆RST或者ICMP,Nmap可藉此判斷服務器端口的開放狀況。不許
-
-sU:UDP掃描,某些系統若是UDP端口不開放會回覆ICMP差錯報文(這也是Linux系統中traceroute的實現原理)。Nmap UDP端口掃描的強大之處在於它會針對知名端口構造初始交互報文,好比會針對UDP 500構造一個主模式協商的IKE報文
-
-sN/sF/sX:特定TCP標誌位的掃描,N是空標誌位;F是FIN置位;X是Xmas掃描將FIN、PSH、URG同時置位。收到RST說明端口關閉,無響應說明被過濾或者端口開放,不許。
-
--scanflags <flags>:實現上同上面幾種相似,可讓用戶自定義TCP標誌位。
-
-sI <zombie host[:probeport]>: Idle掃描須要一臺沒有流量的殭屍主機,這種掃描的實現原理是在必定的時間裏,同一臺主機發出的IP數據報文其ip頭中的identification字段是累加的。探測分爲3步:一、Nmap主機向殭屍機發包,經過殭屍機的響應包探測其ID;二、Nmap主機僞造殭屍機源地址向服務器的特定端口發送SYN包;三、Nmap主機再次探測殭屍機的ip.id。若是目標服務器端口開放,則必然會向殭屍機發送SYN/ACK,因爲莫名其妙收到一個SYN/ACK 報文,殭屍機會向目標服務器發送RST報文,該報文的ip.id 是第一步+1,則第三步Nmap主機探測到的ip.id應該是第一步+2,說明目標主機端口開放。反之,若是目標主機端口未開放,則收到第二步的報文後會向殭屍機回覆RST或者直接丟棄該報文不響應,不管哪一種狀況,都不會觸發殭屍機發包,進而殭屍機的ip.id不會變化,第三步Nmap探測到的id應該是第一步+1.
-
-sY/sZ:SCTP協議INIT或cookie-echo掃描
-
-sO:基於IP協議的掃描,經過變換IP報文頭中的Protocol值來對服務器進行探測
-
-b <FTP relay host>::FTP反彈掃描,藉助FTP特性,經過FTP服務器鏈接想要掃描的主機實現隱身的目的