nmap探測系統信息


1 、nmap是一個網絡連接端掃描軟件,用來掃描網上電腦開放的網絡連接端。確定哪些服

務運行在哪些連接端,並且推斷計算機運行哪個操作系統(這是亦稱 fingerprinting)。

它是網絡管理員必用的軟件之一,以及用以評估網絡系統安全。

2 、nmap 也是不少黑客及駭客(又稱腳本小子)愛用的工具 。系統管理員可以利用nmap

來探測工作環境中未經批准使用的服務器,但是黑客會利用nmap來搜集目標電腦的網絡設

定,從而計划攻擊的方法。

3、Nmap 常被跟評估系統漏洞軟件Nessus 混為一談。Nmap 以隱秘的手法,避開闖入檢測

系統的監視,並盡可能不影響目標系統的日常操作。

 

 

 

三次握手工作原理

TCP是因特網中的傳輸層協議,使用三次握手協議建立連接。當主動方發出SYN連接請求后,等待對方回答

TCP的三次握手

TCP的三次握手

SYN+ACK[1]  ,並最終對對方的 SYN 執行 ACK 確認。這種建立連接的方法可以防止 

產生錯誤的連接,TCP使用的流量控制協議是可變大小的滑動窗口協議。

TCP三次握手的過程如下:

    【1】客戶端發送SYN(SEQ=x)報文給服務器端,進入SYN_SEND狀態。

  【2】服務器端收到SYN報文,回應一個SYN (SEQ=y)ACK(ACK=x+1)報文,進入

    SYN_RECV狀態。

   【3】客戶端收到服務器端的SYN報文,回應一個ACK(ACK=y+1)報文,進入

Established狀態。

 

nmap -sV  顯示詳細服務信息

 

 

 

nmap -O IP

這個選項激活對TCP/IP指紋特征(fingerprinting)的掃描,獲得遠程主機的

標志,也就是操作系統類型

(用wireshark也可以直接看到他的系統)

為什么要把他單獨拿出來呢,就是為了讓別人掃描的時候,你也可以大致猜到別人的系統

 

  TTL=128,這是WINNT/2K/XP。

 

  TTL=32,這是WIN95/98/ME。

 

  TTL=256,這是UNIX。

 

  TTL=64,這是LINUX。

 

 

 

 

插入選項,后面有一些常用的實例

【-sT】TCP connect()掃描,這是最基本的TCP掃描方式。這種掃描很容易被檢測到,在目標主機的日志中會記錄大批的連接請求以及錯誤信息。

【-sS】TCP同步掃描(TCP SYN),因為不必全部打開一個TCP連接,所以這項技術通常稱為半開掃描(half-open)。這項技術最大的好處是,很少有系統能夠把這記入系統日志。不過,你需要root權限來定制SYN數據包。

【-sF,-sX,-sN】秘密FIN數據包掃描、聖誕樹(Xmas Tree)、空(Null)掃描模式。

這些掃

描方式的理論依據是:關閉的端口需要對你的探測包回應RST包,而打開的端口必需

忽略有問題的包(參考RFC 793第64頁)。

【-sP 】ping掃描,用ping方式檢查網絡上哪些主機正在運行。當主機阻塞ICMP echo

請 求包是ping掃描是無效的。nmap在任何情況下都會進行ping掃描,只有目標主機

處於運行狀態,才會進行后續的掃描。

【-sU】如果你想知道在某台主機上提供哪些UDP(用戶數據報協議,RFC768)服務,可以

使用此選項。

【-sA】ACK掃描,這項高級的掃描方法通常可以用來穿過防火牆。

【-sW】滑動窗口掃描,非常類似於ACK的掃描。

【-sR】RPC掃描,和其它不同的端口掃描方法結合使用。

【-b 】 FTP反彈攻擊(bounce attack),連接到防火牆后面的一台FTP服務器做代理

【-P0】在掃描之前,不ping主機。

【-PT】掃描之前,使用TCP ping確定哪些主機正在運行。

【-PS】對於root用戶,這個選項讓nmap使用SYN包而不是ACK包來對目標主機進行

掃描。

