- iL 掃描文件中指定的IP
- iR 隨機掃描一些IP
- --exclude 在掃描大范圍的IP地址時候,不想掃描某一個地址,又不想分為兩段去掃
例如:nmap 192.168.21.0/24 --exclude 192.168.21.20-100
這里不掃描20到100的IP
- --excludefile
也可以把要排除的地址放到文件里
主機發現

- -sL 要把掃的目標地址段羅列出來,看看是否是要掃描的對象 並不掃描
這里相當於子網掩碼計算,要掃描多少個機器
- -sn 不做端口掃描
- -Pn 例如在做掃描時,對方防火牆將掃描的回包攔截,我們並不知道目標主機是否存活,-Pn的作用是不管是否存在,先將所有要掃描的主機全部掃描一遍·
- PS/PA/PU/PY 做主機發現時候分別用SYN,ACK,UDP,SCTP發現
- PO 用IP掃描
- -n 不用DNS解析
- -R做反向解析
- --dns-servers 指定一個DNS服務器
- system-dns 操作系統默認的DNS
- --traceroute 探測網絡路徑 跳過幾個服務器
端口發現

- -sS/sT/sA/sW/sM: 分別表示SYN掃描(默認);TCP掃描建立三次握手;發送ACK包;TCP協議窗口掃描;Maimon掃描
- sU:用UDP掃描
- sN: TCP的flag位都沒有
- sF:只有一個FIN位
- sX:FIN+PSH+URG位
- --scanflags:自定義flag位
- sI:僵屍掃描
- sY/sZ:用SCTP掃描做准備
- sO:ip掃描
如何指定掃什么端口

- -p 指定端口
- -p U:用UDP掃描
- -p T: 用TCP掃描
- --exclude-ports 指定端口
- -F fast模式 掃描數量比較少
- -r 隨機的方式去掃
探測端口上的服務
- -sV: 探測打開的端口以確定服務/版本信息
- --version-intensity: 掃描的深度 從0-9
- --version-trace: 查看掃描過程 具體信息
腳本掃描

- -sC:等於 --script=default 這句話
- --script-args: 腳本參數
- --script-trace:腳本都是怎么發的,具體細節
- --script-updatedb:查看新腳本 升級新腳本
- --script-help:查看腳本用法
/usr/share/nmap/script 腳本目錄
檢測操作系統

- -O 查看系統信息
- --osscan-limit:只查看linux或者只查看windows
查看時間性能

為了防止短時間內頻繁的掃描,引起主機懷疑,可以確定多少秒內掃描一次
- --min-hostgroup/--max-hostgroup 並行掃描主機組,最小掃描多少個,最大掃描多少個
- --max-retries:最大探測次數
- --host-timeout 設置超時時間
- --scan-delay: 每次探測中間間隔多久 --scan-delay 5s 間隔5s
防火牆躲避和IDS欺騙

- -D : 偽造源地址 nmap -D 192.168.1.1,192.168.1.2,192.168.1.3 192.168.1.134
這里對134機器掃描,掃描的原IP位1 2 3 三個IP
- -S : 欺騙源地址:nmap -S 192.168.1.11 -e eth0 192.168.1.134。這里對134掃 描,我們偽造位11。需要-e指定網卡 ,缺點是無法得到回包
- -g 指定原來端口 欺騙端口
- --proxies 指定代理服務器
- --date :--date=FFFFFF 指定發送包的數據,后面跟FFFFF 這里發送的是16進制
- --date-string :同理但是發送的是ASCLL碼
- --ttl:設置ttl值
- --spoof-mac :指定mac地址欺騙
- --badsum:可以設置 差錯校驗
雜項

- -6:設置掃描ipv6
- datedir:設置執行目錄