nmap使用手冊_第1頁
nmap使用手冊_第2頁
nmap使用手冊_第3頁
nmap使用手冊_第4頁
nmap使用手冊_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Nmap使用手冊 1. nmap介紹Nmap是一款網絡掃描和主機檢測的非常有用的工具。Nmap是不局限于僅僅收集信息和枚舉,同時可以用來作為一個漏洞探測器或安全掃描器。它可以適用于winodws,linux,mac等操作系統Nmap是一款非常強大的實用工具,可用于:檢測活在網絡上的主機(主機發現)檢測主機上開放的端口(端口發現或枚舉)檢測到相應的端口(服務發現)的軟件和版本檢測操作系統,硬件地址,以及軟件版本檢測脆弱性的漏洞(Nmap的腳本)Nmap是一個非常普遍的工具,它有命令行界面和圖形用戶界面。本人包括以下方面的內容:介紹Nmap掃描中的重要參數操作系統檢測Nmap使用教程Nmap使用不

2、同的技術來執行掃描,包括:TCP的connect()掃描,TCP反向的ident掃描,FTP反彈掃描等。所有這些掃描的類型有自己的優點和缺點,我們接下來將討論這些問題。 Nmap的使用取決于目標主機,因為有一個簡單的(基本)掃描和預先掃描之間的差異。我們需要使用一些先進的技術來繞過防火墻和入侵檢測/防御系統,以獲得正確的結果。Nmap自動判斷主機存活。2nmap基本的命令和用法的例子2.1 掃描單一的一個主機:#nmap2.2 掃描整個子網:#nmap2.3 掃描多個目標:#nmap2.4 掃描一個范圍內的目標:#nmap -100 (掃描IP地址為內的所有主機) 2.5

3、 如果你有一個ip地址列表,將這個保存為一個txt文件,和namp在同一目錄下,掃描這個txt內的所有主機:#nmap -iL target.txt 2.6 如果你想看到你掃描的所有主機的列表:#nmap -sL 2.7 掃描除過某一個ip外的所有子網主機:#nmap -exclude 2.8 掃描除過某一個文件中的ip外的子網主機: filexxx.txt(xxx.txt中的文件將會從掃描的主機中排除) 2.9 掃描特定主機上的80,21,23端口:#nmap-p80,21,23 2.10 探測主機所有的信息 :#nmap A 2.11 探測主機掃描結果導出:#nmap o /tmp/1.t

4、xt (導出到/tmp目錄下的1.txt文件中) 3. 深入nmap掃描方式3.1 Tcp SYN Scan (sS)Tcp SYN Scan (sS) 這是一個基本的掃描方式,它被稱為半開放掃描,因為這種技術使得Nmap不需要通過完整的握手,就能獲得遠程主機的信息。Nmap發送SYN包到遠程主機,但是它不會產生任何會話。因此不會在目標主機上產生任何日志記錄,因為沒有形成會話。這個就是SYN掃描的優勢。如果Nmap命令中沒有指出掃描類型,默認的就是Tcp SYN。但是它需要root/administrator權限。代碼如下:#nmap -sS3.2 Tcp connect( ) scan(sT

5、)如果不選擇SYN掃描,TCP connect( )掃描就是默認的掃描模式。不同于Tcp SYN掃描,Tcp connect( )掃描需要完成三次握手,并且要求調用系統的connect( )。Tcp connect( )掃描技術只適用于找出TCP和UDP端口。代碼如下:#nmap -sT3.3 Udp scan(sU)顧名思義,這種掃描技術用來尋找目標主機打開的UDP端口.它不需要發送任何的SYN包,因為這種技術是針對UDP端口的。UDP掃描發送UDP數 據包到目標主機,并等待響應,如果返回ICMP不可達的錯誤消息,說明端口是關閉的,如果得到正確的適當的回應,說明端口是開放的。代碼如下:#nm

6、ap sU 3.4 FINscan(sF)有時候TcpSYN掃描不是最佳的掃描模式,因為有防火墻的存在.目標主機有時候可能有IDS和IPS系統的存在,防火墻會阻止掉SYN數據包。發送一個設置了FIN標志的數據包并不需要完成TCP的握手。代碼如下:<a href="mailto:rootbt:#nmap-sF">rootbt:#nmap-sF</a></p> <p>StartingNmap5.51at2012-07-0819:21PKTNmapscanreportfor192.168.

7、1.8Hostisup(0.000026slatency).Notshown:999closedportsPORTSTATESERVICE111/tcpopen|filteredrpcbindFIN掃描也不會在目標主機上創建日志(FIN掃描的優勢之一)。個類型的掃描都是具有差異性的,FIN掃描發送的包只包含FIN標識,NULL掃描不發送數據包上的任何字節,XMAS掃描發送FIN、PSH和URG標識的數據包。3.5 PINGScan(sP)PING掃描不同于其它的掃描方式,因為它只用于找出主機是否是存在在網絡中的。它不是用來發現是否開放端口的。PING掃描需要ROOT權限,如果用戶沒有ROOT權

8、限,PING掃描將會使用connect()調用。代碼如下:#nmap sP 3.6 版本檢測(sV)版本檢測是用來掃描目標主機和端口上運行的軟件的版本.它不同于其它的掃描技術,它不是用來掃描目標主機上開放的端口,不過它需要從開放的端口獲取信息來判斷軟件的版本。使用版本檢測掃描之前需要先用TCPSYN掃描開放了哪些端口。代碼如下:#nmap sV 3.7 Idlescan(sL)Idlescan是一種先進的掃描技術,它不是用你真實的主機Ip發送數據包,而是使用另外一個目標網絡的主機發送數據包。代碼如下:#nmap-sL Idlescan是一種理想的匿名掃描技術,通過目標網絡中的向主機發送數據,來

9、獲取開放的端口。有需要其它的掃描技術,如FTPbounce(FTP反彈),fragmentationscan(碎片掃描),IPprotocolscan(IP協議掃描),以上討論的是幾種最主要的掃描方式。3.8 Nmap的OS檢測Nmap最重要的特點之一是能夠遠程檢測操作系統和軟件,Nmap的OS檢測技術在滲透測試中用來了解遠程主機的操作系統和軟件是非常有用的,通過獲取的信息你可以知道已知的漏洞。Nmap有一個名為的nmap-OS-DB數據庫,該數據庫包含超過2600操作系統的信息。Nmap把TCP和UDP 數據包發送到目標機器上,然后檢查結果和數據庫對照。代碼如下:InitiatingSYNS