【-PI】   設置這個選項,讓nmap使用真正的ping(ICMP echo請求)來掃描目標主機是

否正在運行。

【-PB】  這是默認的ping掃描選項。它使用ACK(-PT)和ICMP(-PI)兩種掃描類型並行

掃描。如果防火牆能夠過濾其中一種包,使用這種方法,你就能夠穿過防火牆。

【-O       】 這個選項激活對TCP/IP指紋特征(fingerprinting)的掃描,獲得遠程主機的

標志,也就是操作系統類型。

【-I】     打開nmap的反向標志掃描功能。

【-f 】使用碎片IP數據包發送SYN、FIN、XMAS、NULL。包增加包過濾、入侵檢測系

統的難度,使其無法知道你的企圖。

【-v 】 冗余模式。強烈推薦使用這個選項,它會給出掃描過程中的詳細信息。

【-S <IP>】在一些情況下,nmap可能無法確定你的源地址(nmap會告訴你)。在這種

情況使用這個選項給出你的IP地址。

【-g port】設置掃描的源端口。一些天真的防火牆和包過濾器的規則集允許源端口為

DNS(53)或者FTP-DATA(20)的包通過和實現連接。顯然,如果攻擊者把源端口修改為

20或者53,就可以摧毀防火牆的防護。

【-oN】把掃描結果重定向到一個可讀的文件logfilename中。

【-oS】掃描結果輸出到標准輸出。

【--host_timeout】設置掃描一台主機的時間,以毫秒為單位。默認的情況下,沒有

超時限制。

【--max_rtt_timeout】設置對每次探測的等待時間,以毫秒為單位。如果超過這個

時間 限制就重傳或者超時。默認值是大約9000毫秒。

【--min_rtt_timeout】設置nmap對每次探測至少等待你指定的時間,以毫秒為單位。

【-M count】 進行TCP connect()掃描時,最多使用多少個套接字進行並行的掃描。

【-iL filename】    從filename文件中讀取掃描的目標。

【-iR】     讓nmap自己隨機挑選主機進行掃描。

【-p】 端口 這個選項讓你選擇要進行掃描的端口號的范圍。如:-p 20-30,139,60000。

【-exclude】排除指定主機。

【-excludefile】排除指定文件中的主機。

 

例:直接nmap IP  的話也可以掃到開放端口  (后面會講為什么結果一樣,還要加參數)

 

 

例:nmap -sS IP

 

 為什么要用-sS選項呢 給大家解釋一下:

  SYN掃描作為默認的也是最受歡迎的掃描選項,是有充分理由的。 它執行得很快,

     在一個沒有入侵防火牆的快速網絡上,每秒鍾可以掃描數千個 端口。 SYN掃描相對來說不

     張揚,不易被注意到,因為它從來不完成TCP連接。 它也不像Fin/Null/Xmas,Maimon和

     Idle掃描依賴於特定平台,而可以應對任何兼容的 TCP協議棧。 它還可以明確可靠地區

     分open(開放的), closed(關閉的),和filtered(被過濾的) 狀態.

 

例: nmap -sT IP

 

 

 大家可以看到,本次掃描的全都是以TCP為基礎的服務

      當SYN掃描不能用時,CP Connect()掃描就是默認的TCP掃描。 當用戶沒有權限發    送原始報文或者掃描IPv6網絡時,就是這種情況。 Nmap通過創建connect() 系統調用

      要求操作系統和目標機以及端口建立連接,而不像其它掃描類型直接發送原始報文。 這

      是和Web瀏覽器,P2P客戶端以及大多數其它網絡應用程序用以建立連接一樣的 高層系統

      調用。它是叫做Berkeley Sockets API編程接口的一部分。Nmap用 該API獲得每個連接

      嘗試的狀態信息,而不是讀取響應的原始報文。

 

例: nmap -sU IP

 查看UDP的服務

 

 

 

 

Nmap簡單掃描方式

                全面掃描:nmap-T4 -A targetip  

                主機發現:nmap-T4 -sn targetip  

                端口掃描:nmap-T4 targetip  

                服務掃描:nmap-T4 -sV targetip  

                操作系統掃描:nmap-T4 -O targetip

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM