建網(wǎng)站 西安seo網(wǎng)站排名優(yōu)化公司哪家好
nmap
# 簡介(幫助)
用法:nmap [掃描類型] [選項] {目標(biāo)指定內(nèi)容}
簡介(幫助)
用法:nmap [掃描類型] [選項] {目標(biāo)指定內(nèi)容}
一、目標(biāo)指定:
可以傳入主機(jī)名、IP 地址、網(wǎng)絡(luò)等。
例如: scanme.nmap.org 、 microsoft.com/24 、192.168.0.1;10.0.0 - 255.1 - 254
-iL <輸入文件名>
:從主機(jī) / 網(wǎng)絡(luò)列表中讀取輸入內(nèi)容。
-iR <主機(jī)數(shù)量>
:隨機(jī)選擇目標(biāo)主機(jī)。
--exclude <主機(jī) 1 [, 主機(jī) 2][, 主機(jī) 3],...>
:排除指定的主機(jī) / 網(wǎng)絡(luò)。
--excludefile <排除文件>
:從文件中的列表排除相關(guān)內(nèi)容。
二、主機(jī)發(fā)現(xiàn):
-sL
:列表掃描 - 僅列出要掃描的目標(biāo)。
-sn
:Ping 掃描 - 禁用端口掃描。
-Pn
:將所有主機(jī)視為在線狀態(tài) - 跳過主機(jī)發(fā)現(xiàn)步驟。
-PS/PA/PU/PY [端口列表]
:對給定端口進(jìn)行 TCP SYN/ACK、UDP 或 SCTP 發(fā)現(xiàn)操作。
-PE/PP/PM
:ICMP 回顯、時間戳和子網(wǎng)掩碼請求發(fā)現(xiàn)探測。
-PO [協(xié)議列表]
:IP 協(xié)議 Ping。
-n/-R
:從不進(jìn)行 DNS 解析 / 總是進(jìn)行 DNS 解析(默認(rèn):有時進(jìn)行)。
--dns-servers <服務(wù)器 1 [, 服務(wù)器 2],...>
:指定自定義 DNS 服務(wù)器。
--system-dns
:使用操作系統(tǒng)的 DNS 解析器。
--traceroute
:追蹤到每個主機(jī)的躍點路徑。
三、掃描技術(shù):
-sS/sT/sA/sW/sM
:TCP SYN/Connect ()/ACK/Window/Maimon 掃描。
-sU
:UDP 掃描。
-sN/sF/sX
:TCP Null、FIN 和 Xmas 掃描。
--scanflags <標(biāo)志>
:自定義 TCP 掃描標(biāo)志。
-sI <僵尸主機(jī) [: 探測端口]>
:空閑掃描。
-sY/sZ
:SCTP INIT/COOKIE-ECHO 掃描。
-sO
:IP 協(xié)議掃描。
-b <FTP 中繼主機(jī)>
:FTP 反彈掃描。
四、端口指定及掃描順序:
-p <端口范圍>
:僅掃描指定的端口。
例如:;;-p22
-p1 - 65535
-p U:53,111,137,T:21 - 25,80,139,8080,S:9
--exclude-ports <端口范圍>
:從掃描中排除指定的端口。
-F
:快速模式 - 掃描的端口比默認(rèn)掃描的要少。
-r
:按順序掃描端口 - 不隨機(jī)排列。
--top-ports <數(shù)量>
:掃描 <數(shù)量> 個最常見的端口。
--port-ratio <比例>
:掃描比 <比例> 更常見的端口。
五、服務(wù) / 版本檢測:
-sV
:探測開放端口以確定服務(wù) / 版本信息。
--version-intensity <級別>
:設(shè)置從 0(輕度)到 9(嘗試所有探測)的強度。
--version-light
:限制為最有可能的探測(強度為 2)。
--version-all
:嘗試每一個單獨的探測(強度為 9)。
--version-trace
:顯示詳細(xì)的版本掃描活動(用于調(diào)試)。
六、腳本掃描:
-sC
:等同于 。--script=default
--script=<Lua 腳本>
:<Lua 腳本> 是一個由逗號分隔的目錄、腳本文件或腳本類別列表。
--script-args=<n1=v1,[n2=v2,...]>
:為腳本提供參數(shù)。
--script-args-file=filename
:在文件中提供 NSE 腳本參數(shù)。
--script-trace
:顯示所有發(fā)送和接收的數(shù)據(jù)。
--script-updatedb
:更新腳本數(shù)據(jù)庫。
--script-help=<Lua 腳本>
:顯示關(guān)于腳本的幫助信息。
七、操作系統(tǒng)檢測:
-O
:啟用操作系統(tǒng)檢測。
--osscan-limit
:將操作系統(tǒng)檢測限制在有希望的目標(biāo)上。
--osscan-guess
:更積極地猜測操作系統(tǒng)。
八、定時與性能:
選項中涉及的 <時間> 單位為秒,或者可以在數(shù)值后附加 'ms'(毫秒)、's'(秒)、'm'(分鐘)或 'h'(小時)(例如 30m)。
-T<0 - 5>
:設(shè)置定時模板(數(shù)值越高速度越快)。
--min-hostgroup/max-hostgroup <大小>
:并行主機(jī)掃描組的大小。
--min-parallelism/max-parallelism <探測數(shù)量>
:探測并行化。
--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <時間>
:指定探測往返時間。
--max-retries <嘗試次數(shù)>
:限制端口掃描探測的重傳次數(shù)。
--host-timeout <時間>
:在經(jīng)過這段時間后放棄對目標(biāo)的掃描。
--scan-delay/--max-scan-delay <時間>
:調(diào)整探測之間的延遲。
--min-rate <數(shù)量>
:每秒發(fā)送數(shù)據(jù)包的速度不低于 <數(shù)量>。
--max-rate <數(shù)量>
:每秒發(fā)送數(shù)據(jù)包的速度不高于 <數(shù)量>。
九、防火墻 / 入侵檢測系統(tǒng)規(guī)避與欺騙:
-f; --mtu <值>
:對數(shù)據(jù)包進(jìn)行分片(可指定 MTU 值)。
-D <誘餌 1, 誘餌 2 [, 我自己],...>
:用誘餌掩蓋掃描。
-S <IP 地址>
:偽造源地址。
-e <接口>
:使用指定的接口。
-g/--source-port <端口號>
:使用給定的端口號。
--proxies <url1,[url2],...>
:通過 HTTP/SOCKS4 代理轉(zhuǎn)發(fā)連接。
--data <十六進(jìn)制字符串>
:在發(fā)送的數(shù)據(jù)包上附加自定義負(fù)載。
--data-string <字符串>
:在發(fā)送的數(shù)據(jù)包上附加自定義 ASCII 字符串。
--data-length <數(shù)字>
:在發(fā)送的數(shù)據(jù)包上附加隨機(jī)數(shù)據(jù)。
--ip-options <選項>
:發(fā)送帶有指定 IP 選項的數(shù)據(jù)包。
--ttl <值>
:設(shè)置 IP 存活時間字段。
--spoof-mac <MAC 地址 / 前綴 / 廠商名稱>
:偽造你的 MAC 地址。
--badsum
:發(fā)送帶有錯誤 TCP/UDP/SCTP 校驗和的數(shù)據(jù)包。
十、輸出:
-oN/-oX/-oS/-oG <文件>
:分別以普通、XML、腳本小子、可搜索格式將掃描結(jié)果輸出到給定的文件名中。
-oA <基本名>
:同時以三種主要格式輸出。
-v
:提高詳細(xì)程度級別(使用 或更高級別可獲得更強效果)。-vv
-d
:提高調(diào)試級別(使用 或更高級別可獲得更強效果)。-dd
--reason
:顯示端口處于特定狀態(tài)的原因。
--open
:只顯示開放(或可能開放)的端口。
--packet-trace
:顯示所有發(fā)送和接收的數(shù)據(jù)包。
--iflist
:打印主機(jī)接口和路由(用于調(diào)試)。
--append-output
:追加到指定的輸出文件而不是覆蓋它們。
--resume <文件名>
:恢復(fù)一個中斷的掃描。
--noninteractive
:禁用通過鍵盤進(jìn)行的運行時交互。
--stylesheet <路徑 / URL>
:將 XML 輸出轉(zhuǎn)換為 HTML 的 XSL 樣式表。
--webxml
:參考 Nmap.org 上的樣式表以獲得更具可移植性的 XML。
--no-stylesheet
:防止將 XSL 樣式表與 XML 輸出關(guān)聯(lián)。
十一、其他:
-6
:啟? IPv6 掃描。
-A
:啟?操作系統(tǒng)檢測、版本檢測、腳本掃描和追蹤路由。--datadir <?錄名>
:指定?定義 Nmap 數(shù)據(jù)?件的位置。
--send-eth/--send-ip
:使?原始以太?幀或 IP 數(shù)據(jù)包發(fā)送。
--privileged
:假設(shè)??具有完全的特權(quán)。
--unprivileged
:假設(shè)??沒有原始套接字特權(quán)。
-V
:打印版本號。
-h
:打印此幫助概要??。
十二、示例:
nmap -v -A scanme.nmap.org :詳細(xì)地對 scanme.nmap.org進(jìn)?操作系統(tǒng)檢測、版本檢測、腳本掃描和追蹤路由。
nmap -v -sn 192.168.0.0/16 10.0.0.0/8 :詳細(xì)地對 192.168.0.0/16 和 10.0.0.0/8 ?段進(jìn)? Ping 掃描(不進(jìn)?端?掃描)。
nmap -v -iR 10000 -Pn -p 80 :詳細(xì)地隨機(jī)選擇 10000 個?標(biāo),將所有?標(biāo)視為在線狀態(tài),只掃描端?80。
更多選項和示例請參閱手冊頁( https://nmap.org/book/man.html )
# ?例
?、紅隊滲透步驟
使用nmap進(jìn)行分階段分任務(wù)的掃描,避免流量過大,讓目標(biāo)服務(wù)器發(fā)現(xiàn)
主機(jī)發(fā)現(xiàn)
nmap -sn 127.0.0.0/24
端口掃描
nmap -sT --min-rate 10000 -p- 127.0.0.1 -oA nmapsc/ports
1.掃描方式:-sS與-sT
-sS以SYN包的形式,-sT以TCP三次握手的形式
-sS掃描速度更快但不穩(wěn)定,-sT相對較慢但是穩(wěn)定
2.--min-rate 指定最小發(fā)包速率
3.-p 指定ip 后面的-是 1-65535端口的縮寫,不寫的話就會掃描nmap默認(rèn)的幾個端口
4.-o 格式化輸出 后面的A是all的縮寫,或?qū)⑺行问捷敵?但是一般的不會有多種形式輸出
詳細(xì)信息掃描
nmap -sT -sV -sC -O -p22,80,443 127.0.0.1 -oA nmapsc/detail
該掃描是比較重的掃描所以指定發(fā)現(xiàn)端口。
1.-sV 掃描各服務(wù)的版本2.-sC 使用nmap默認(rèn)腳本進(jìn)行掃描
3.-O 掃描?標(biāo)機(jī)器的操作系統(tǒng)
udp掃描
namp -sU --top-ports 20 127.0.0.1 -oA nmapsc/udp
該掃描是對UDP協(xié)議進(jìn)行發(fā)現(xiàn),避免遺漏信息丟失攻擊面
1.-sU 使用UDP的掃描方式
2.--top-ports 20 針對常?的20個端口進(jìn)行掃描
腳本掃描
nmap --script=vuln -p22,80,443 127.0.0.1 -oA nmapsc/vuln
使用腳本進(jìn)行漏洞掃描,vuln是nmap中默認(rèn)掃描漏洞的一個常用腳本。
# 原理
一、沒有nmap進(jìn)行主機(jī)發(fā)現(xiàn)(Linux bash命令為例)
nmap -sn 192.169.3.0/24 其實是封裝的系統(tǒng)的ping命令
對于 i 在 {1..254};do ping -c 1 -W 1 192.168.3.$i;done
解析:-c ->count數(shù)量 1 -W ->超時時間 1
bash循環(huán)語法: for i in {};do 命令;做
執(zhí)行后發(fā)現(xiàn)Ctrl+c并不能停止,這里涉及到控制臺信號的知識
可以按下Ctrl+z讓這些命令放到后臺去執(zhí)行
然后輸入命令 kill -9 %1 (%1是指最近執(zhí)行的命令,結(jié)束進(jìn)程)
進(jìn)一步進(jìn)行篩選優(yōu)化執(zhí)行(使用grep進(jìn)行特征篩選)
對于 i 在 {1..254};do ping -c 1 -W 1 192.168.3.$i |grep 來自;做
二、沒有nmap進(jìn)行端口掃描
1. 使用進(jìn)行舊版nc端口掃描
nmap --min-rate 1000 -p- 192.168.3.100
使用舊版nc進(jìn)行端口掃描
kali中舊版nc使用 (并用來進(jìn)行端口掃描) (1-65535中找就相當(dāng)于大海撈針,所以就必須對信息進(jìn)行過濾)
nc.teaditional -vv -z 192.168.3.120 1-65535
解析: -vv 詳細(xì)信息輸出 -z 零數(shù)據(jù)傳輸
所以需要搜索出一些開放的端口和一些未開放的端口,篩選出文本特征,然后利用grep進(jìn)行篩選
nc.teaditional -vv -z 192.168.3.120 1-65535 2>&1|grep -v 拒絕
解析: grep 后面的 -v ,是反向的意思,就是將匹配到refused的數(shù)據(jù)刪除。
2>&1 是?個重定向操作,它的作?是將標(biāo)準(zhǔn)錯誤輸出( 2 )重定向到標(biāo)準(zhǔn)輸出( 1 )的位置。這樣做的?的是把原本會輸出到標(biāo)準(zhǔn)錯誤輸出(通常是顯?錯誤信息等)的內(nèi)容也合并到標(biāo)準(zhǔn)輸出流中,以
便后續(xù)可以統(tǒng)?進(jìn)?處理。
2.使用偽設(shè)備進(jìn)行端口掃描
對于 i 在 {1..65535};do (echo < /dev/tcp/192.168.3.120/$i) &>/dev/null & printf “\n[+]開放
端口 is:%d\n“ ”$i“ ||printf “.”;做
解析:&& 需要前面的命令成功執(zhí)行才會執(zhí)行后面的命令
||不管前面有沒有執(zhí)行成功后面的命令,都會進(jìn)行執(zhí)行 printf “.” 主要顯示執(zhí)行進(jìn)度