nmap端口掃描常用參數

TCP

-sS/sT/sA/sW/sM                 TCP SYN/TCP connect()/ACK/TCP窗口掃描/TCP Maimon
-sN/sF/sX                       TCP Null,FIN,and Xmas掃描
-sS TCP SYN掃描 通常又叫“半開放”掃描。因爲它不必打開一個完整的TCP連接,只發送一個SYN包,就能做到打開連接的效果,然後等待對端的反應。如果對端返回SYN/ACK報文,則表示該端口處於監聽狀態,此時,掃描端則必須再返回一個RST報文來關閉此連接;返回RST報文表示該端口沒有開放。
-sT TCP connect掃描 是一種常見的掃描方式。它通過操作系統與目標機器建立連接,而不是直接發送原始數據包。這與瀏覽器、P2P客戶端以及大多數網絡應用程序一樣,建立連接由高層系統調用。執行這種掃描的最大好處是無需root權限,但會在系統日誌裏留下記錄
-sA TCP ACK掃描 ACK掃描發送一個只設置ACK標誌位的數據包,目標主機端口無論是關閉還是開放狀態,都會返回RST數據包。但ACK掃描不能確定目標主機的端口狀態,可以確定對方主機是否存活,可以發現防火牆規則來確定防火牆的狀態。
-sW 窗口掃描 在某些系統上,開放端口用正數表示窗口大小,而關閉的窗口大小則爲0。窗口掃描,就是通過檢查返回RST報文的窗口字段,來判斷端口是否開放。窗口掃描依賴於少數的系統實現細節,不支持它的系統通常會返回“所有端口都關閉”信息;甚至有些系統會給出相反的行爲(比如:掃描顯示1000端口開放,3個端口關閉,那麼這3個端口反而是開放的)。
-sN TCP NULL掃描 根據RFC 793,主機發送一個沒有任何標誌位的TCP包,如果目標主機的對應端口是關閉的話,則會返回一個RST數據包,如果沒有響應則表示該端口是開放的。NULL掃描,可以躲過無狀態防火牆和報文過濾路由器,且比SYN掃描要隱祕。值得注意的是,並不是所有系統都遵循RFC 793。一些系統不管端口是開放還是關閉,都響應RST數據包。如Cisco設備、BSDI等。根據RFC793,類似的掃描還有FIN掃描、FIN+PSH+URG掃描。
-sF FIN掃描 根據四次揮手過程,主動結束的一方會發送FIN幀。當我們發送FIN幀給一個非監聽的端口時,會有RST應答,反之,發給一個正在監聽的端口時,不會有任何迴應。只能用於linux系統,windows系統下無效,在windows下,無論端口是否監聽,都將回應RST幀,造成無法判斷;不可靠,當收不到應答包時,不確定是端口在監聽,還是丟包了。
-sM FIN\ACK掃描 FIN/ACK掃描也被稱作Maimon掃描,根據發現者Uriel Maimon命名。其實Maimon掃描與NULL、FIN掃描的原理一樣,根據RFC 793,無論端口是關閉還是開放,目標主機都會對FIN+ACK探測數據包,響應RST報文(但許多基於BSD的系統,會丟棄FIN+ACK探測數據包)。

UDP

-sU UDP掃描 UDP掃描,通常與ICMP相結合進行。在給目標主機發送沒有攜帶任何數據的UDP數據包時,如果返回信息爲“ICMP端口不可達”(類型爲3,代碼爲3)的提示,則表示目標端口是關閉的,但主機是存活的;如果某服務響應一個UDP報文,則表明該端口是開放的。當然,UDP掃描也存在瓶頸,那就是速度。很多主機默認限制發送“ICMP端口不可達”信息,或者限制發包的頻率。如Linux2.4.20內核,就只允許一秒鐘發送一條目標不可達信息。這樣,掃描65535個端口,需要18小時的時間。這是不可接受的,所以加速UDP掃描的方法,通常是併發掃描或先掃描主要端口。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章