nmap - 命令使用

nmap(Network exploration tool and security scanner)
http://insecure.org/nmap/
http://nmap.org/man/zh/index.html 

主要用途:掃描主機的資訊
ex:查localhost的資訊

.................................................
用法
nmap [Scan Types掃瞄類型] [Options掃瞄參數] {target specification指定目標}

target specification(指定目標):多台單一機器用空格分開 ex192.168.0.155 192.168.0.177
-表示範圍              ex 192.168.1-200.50-100
星號表示範圍       ex 192.168.*.155(意思就是 192.168.0.155,192.168.1.155⋯192.168.2.255⋯)
netmask表示範圍   ex192.168.0.0/24 203.71.166/24
-iL :掃描檔案中指定的目標
-iR : 隨機選擇被掃描的主機數量
--exclude : 要排除的目標
--excludefile : 排除文件中目標

ps:指定的文件格式大致如下
192.168.0.*
203.71.166.20-80
www.xxx.com
www.yyy.com/24
20.0-20.50-100.*

............
HOST DISCOVERY(偵測目標方式):-sL: 只列出要掃描的主機列表,不做真正的掃描
-sP: 使用ping和ack掃描,預設選項
-P0: 不偵測目標主機狀態,直接進行掃描
-PS [portlist]: 利用TCP SYN ping
-PA [portlist]: 利用TCP ACK ping
-PU [portlist]: 利用UDP ping
-PE/PP/PM: 使用ICMP ping類型,分別為echo, timestamp,netmask request
-PR : 利用ARP ping
-n :不對ip進行dns解析
-R: 對ip進行dns解析

ps:預設是有時會執行-R選項
ex:
使用ping掃瞄子網路內的所有IP,並列出有回應的IP,但不作進一步測試
nmap -sP 192.168.1.0/24
列出子網路所有IP及對應的主機名稱,但不作ping 及通訊埠偵測
nmap -sL 192.168.1.0/24
利用tcp syn ping偵測遠端主機是否已開啟22,23,80,25通訊埠
nmap -PS22,23,80,25 192.168.1.1
使用UDP協定ping 遠端的主機
nmap -PU 192.168.1.0/24

-sP畫面大致如下:Host 10.1.2.7 appears to be up.
MAC Address: 00:01:3C:D0:A9:8A (TIW Systems)
Host 10.1.2.9 appears to be up.
MAC Address: 00:11:6B:97:18:22 (Accton Technology)
Nmap finished: 256 IP addresses (2 hosts up) scanned in 16.455 seconds
...............

SCAN TECHNIQUES(掃描方式):-sS 使用tcp syn掃描,此為半開放的掃瞄方式,速度較快也較常被用,並可列出有回應的遠端主機已開啟的網路服務埠-sU 使用udp掃描
-sT 使用tcp Connect()掃描,若-sS掃瞄無效會自動改用此掃描方式
-sA 使用tcp ACK掃描
-sW 使用tcp windows掃描
-sM 使用tcp Maimon掃描
-sN 使用TCP Null掃描
-sF 使用TCP FIN掃描
-sX 使用TCP Xmas掃描--scanflags : 自訂TCP flags掃描,flags有syn,ack,psh,urg,fin,rst
-sI : 匿名掃描
-sO: 使用IP protocol掃描-b : 利用遠端ftp主機掃描

ex:
使用TCP SYN掃瞄遠端主機群
nmap -sS 192.168.1.0/24
用UDP協定掃瞄遠端主機群
nmap -sU 192.168.1.0/24
偵測遠端主機已開啟哪些通訊協定 TCP,UDP,ICMP,...
nmap -sO 192.168.1.19

執行-sO時,目標主機tcpdump會類似以下20:18:01.016785 IP 10.1.2.26 > 10.1.2.25: ip-proto-245 0
20:18:02.018842 IP 10.1.2.26 > 10.1.2.25: pnni 0
20:18:03.020868 IP 10.1.2.26 > 10.1.2.25: stp 0
20:18:04.022906 IP 10.1.2.26 > 10.1.2.25: ip-proto-249 0
20:18:05.024947 IP 10.1.2.26 > 10.1.2.25: idpr-cmtp 0
20:18:06.026991 IP 10.1.2.26 > 10.1.2.25: ip-proto-239 0
............
PORT SPECIFICATION AND SCAN ORDER(指定port及掃描順序):
預設會掃描1-1024間的所有port,和nmap-services文件指定的port
-p : 指定要掃描的port

ex: -p 22; -p 1-65535; -p U:53,111,137,T:21-25,80,139,8080
ps: -p 1024- 是大於1024的意思
-F: 根據nmap-services文件指定的port掃描
-r: 有順序的掃描port,預設是無順序
.............

