這篇文章主要講解了“Linux中Nmap的用法及參數介紹”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Linux中Nmap的用法及參數介紹”吧!
掃描器是一種能夠自動檢測主機安全性弱點的程序。掃描器通過發送特定的網絡數據包,記錄目標主機的應答消息,從而收集關于目標主機的各種信息。目前網絡上有很多掃描軟件,比較著名的掃描器有SSS,X-Scan,Superscan等,功能最強大的當然是Nmap。
Nmap(Network Mapper)是一款開放源代碼的網絡探測和安全審核工具。
它用于快速掃描一個網絡和一臺主機開放的端口,還能使用TCP/IP協議棧特征探測遠程主機的操作系統類型。nmap支持很多掃描技術,例如:UDP、TCP connect()、TCP SYN(半開掃描)、ftp代理(bounce攻擊)、反向標志、ICMP、FIN、ACK掃描、圣誕樹(Xmas Tree)、SYN掃描和null掃描。Nmap最初是用于unix系統的命令行應用程序。在2000年的時候,這個應用程序有了windows版本,可以直接安裝使用。
Nmap命令的格式為:
Nmap [ 掃描類型 … ] [ 通用選項 ] { 掃描目標說明 }
下面對Nmap命令的參數按分類進行說明:
1. 掃描類型
| -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服務器做代理,接著進行端口掃描。 |
2. 通用選項
| -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()掃描時,最多使用多少個套接字進行并行的掃描。 |
3. 掃描目標
| 目標地址 | 可以為IP地址,CIRD地址等。如192.168.1.2,222.247.54.5/24 |
| -iL filename | 從filename文件中讀取掃描的目標。 |
| -iR | 讓nmap自己隨機挑選主機進行掃描。 |
| -p | 端口 這個選項讓你選擇要進行掃描的端口號的范圍。如:-p 20-30,139,60000。 |
| -exclude | 排除指定主機。 |
| -excludefile | 排除指定文件中的主機。 |
舉例:
代碼如下:
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 –
感謝各位的閱讀,以上就是“Linux中Nmap的用法及參數介紹”的內容了,經過本文的學習后,相信大家對Linux中Nmap的用法及參數介紹這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。