歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

Linux下的網絡掃描利器:NMAP

  摘要:    NMap是Linux下的網絡掃描和嗅探工具包。可以幫助網管人員深 入探測UDP或者TCP端口,直至主機所使用的操作系統;還可以將所有 探測結果記錄到各種格式的日志中,為系統安全服務。       正文:       NMap,也就是Network Mapper,是Linux下的網絡掃描和嗅探工 具包,其基本功能有三個,一是探測一組主機是否在線;其次是掃描 主機端口,嗅探所提供的網絡服務;還可以推斷主機所用的操作系統 。Nmap可用於掃描僅有兩個節點的LAN,直至500個節點以上的網絡。Nmap 還允許用戶定制掃描技巧。通常,一個簡單的使用ICMP協議的ping操 作可以滿足一般需求;也可以深入探測UDP或者TCP端口,直至主機所 使用的操作系統;還可以將所有探測結果記錄到各種格式的日志中, 供進一步分析操作。    一、如何獲得並安裝Nmap       一些Linux的發行版本提供對nmap的安裝支持。如果沒有,你可 以獲取並安裝其最新版本。這裡我們介紹源碼的tgz安裝,當然也可 以選擇rpm格式或者rpm源碼格式。例如,在Red Hat 6.1下從 http://www.insecure.org/nmap 下載nmap-latest.tgz到/home目錄,執行tar -zxvf nmap-latest.tgz, 將源碼解壓到/home目錄下的nmap-latest子目錄,然後執行configure, make和make install命令,將nmap二進制碼安裝到/usr/local/bin 目錄。這樣就可以執行nmap。       二、Nmap的使用    1、各種掃描模式與參數       首先你需要輸入要探測的主機的IP地址作為參數。假如一個LAN 中有兩個節點:192.168.0.1和192.168.0.2如果在命令行中輸入:nmap 192.168.0.2結果可能是: Starting nmap V. 2.53 by [email protected] (www.insecure.org/nmap) Interesting ports on LOVE (192.168.0.2): (The 1511 ports scanned but not shown below are in state:closed) Port State Service 21/tcp open FTP 23/tcp open telnet 25/tcp open smtp 79/tcp open finger 80/tcp open http 98/tcp open linuxconf 111/tcp open sunrpc 113/tcp open auth 513/tcp open login 514/tcp open shell 515/tcp open printer 6000/tcp open X11 Nmap run completed -- 1 IP address (1 host up) scanned in 1 second    ? 是對目標主機的進行全面TCP掃描後的結果。顯示了監聽端口的 服務情況。這一基本操作不需要任何參數,缺點是運行了日志服務的 主機可以很容易地監測到這類掃描。該命令是參數開關-sT的缺省, 即監聽TCP,結果完全一樣。    如果不是在本地的LAN,而是使用撥號上網主機,可以運行ifconfig 命令,或者從/var/log/messages文件中檢測出你目前的IP地址,假 如是202.96.1.1,那麼你不妨探測一下你的網上鄰居,比如202.96.1.2 。可以輸入:nmap -sT 202.96.1.2以上是一些入門的基本操作。假 如一些命令選項開關,就可以實現較高級的功能。       -sS選項可以進行更加隱蔽的掃描,並防止被目標主機檢測到。 但此方式需要用戶擁有root權限-sF -sX -sN則可以進行一些超常的 掃描。假如目標主機安裝了過濾和日志軟件來檢測同步空閒字符SYN, 那麼-sS的隱蔽作用就失效了,此時可以采用-sF(隱蔽FIN), -sX(Xmas Tree)以及-sN(Null)方式的掃描。這裡需要注意的是由於微軟的堅 持和獨特,對於運行Windows 95/98或者NT的機器FIN,Xmas或者Null 的掃描結果將都是端口關閉,由此也是推斷目標主機可能運行Windows 操作系統的一種方法。以上命令都需要有root權限。   


   -sU選項是監聽目標主機的UDP而不是默認的TCP端口。盡管在Linux 機器上有時慢一些,但比Window系統快得多。比如,我們輸入上面的 例子: nmap -sU 192.168.0.2 結果可能是: Starting nmap V. 2.53 by [email protected] (www.insecure.org/nmap) Interesting ports on LOVE (192.168.0.2): (The 1445 ports scanned but not shown below are in state: closed) Port State Service 111/udp open sunrpc 517/udp open talk 518/udp open ntalk Nmap run completed -- 1 IP address (1 host up) scanned in 4 seconds    2、操作系統探測       -O選項用來推斷目標主機的操作系統,可以與上述的命令參數聯 合使用或者單獨調用。Nmap利用TCP/IP“指紋”技術來推測目標主機 的操作系統。還使用前面的例子,我們輸入:    nmap -O 192.168.0.2 結果可能是: Starting nmap V. 2.53 by [email protected] (www.insecure.org/nmap) Interesting ports on LOVE (192.168.0.2): (The 1511 ports scanned but not shown below are in state:closed) ..... ..... TCP Sequence prediction: Class=random positive increments Difficulty=1772042 (Good lUCk!) Remote operating system guess: Linux 2.1.122 - 2.2.14    nmap提供了一個OS數據庫,上例中檢測到了Linux以及內核的版本號。    3、更進一步的應用    除了一次只掃描一個目標主機,你也可以同時掃描一個主機群,比如 下例:    nmap -sT -O 202.96.1.1-50就可以同時掃描並探測IP地址在202.96.1.1 到202.96.1.50之間的每一台主機。當然這需要更多的時間,耗費更多的系統資源和網絡帶寬。輸出結果也可能很長。所以,可以使用下面命令將結果重定向輸送到一個文件中: nmap -sT -O -oN test.txt 202.96.1.1-50 另外的一些命令參數選項包括: -I 進行TCP反向用戶認證掃描,可以透露掃描用戶信息 -iR 進行隨機主機掃描 -p 掃描特定的端口范圍 -v 長數據顯示,-v -v 是最長數據顯示 -h 當然是快捷幫助了 綜合了上述參數的例子 比如: nmap -sS -p 23,80 -oN ftphttpscan.txt 209.212.53.50-100    4、nmap的圖形用戶界面GUI nmap有一些圖形用戶前端,比如: NmapFE: GTK界面,網址:http://codebox.net/nmapfe.Html Kmap: Qt/KDE前端,網址:http://www.edotorg.org/kde/kmap/ KNmap: KDE前端,網址:http://pages.infinit.net/rewind/ 附錄:nmap資料: nmap - 網絡嗅測器(the Network MAPper) 作者: Fyodor 需要運行: flex, bison 主頁: http://www.insecure.org/nmap 當前版本: 2.53 許可: GPL 支持的平台: Linux, FreeBSD, NetBSD, OpenBSD, Solaris, IRIX, BSDI, SunOS, HP-UX, AIX, Digital UNIX, Cray UNICOS 以及 Windows NT.



NmapFE: GTK界面,網址:http://codebox.net/nmapfe.html Kmap: Qt/KDE前端,網址:http://www.edotorg.org/kde/kmap/ KNmap: KDE前端,網址:http://pages.infinit.net/rewind/ 附錄:nmap資料: nmap - 網絡嗅測器(the Network MAPper) 作者: Fyodor 需要運行: flex, bison 主頁: http://www.insecure.org/nmap 當前版本: 2.53 許可: GPL 支持的平台: Linux, FreeBSD, NetBSD, OpenBSD, Solaris, IRIX, BSDI, SunOS, HP-UX, AIX, Digital UNIX, Cray UNICOS 以及 Windows NT.



Copyright © Linux教程網 All Rights Reserved