linux下nmap工具的使用
Map,也就是Network Mapper,是Linux下的網路掃描和嗅探工 具包,其基本功能有三個,一是探測一組主機是否線上;其次是 掃描主機埠,嗅探所提供的網路服務;還可以推斷主機所用的作業系統 。Nmap可用於掃描僅有兩個節點的LAN,直至500個節點以上的網路。 Nmap 還允許使用者定製掃描技巧。通常,一個簡單的使用ICMP協議的ping操 作可以滿足一般需求;也可以深入探測UDP或者TCP埠,直至主機 所使用的作業系統;還可以將所有探測結果記錄到各種格式的日誌中, 供進一步分析操作。
進行ping掃描,打印出對掃描做出響應的主機,不做進一步測試(如埠掃描或者作業系統探測):
nmap -sP 192.168.1.0/24
僅列出指定網路上的每臺主機,不傳送任何報文到目標主機:
nmap -sL 192.168.1.0/24
探測目標主機開放的埠,可以指定一個以逗號分隔的埠列表(如-PS22,23,25,80):
nmap -PS 192.168.1.234
使用UDP ping探測主機:
nmap -PU 192.168.1.0/24
使用頻率最高的掃描選項:SYN掃描,又稱為半開放掃描,它不開啟一個完全的TCP連線,執行得很快:
nmap -sS 192.168.1.0/24
當SYN掃描不能用時,TCP Connect()掃描就是預設的TCP掃描:
nmap -sT 192.168.1.0/24
UDP掃描用-sU選項,UDP掃描傳送空的(沒有資料)UDP報頭到每個目標埠:
nmap -sU 192.168.1.0/24
確定目標機支援哪些IP協議 (TCP,ICMP,IGMP等):
nmap -sO 192.168.1.19
探測目標主機的作業系統:
nmap -O 192.168.1.19
nmap -A 192.168.1.19
另外,nmap官方文件中的例子:
nmap -v scanme.nmap.org
這個選項掃描主機scanme.nmap.org中 所有的保留TCP埠。選項-v啟用細節模式。
nmap -sS -O scanme.nmap.org/24
進行祕密SYN掃描,物件為主機Saznme所在的“C類”網段 的255臺主機。同時嘗試確定每臺工作主機的作業系統型別。因為進行SYN掃描 和作業系統檢測,這個掃描需要有根許可權。
nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127
進行主機列舉和TCP掃描,物件為B類188.116網段中255個8位子網。這 個測試用於確定系統是否運行了sshd、DNS、imapd或4564埠。如果這些埠 開啟,將使用版本檢測來確定哪種應用在執行。
nmap -v -iR 100000 -P0 -p 80
隨機選擇100000臺主機掃描是否執行Web伺服器(80埠)。由起始階段 傳送探測報文來確定主機是否工作非常浪費時間,而且只需探測主機的一個埠,因 此使用-P0禁止對主機列表。
nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20
掃描4096個IP地址,查詢Web伺服器(不ping),將結果以Grep和XML格式儲存。
host -l company.com | cut -d -f 4 | nmap -v -iL -
進行DNS區域傳輸,以發現company.com中的主機,然後將IP地址提供給 Nmap。上述命令用於GNU/Linux -- 其它系統進行區域傳輸時有不同的命令。
其他選項:
-p <port ranges> (只掃描指定的埠)
單個埠和用連字元表示的埠範 圍(如 1-1023)都可以。當既掃描TCP埠又掃描UDP埠時,可以通過在埠號前加上T: 或者U: 指定協議。 協議限定符一直有效直到指定另一個。 例如,引數 -p U:53,111,137,T:21-25,80,139,8080 將掃描 UDP 埠53,111,和137,同時掃描列出的TCP埠。
-F (快速 (有限的埠) 掃描)