Linux安全掃描工具Nmap用法及參數(shù)詳解
掃描器是一種能夠自動檢測主機(jī)安全性弱點的程序。掃描器通過發(fā)送特定的網(wǎng)絡(luò)數(shù)據(jù)包,記錄目標(biāo)主機(jī)的應(yīng)答消息,從而收集關(guān)于目標(biāo)主機(jī)的各種信息。目前網(wǎng)絡(luò)上有很多掃描軟件,比較著名的掃描器有SSS,X-Scan,Superscan等,功能最強(qiáng)大的當(dāng)然是Nmap。
Nmap(Network Mapper)是一款開放源代碼的網(wǎng)絡(luò)探測和安全審核工具。
它用于快速掃描一個網(wǎng)絡(luò)和一臺主機(jī)開放的端口,還能使用TCP/IP協(xié)議棧特征探測遠(yuǎn)程主機(jī)的操作系統(tǒng)類型。nmap支持很多掃描技術(shù),例如:UDP、TCP connect()、TCP SYN(半開掃描)、ftp代理(bounce攻擊)、反向標(biāo)志、ICMP、FIN、ACK掃描、圣誕樹(Xmas Tree)、SYN掃描和null掃描。Nmap最初是用于unix系統(tǒng)的命令行應(yīng)用程序。在2000年的時候,這個應(yīng)用程序有了windows版本,可以直接安裝使用。
Nmap命令的格式為:
Nmap [ 掃描類型 … ] [ 通用選項 ] { 掃描目標(biāo)說明 }
下面對Nmap命令的參數(shù)按分類進(jìn)行說明:
1. 掃描類型
-sT | TCP connect()掃描,這是最基本的TCP掃描方式。這種掃描很容易被檢測到,在目標(biāo)主機(jī)的日志中會記錄大批的連接請求以及錯誤信息。 |
-sS | TCP同步掃描(TCP SYN),因為不必全部打開一個TCP連接,所以這項技術(shù)通常稱為半開掃描(half-open)。這項技術(shù)最大的好處是,很少有系統(tǒng)能夠把這記入系統(tǒng)日志。不過,你需要root權(quán)限來定制SYN數(shù)據(jù)包。 |
-sF,-sX,-sN | 秘密FIN數(shù)據(jù)包掃描、圣誕樹(Xmas Tree)、空(Null)掃描模式。這些掃描方式的理論依據(jù)是:關(guān)閉的端口需要對你的探測包回應(yīng)RST包,而打開的端口必需忽略有問題的包(參考RFC 793第64頁)。 |
-sP | ping掃描,用ping方式檢查網(wǎng)絡(luò)上哪些主機(jī)正在運行。當(dāng)主機(jī)阻塞ICMP echo請求包是ping掃描是無效的。nmap在任何情況下都會進(jìn)行ping掃描,只有目標(biāo)主機(jī)處于運行狀態(tài),才會進(jìn)行后續(xù)的掃描。 |
-sU | 如果你想知道在某臺主機(jī)上提供哪些UDP(用戶數(shù)據(jù)報協(xié)議,RFC768)服務(wù),可以使用此選項。 |
-sA | ACK掃描,這項高級的掃描方法通??梢杂脕泶┻^防火墻。 |
-sW | 滑動窗口掃描,非常類似于ACK的掃描。 |
-sR | RPC掃描,和其它不同的端口掃描方法結(jié)合使用。 |
-b | FTP反彈攻擊(bounce attack),連接到防火墻后面的一臺FTP服務(wù)器做代理,接著進(jìn)行端口掃描。 |
2. 通用選項
-P0 | 在掃描之前,不ping主機(jī)。 |
-PT | 掃描之前,使用TCP ping確定哪些主機(jī)正在運行。 |
-PS | 對于root用戶,這個選項讓nmap使用SYN包而不是ACK包來對目標(biāo)主機(jī)進(jìn)行掃描。 |
-PI | 設(shè)置這個選項,讓nmap使用真正的ping(ICMP echo請求)來掃描目標(biāo)主機(jī)是否正在運行。 |
-PB | 這是默認(rèn)的ping掃描選項。它使用ACK(-PT)和ICMP(-PI)兩種掃描類型并行掃描。如果防火墻能夠過濾其中一種包,使用這種方法,你就能夠穿過防火墻。 |
-O | 這個選項激活對TCP/IP指紋特征(fingerprinting)的掃描,獲得遠(yuǎn)程主機(jī)的標(biāo)志,也就是操作系統(tǒng)類型。 |
-I | 打開nmap的反向標(biāo)志掃描功能。 |
-f | 使用碎片IP數(shù)據(jù)包發(fā)送SYN、FIN、XMAS、NULL。包增加包過濾、入侵檢測系統(tǒng)的難度,使其無法知道你的企圖。 |
-v | 冗余模式。強(qiáng)烈推薦使用這個選項,它會給出掃描過程中的詳細(xì)信息。 |
-S <IP> | 在一些情況下,nmap可能無法確定你的源地址(nmap會告訴你)。在這種情況使用這個選項給出你的IP地址。 |
-g port | 設(shè)置掃描的源端口。一些天真的防火墻和包過濾器的規(guī)則集允許源端口為DNS(53)或者FTP-DATA(20)的包通過和實現(xiàn)連接。顯然,如果攻擊者把源端口修改為20或者53,就可以摧毀防火墻的防護(hù)。 |
-oN | 把掃描結(jié)果重定向到一個可讀的文件logfilename中。 |
-oS | 掃描結(jié)果輸出到標(biāo)準(zhǔn)輸出。 |
–host_timeout | 設(shè)置掃描一臺主機(jī)的時間,以毫秒為單位。默認(rèn)的情況下,沒有超時限制。 |
–max_rtt_timeout | 設(shè)置對每次探測的等待時間,以毫秒為單位。如果超過這個時間限制就重傳或者超時。默認(rèn)值是大約9000毫秒。 |
–min_rtt_timeout | 設(shè)置nmap對每次探測至少等待你指定的時間,以毫秒為單位。 |
-M count | 置進(jìn)行TCP connect()掃描時,最多使用多少個套接字進(jìn)行并行的掃描。 |
3. 掃描目標(biāo)
目標(biāo)地址 | 可以為IP地址,CIRD地址等。如192.168.1.2,222.247.54.5/24 |
-iL filename | 從filename文件中讀取掃描的目標(biāo)。 |
-iR | 讓nmap自己隨機(jī)挑選主機(jī)進(jìn)行掃描。 |
-p | 端口 這個選項讓你選擇要進(jìn)行掃描的端口號的范圍。如:-p 20-30,139,60000。 |
-exclude | 排除指定主機(jī)。 |
-excludefile | 排除指定文件中的主機(jī)。 |
舉例:
nmap -v www.hao123.com nmap -sS -O 192.168.1.23/24
nmap -sX -p 22,53,110,143,4564 128.210.*.1-127
nmap -v –randomize_hosts -p 80 *.*.2.3-5
host -l company.com | cut -d -f 4 | ./nmap -v -iL –
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。