SERVICE/VERSION DETECTION(偵測服務版本):-sV: 啟用伺服器服務版本偵測功能
--version-light: 僅提供少數訊息
--version-all: 顯示全部訊息
--version-trace: 顯示詳細訊息
OS DETECTION(偵測作業系統):
-O: 啟動作業系統偵測--osscan-limit: 只偵測指定目標
--osscan-guess: 推測作業系統類型
TIMING AND PERFORMANCE(時間和效能):
-T <0-6> 設定timing template(速度調整模板),預設是3,0是最慢但最不容易被發現--min-hostgroup/max-hostgroup : Parallel host scan group sizes
--min-parallelism/max-parallelism : Probe parallelization
--min_rtt_timeout/max-rtt-timeout/initial-rtt-timeout : Specifies
probe round trip time.
--host-timeout : Give up on target after this long
--scan-delay/--max_scan-delay : Adjust delay between probes

FIREWALL/IDS EVASION AND SPOOFING:-f; --mtu : fragment packets (optionally w/given MTU)
-D : Cloak a scan with decoys
-S : Spoof source address-e : Use specified interface
-g/--source-port : Use given port number
--data-length : Append random data to sent packets
--ttl : Set IP time-to-live field
--spoof-mac : Spoof your MAC address

OUTPUT(輸出結果):-oN 將輸出直接寫在指定的文件上
-oX 輸出成XML格式
-oS 輸出成s|
-oG 輸出成grep格式
-oA : 輸出成以上四種格式
-v:提高輸出結果的詳細度
-d[level]: 設定debug時輸出的詳細度
--open :僅顯示state為open的主機
--packet-trace: 顯示所有傳送和接收的封包
--iflist: 顯示主機介面或路由
--append-output: 將本次掃描結果寫入另一個掃描結果文件後面,不支援xml
--resume : 繼續上次被中斷的掃描,不支援xml
--stylesheet : 指定xsl樣式將xml轉換成html
--no_stylesheet: 不要將xml轉換成html
MISC:
-6: 啟用ipv6掃描
-A: 執行全部選項,包括作業系統和伺服器服務偵測
--datadir :指定nmap參數檔位置
--send-eth 要求使用訊框傳送
--send-ip: 要求使用封包傳送
--privileged: Assume that the user is fully privileged
-V: 顯示版本
-h: 顯示簡短操作說明
...........................................................

網路上的其他範例
偵測遠端主機的作業系統類型
nmap -O 192.168.1.19
nmap -A 192.168.1.19

nmap -v scanme.nmap.org
掃瞄遠端主機,並列出相關詳細的資訊。

以SYN秘密掃瞄網域為scanme.nmap.org所屬 C 子網段的所有存在的主機作業系統類型。
nmap -sS -O scanme.nmap.org/24

進行主機列表及TCP掃瞄特定網路服務,遠端主機的網路含括 198.116.(0-255).(1-127) 網段下。
nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127

隨機選擇100000台主機,偵測是否開啟 Web 服務,由於此掃瞄較耗時,所以加上-P0 不作主機列表。
nmap -v -iR 100000 -P0 -p 80

對 www.target.com 底下所屬網域進行 TCP Stealth Scan ,掃描的 port 僅限於 FTP,SSH,TELNET,SMTP,POP3
nmap -sS -p 21,22,23,25,110 www.target.com/24

掃描 tcp 與 udp port ,範圍從 1-65535,目標是www.example.com,注意, 如果該機器有防火牆保護著或是微軟主機,這項掃描將會失敗
nmap -sF -sU -p 1-65535 http://www.example.com/

補充
1. [root@www ~]# nmap -O -sV -F 192.168.11.2

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2011-01-24 00:05 CST
Warning:  OS detection will be MUCH less reliable because we did not find at least 1 open and 1 closed TCP port
Interesting ports on 192.168.11.2:
Not shown: 1237 filtered ports
PORT    STATE SERVICE      VERSION
139/tcp open  netbios-ssn
445/tcp open  microsoft-ds Microsoft Windows XP microsoft-ds
MAC Address: 00:11:D8:2F:6C:7E (Asustek Computer)
Device type: general purpose
Running: IBM AIX 4.X, Microsoft Windows 2003/.NET|NT/2K/XP
OS details: IBM AIX 4.3.2.0-4.3.3.0 on an IBM RS/*, Microsoft Windows 2003 Server or XP SP2, Microsoft Windows XP SP2
Service Info: OS: Windows

Nmap finished: 1 IP address (1 host up) scanned in 31.355 seconds

2. [root@www ~]# nmap -sU 192.168.11.200

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2011-01-24 00:08 CST
Interesting ports on 192.168.11.200:
Not shown: 1483 closed ports
PORT     STATE         SERVICE
111/udp  open|filtered rpcbind
631/udp  open|filtered unknown
1005/udp open|filtered unknown
1008/udp open|filtered ufsd

Nmap finished: 1 IP address (1 host up) scanned in 2.524 seconds

http://systw.net/note/af/sblog/more.php?id=128
轉貼文件(我從別的網站copy來的)
nmap localhost

By tony

自由軟體愛好者~喜歡不斷的思考各種問題,有新的事物都會想去學習嘗試 做實驗並熱衷研究 沒有所謂頂天的技術 只有謙虛及不斷的學習 精進專業,本站主要以分享系統及網路相關知識、資源而建立。 Github http://stnet253.github.io

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料