10、tealthScanat10:21Scanninglocalhost()1000portsDiscoveredopenport111/tcponCompletedSYNStealthScanat10:21,0.08selapsed(1000totalports)InitiatingOSdetection(try#1)againstlocalhost()RetryingOSdetection(try#2)againstlocalhost()上面的例子清楚地表明,Nmap的首次發現開放的端口,然后發送數據包發現遠程操作系統。操

11、作系統檢測參數是O(大寫O)。3.9 Nmap的操作系統指紋識別技術設備類型(路由器,工作組等)運行(運行的操作系統)操作系統的詳細信息(操作系統的名稱和版本)網絡距離(目標和攻擊者之間的距離跳)如果遠程主機有防火墻,IDS和IPS系統,你可以使用-PN命令來確保不ping遠程主機,因為有時候防火墻會組織掉ping請求.-PN命令告訴Nmap不用ping遠程主機。代碼如下:#nmap O PN 以上命令告訴發信主機遠程主機是存活在網絡上的,所以沒有必要發送ping請求,使用-PN參數可以繞過PING命令,但是不影響主機的系統的發現。Nmap的操作系統檢測的基礎是有開放和關閉的端口,如果OSsc

12、an無法檢測到至少一個開放或者關閉的端口,會返回以下錯誤:Warning:OSScan results may be unreliable because we could not find at least 1 open and 1 closed portOSScan的結果是不可靠的,因為沒有發現至少一個開放或者關閉的端口。這種情況是非常不理想的,應該是遠程主機做了針對操作系統檢測的防范。如果Nmap不能檢測到遠程操作系統類型,那么就沒有必要使用-osscan_limit檢測。想好通過Nmap準確的檢測到遠程操作系統是比較困難的,需要使用到Nmap的猜測功能選項,osscan -guess猜

13、測認為最接近目標的匹配操作系統類型。代碼如下:#nmap O - -osscan guess 4. 掃描類型說明4.1 -sTTCPconnect( )掃描 這是最基本的TCP掃描方式。connect()是一種系統調用,由操作系統提供,用來打開一個連接。如果目標端口有程序監聽,connect( )就會成 功返回,否則這個端口是不可達的。這項技術最大的優點是,你勿需root權限。任何UNIX用戶都可以自由使用這個系統調用。這種掃描很容易被檢測到,在 目標主機的日志中會記錄大批的連接請求以及錯誤信息。4.2 -sSTCP同步掃描(TCPSYN)因為不必全部打開一個TCP連接,所以這項技術通常稱為半

14、開掃描(half-open)。你可以發出一個TCP同步包(SYN),然后等待回應。如果對方 返回SYN|ACK(響應)包就表示目標端口正在監聽;如果返回RST數據包,就表示目標端口沒有監聽程序;如果收到一個SYN|ACK包,源主機就會馬上發出一個RST(復位)數據包斷開和目標主機的連接,這實際上有我們的操作系統內核自動完成的。這項技術最大的好處是,很少有系統能夠把這記入系統日志。不過,你需要root權限來定制SYN數據包。4.3 -sF-sX-sN秘密FIN數據包掃描、圣誕樹(XmasTree)、空(Null)掃描模式即使SYN掃描都無法確定的情況下使用。一些防火墻和包過濾軟件能夠對發送到被限

15、制端口的SYN數據包進行監視,而且有些程序比如synlogger和courtney能夠檢測那些掃描。這些高級的掃描方式可以逃過這些干擾。些掃描方式的理論依據是:關閉的端口需要對你的探測包回應RST包,而打開的端口必需忽略有問題的包(參考RFC793第64頁)。FIN掃描使用暴露的FIN數據包來探測,而圣誕樹掃描打開數據包的FIN、URG和PUSH標志。不幸的是,微軟決定完全忽略這個標準,另起爐灶。所以這種掃描方式對Windows95/NT無效。不過,從另外的角度講,可以使用這種方式來分別兩種不同的平臺。如果使用這種掃描方式可以發現打開的端口,你就可以確定目標注意運行的不是Windows系統。如

16、果使用-sF、-sX或者-sN掃描顯示所有的端口都是關閉的,而使用SYN掃描顯示有打開的端口,你可以確定目標主機可能運行的是Windwos系統。現在這種方式沒有什么太大的用處,因為nmap有內嵌的操作系統檢測功能。還有其它幾個系統使用和windows同樣的處理方式,包括Cisco、BSDI、HP/UX、MYS、IRIX。在應該拋棄數據包時,以上這些系統都會從打開的端口發出復位數據包。 4.4 -sPping掃描有時你只是想知道此時網絡上哪些主機正在運行。通過向你指定的網絡內的每個IP地址發送ICMPecho請求數據包,nmap就可以完成這項任務。如果主機正在運行就會作出響應。不幸的是,一些站點

17、例如:阻塞ICMPecho請求數據包。然而,在默認的情況下nmap也能夠向 80端口發送TCPack包,如果你收到一個RST包,就表示主機正在運行。nmap使用的第三種技術是:發送一個SYN包,然后等待一個RST或者 SYN/ACK包。對于非root用戶,nmap使用connect( )方法。在默認的情況下(root用戶),nmap并行使用ICMP和ACK技術。注意,nmap在任何情況下都會進行ping掃描,只有目標主機處于運行狀態,才會進行后續的掃描。如果你只是想知道目標主機是否運行,而不想進行其它掃描,才會用到這個選項。 4.5 -sUUDP掃描如果你想知道在某臺主機上提供哪些UDP(用戶

18、數據報協議,RFC768)服務,可以使用這種掃描方法。nmap首先向目標主機的每個端口發出一個0字節的UDP包,如果我們收到端口不可達的ICMP消息,端口就是關閉的,否則我們就假設它是打開的。有些人可能會想UDP掃描是沒有什么意思的。但是,可以參考一下solarisrpcbind缺陷。rpcbind隱藏在一個未公開的UDP端口上,這個端口號大于32770。所以即使端口111(portmap的眾所周知端口號)被防火墻阻塞有關系。但是你能發現大于30000的哪個端口上有程序正在監聽嗎?使用UDP掃描就能!cDcBackOrifice的后門程序就隱藏在Windows主機的一個可配置的UDP端口中。不

19、考慮一些通常的安全缺陷,一些服務例如:snmp、tftp、NFS使用UDP協議。不幸的是,UDP掃描有時非常緩慢,因為大多數主機限制ICMP錯誤信息的比例(在RFC1812中的建議)。例如,在Linux內核中(在net/ipv4/icmp.h文件中)限制每4秒鐘只能出現80條目標ICMP消息,如果超過這個比例,就會給1/4秒鐘的處罰。solaris的限制更加嚴格,每秒鐘只允許出現大約2條ICMP不可達消息,這樣,使掃描更加緩慢。nmap會檢測這個限制的比 例,減緩發送速度,而不是發送大量的將被目標主機丟棄的無用數據包。不過Microsoft忽略了RFC1812的這個建議,不對這個比例做任何的限

20、制。 所以我們可以能夠快速掃描運行Win95/NT的主機上的所有65K個端口。4.6 -sAACK掃描這項高級的掃描方法通常用來穿過防火墻的規則集。通常情況下,這有助于確定一個防火墻是功能比較完善的或者是一個簡單的包過濾程序,只是阻塞進入的SYN包。這種掃描是向特定的端口發送ACK包(使用隨機的應答/序列號)。如果返回一個RST包,這個端口就標記為unfiltered狀態。如果什么都沒有返回,或者返回一個不可達ICMP消息,這個端口就歸入filtered類。注意,nmap通常不輸出unfiltered的端口,所以在輸出中通常不顯示所有被探測的端口。顯然,這種掃描方式不能找出處于打開狀態的端口。

21、 4.7 -sW對滑動窗口的掃描這項高級掃描技術非常類似于ACK掃描,除了它有時可以檢測到處于打開狀態的端口,因為滑動窗口的大小是不規則的,有些操作系統可以報告其大小。這些系統至少包括:某些版本的AIX、Amiga、BeOS、BSDI、Cray、Tru64UNIX、DG/UX、OpenVMS、DigitalUNIX、 OpenBSD、OpenStep、QNX、Rhapsody、SunOS4.x、Ultrix、VAX、VXWORKS。從nmap-hackers郵 件3列表的文檔中可以得到完整的列表。 4.8 -sRRPC掃描這種方法和nmap的其它不同的端口掃描方法結合使用。選擇所有處于打開狀態

22、的端口向它們發出SunRPC程序的NULL命令,以確定它們是否是RPC端口,如果是,就確定是哪種軟件及其版本號。因此你能夠獲得防火墻的一些信息。誘餌掃描現在還不能和RPC掃描結合使用。 4.9 -bFTP反彈攻擊(bounceattack)FTP協議(RFC959)有一個很有意思的特征,它支持代理FTP連接。也就是說,我能夠從連接到FTP服務器, 并且可以要求這臺FTP服務器為自己發送Internet上任何地方的文件!1985年,RFC959完成時,這個特征就能很好地工作了。然而,在今天的Internet中,我們不能讓人們劫持FTP服務器,讓它向Internet上的任意節點發送數據。如同Hobbit在1995年寫的文章中所說的,這個協議"能夠用來做投遞虛擬的不可達郵件和新聞,進入各種站點的服務器,填滿硬盤,跳過防火墻,以及其它的騷擾活動,而且很難進行追蹤"。我們可以使用這個特征,在一臺代理FTP服務器掃描TCP端口。因此,你需要連接到防火墻后面的一臺FTP服務器,接著進行端口掃描。如果在這臺FTP服務器中有可讀寫的目錄,你還可以向目標端口任意發送數據(不過nmap不

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論