namp 端口掃描技術(shù)

1. 概述

這里討論 nmap 支持的掃描技術(shù)蚁孔,雖然 nmap 支持多種的掃描技術(shù)但是一般情況下一次只用一種方法,就是一般不將多種掃描技術(shù)混合使用惋嚎,不過這里有個例外就是 UDP 掃描杠氢,它可能需要和任意一種 TCP 掃描技術(shù)結(jié)合使用。好了作了這個簡單說明另伍,下面開始詳細(xì)的講解每一種掃描技術(shù) (也叫掃描類型)鼻百。

2. 掃描技術(shù)

2.1. TCP SYN 掃描

-sS (TCP SYN 掃描) SYN 掃描是 namp 的默認(rèn)掃描選項,SYN 掃描的特點是掃描速度快摆尝,快是有多快呢温艇,在一個沒有入侵防火墻的快速網(wǎng)絡(luò)上,一秒鐘可以掃描幾千個端口堕汞,這速度夠快吧勺爱。

屬于半開放掃描,因為它不打開一個完全的 TCP 連接換句話說就是從來不完成 TCP 三次握手讯检。所以 SYN 掃描連接信息被目標(biāo)服務(wù)器記錄到日志的概率更低琐鲁。

它發(fā)送一個 SYN 報文,告訴目標(biāo)服務(wù)器要打開一個連接视哑,然后等待目標(biāo)服務(wù)器響應(yīng)绣否,如果得到響應(yīng) SYN/ACK表示端口在監(jiān)聽 (開放),得到 RST(復(fù)位) 表示沒有監(jiān)聽者挡毅。

2.2. TCP connect() 掃描

-sT (TCP connect() 掃描) 如果我們在掃描時 SYN 掃描不可用時 connect() 掃描就是 TCP 掃描蒜撮。SYN 掃描一般在用戶沒有權(quán)限發(fā)送原始報文或者在掃描 IPv6 網(wǎng)絡(luò)而不可用。此時 nmap 通過創(chuàng)建 connect() 系統(tǒng)調(diào)用要求操作系統(tǒng)和目標(biāo)機以及端口建立連接跪呈,這時也就無法直接發(fā)送原始報文段磨。

缺點是 nmap 對高層的 connect() 調(diào)用比對原始報文控制更少,所以掃描效率較低耗绿。這種掃描需要完全連接到開放的目標(biāo)端口而不是像 SYN 掃描那樣進(jìn)行半開放的掃描苹支。所以需要發(fā)送更多的報文,由于是使用完全連接所以被目標(biāo)服務(wù)器記錄到日志的概率更高误阻。

2.3. UDP 掃描

-sU (UDP 掃描) UDP 掃描發(fā)送沒有數(shù)據(jù)的 UDP 報頭到需要掃描的目標(biāo)端口债蜜。
如果目標(biāo)返回 ICMP 端口不可到達(dá)錯誤 (類型 3,代碼 3)究反,該端口是 closed(關(guān)閉的)寻定。
其它 ICMP 不可到達(dá)錯誤 (類型 3,代碼 1精耐,2狼速,9,10卦停,或者 13) 表明該端口是 filtered(被過濾的)向胡。
偶爾地恼蓬,某服務(wù)會響應(yīng)一個 UDP 報文,證明該端口是 open(開放的)僵芹。
如果幾次重試后還沒有響應(yīng)处硬,該端口就被認(rèn)為是 open|filtered (開放|被過濾的),說明端口可能是開放的淮捆,或過濾的郁油。

UDP 掃描掃描速度緩慢本股,這時因為開放的和被過濾的端口很少響應(yīng)攀痊,讓 nmap 超時然后再探測,以防探測幀或者響應(yīng)丟失拄显。關(guān)閉的端口一般會返回給 nmap 一個 ICMP 端口無法到達(dá)錯誤苟径。

2.4. TCP Null | FIN | Xmas 掃描

這里包含是三種掃描,Null躬审,FIN棘街,Xmas 掃描,而不是一種掃描承边。這三種掃描類型在 TCP RFC 中發(fā)現(xiàn)了一個巧妙的辦法來區(qū)分 open(開放的)closed(關(guān)閉的) 端口遭殉。這些掃描的優(yōu)點是可以越過一些無狀態(tài)防火墻和報文過濾路由器。另一個優(yōu)點是這些掃描類型甚至比 SYN 掃描還要隱秘博助,更不容易被目標(biāo)服務(wù)器記錄到連接日志中险污。

-sN (Null 掃描) 不設(shè)置任何標(biāo)志位(即 TCP 標(biāo)志頭是 0)。

-sF (FIN 掃描) 只設(shè)置 TCP FIN 標(biāo)志位 ( FIN 是 Finish 的縮寫表示關(guān)閉連接)富岳。

-sX (Xmas 掃描) 設(shè)置 FIN蛔糯,PSH(表示有數(shù)據(jù)傳輸),和 URG(是 Urgent 的縮寫表示本報文段中發(fā)送的數(shù)據(jù)是否包含緊急數(shù)據(jù)) 標(biāo)志位窖式。

這里還有一個問題需要注意的是蚁飒,有些目標(biāo)服務(wù)器(比如 windows系統(tǒng)的目標(biāo)服務(wù)器)管端口開放還是關(guān)閉都響應(yīng) RST,這導(dǎo)致所有端口都被認(rèn)為是 closed(關(guān)閉的)萝喘。

2.5. TCP ACK 掃描

ACK 掃描探測報文只設(shè)置 ACK 標(biāo)志位淮逻。當(dāng)掃描未被過濾的目標(biāo)主機時, open(開放的)closed(關(guān)閉的) 端口都會返回 RST 報文阁簸,這是因為機器接受一個未經(jīng)請求的 ACK 包會返回 RST爬早,Nmap 把它們標(biāo)記為 unfiltered(未被過濾的),意思是 ACK 報文不能到達(dá)强窖,至于它們是 open(開放的) 或者 closed(關(guān)閉的) 無法確定凸椿。

不響應(yīng)或者發(fā)送特定的 ICMP 錯誤消息(類型 3,代號1翅溺,2脑漫,3髓抑,9,10优幸,或者 13)的端口吨拍,nmap 將其標(biāo)記為 filtered(被過濾的)

2.6. TCP 窗口掃描

-sW (TCP 窗口掃描) 這個控制選項告訴 namp 使用窗口掃描网杆。當(dāng) nmap 探測收到 RST 報文時不是都認(rèn)為端口是 unfiltered羹饰。

窗口掃描通過檢查目標(biāo)主機端口返回的 RST 報文的 TCP 窗口來區(qū)分不同的端口狀態(tài)。在一些系統(tǒng)上開放端口用正數(shù)表示窗口大小碳却,而關(guān)閉端口的窗口大小為 0队秩。當(dāng)收到 RST 報文時,窗口掃描根據(jù) TCP 窗口值是正數(shù)還是 0昼浦,來分別端口狀態(tài)并將端口狀態(tài)標(biāo)記為 open 或者 closed馍资。

2.7. TCP Maimon 掃描

-sM (TCP Maimon 掃描) Maimon 掃描是什么掃描這個名稱好像和網(wǎng)絡(luò)沒有任何關(guān)系,其實這個名稱是用此項掃描提出者 Uriel Maimon 的名字命名的关噪。這項技術(shù)和 Null鸟蟹,FIN,以及 Xmas 掃描是一樣的使兔,但是要注意它的探測報文使用的是 FIN/ACK建钥。本來按照網(wǎng)絡(luò) RFC 標(biāo)準(zhǔn)約定無論端口 開放或者關(guān)閉,都應(yīng)該對這樣的探測響應(yīng) RST 報文虐沥。但是 Uriel 注意到如果端口開放熊经,許多基于 BSD 的系統(tǒng)只是默默的丟棄該探測報文。

2.8. TCP 定制掃描

--scanflags (定制的 TCP 掃描) 通過這個選項我們可以定制我們需要的掃描置蜀,所謂定制就是指定我們需要的 TCP 標(biāo)志位奈搜。

--scanflags 指定選項可以是由一個數(shù)字標(biāo)記值比如 9 (9指的是 PSHFIN),也可以使用標(biāo)志位的字符名盯荤。TCP 標(biāo)志位的字符名稱有: URG馋吗, ACKPSH秋秤, RST宏粤,SYNFIN 指定的時候可以使用字符名稱進(jìn)行任意的組合使用灼卢。比如設(shè)置所有的標(biāo)志位 --scanflagsURGACKPSHRSTSYNFIN绍哎。

除了設(shè)置我們需要使用的標(biāo)志位之外同時還可以設(shè)置 TCP 的掃描類型比如同時指定掃描類型 -sA。如果你不指定掃描類型 nmap 默認(rèn)使用 SYN 掃描鞋真。詳細(xì)內(nèi)容可以查看 https://nmap.org/book/idlescan.html崇堰。

2.9. TCP Idlescan 掃描

-sI <zombie host[:probeport]> (Idlescan) 空閑掃描,允許完全盲端口掃描。 攻擊者實際上可以掃描目標(biāo)而無需向目標(biāo)發(fā)送單個數(shù)據(jù)包 目標(biāo)來自他們自己的IP地址海诲,一個聰明的側(cè)信道 攻擊允許掃描被一個啞巴反彈 “僵尸宿主” 繁莹。 入侵檢測系統(tǒng) (IDS) 報告將指無辜的僵尸作為攻擊者,這種掃描類型允許發(fā)現(xiàn)基于 IP 的信任 關(guān)系機器之間特幔∽裳荩空閑掃描是終極隱形掃描。

在了解 Idlescan 掃描工作原理之前需要知道前面 2.1 講解的 SYN 掃描蚯斯,還需要知道機器接受一個未經(jīng)請求的 SYN/ACK 包會返回 RST薄风,一個未經(jīng)請求的 RST 會被忽略。還有一點很重要需要知道拍嵌,那就是任何數(shù)據(jù)包在互聯(lián)網(wǎng)上都有一個片段標(biāo)識號 IP ID遭赂,當(dāng)數(shù)據(jù)包發(fā)送的時候峭火,大部分操作系統(tǒng)只是簡單的增加了數(shù)字嘿棘,未做其他處理。所以攻擊者只需要探究 IP ID 就可以知道最終發(fā)送了多少個報文。

空閑掃描由三個步驟組成: 對每個端口重復(fù)

  • 探測僵尸的 IP ID 并記錄下來龄糊。
  • 偽造一個 SYN 包從僵尸并將其發(fā)送到所需的目標(biāo)端口。 根據(jù)端口狀態(tài)募疮,目標(biāo)的反應(yīng)可能會或可能不會導(dǎo)致僵尸的 IP ID 增加炫惩。
  • 再次探的 IP ID。 然后目標(biāo)端口狀態(tài)是 通過將此新 IP ID 與步驟中記錄的 IP ID 進(jìn)行比較確定阿浓。

經(jīng)過上面的三個步驟 Zombie (僵尸) 主機的 IPID 應(yīng)該會增加 1~2他嚷。如果只是增加了1,那么就可以說明Zombie 主機還沒有發(fā)出任何包芭毙,當(dāng)然響應(yīng)攻擊者的探查請求除外筋蓖。沒有發(fā)送包也就意味著目標(biāo)端口沒有開放(也可能是目標(biāo)主機向 Zombie 主機發(fā)送了一個 RST 包導(dǎo)致請求被忽略,或者是根本就是什么都沒有做)退敦。增加的如果是 2粘咖,那就表明 Zombie 主機成功在兩個探測器之間發(fā)送了包。這種情況一般情況都意味著目標(biāo)端口是開放的(目標(biāo)大概會向 Zombie 主機發(fā)送一個 SYN/ACK 包去響應(yīng)攻擊者偽造的 SYN侈百,從Zombie 主機誘導(dǎo) RST 包)瓮下。如果是增加了一個比 2 還大的數(shù)字,那么就說明 Zombie 主機不可用可能不能勝任預(yù)測 IP ID 數(shù)值钝域,也可能是正在忙于其他與 Idle Scan 無關(guān)的事情讽坏。

closed(關(guān)閉的) 的端口與 filtered(被過濾的) 端口會發(fā)生不同的情況,攻擊者在兩種情況下使用相同的處理結(jié)果例证,即 IP ID 增加 1路呜,因此空閑掃描無法區(qū)分closed(關(guān)閉的) 端口與 filtered(被過濾的) 端口。 當(dāng) nmap 記錄一個 IP ID 增加 1 表示端口狀態(tài)是closed|filtered

2.10. IP 協(xié)議掃描

-sO (IP 協(xié)議掃描) 這里 -sO 是字母 O 而不是數(shù)字 0胀葱,IP 協(xié)議掃描可以讓您確定目標(biāo)機支持哪些 IP 協(xié)議 TCP党涕,ICMPIGMP巡社,或其他膛堤。從技術(shù)本質(zhì)上來說這不屬于端口掃描,掃描遍歷的是 IP 協(xié)議號而不是 TCP 或者 UDP 的端口號晌该。

2.11. FTP 彈跳掃描

-b <ftp relay host> (FTP 彈跳掃描) FTP 協(xié)議的一個有一個特點是支持代理 ftp 連接肥荔。代理連接指的是它允許用戶連接到一臺 FTP 服務(wù)器,然后要求此 FTP 服務(wù)器將文件送到一臺第三方服務(wù)器朝群。所以導(dǎo)致 FTP 服務(wù)器可以利用于對其它主機端口掃描燕耿。

使用該選項支持 ftp 彈跳掃描。參數(shù)格式是 username:password@server:port姜胖。 server 是某個脆弱的 FTP 服務(wù)器的名字或者 IP 地址誉帅。您也許可以省略 username:password,如果服務(wù)器上開放了匿名用戶
(user:anonymous password:-wwwuser@)右莱。端口號(以及前面的冒號) 也可以省略這個前提是 server 使用默認(rèn)的 FTP 端口 21蚜锨。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市慢蜓,隨后出現(xiàn)的幾起案子亚再,更是在濱河造成了極大的恐慌,老刑警劉巖晨抡,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件氛悬,死亡現(xiàn)場離奇詭異,居然都是意外死亡耘柱,警方通過查閱死者的電腦和手機如捅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來调煎,“玉大人镜遣,你說我怎么就攤上這事⊙打” “怎么了烈涮?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長窖剑。 經(jīng)常有香客問我坚洽,道長,這世上最難降的妖魔是什么西土? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任讶舰,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘跳昼。我一直安慰自己般甲,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布鹅颊。 她就那樣靜靜地躺著敷存,像睡著了一般。 火紅的嫁衣襯著肌膚如雪堪伍。 梳的紋絲不亂的頭發(fā)上锚烦,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天,我揣著相機與錄音帝雇,去河邊找鬼涮俄。 笑死,一個胖子當(dāng)著我的面吹牛尸闸,可吹牛的內(nèi)容都是我干的彻亲。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼吮廉,長吁一口氣:“原來是場噩夢啊……” “哼苞尝!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起茧痕,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤野来,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后踪旷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡豁辉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年令野,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片徽级。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡气破,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出餐抢,到底是詐尸還是另有隱情现使,我是刑警寧澤,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布旷痕,位于F島的核電站碳锈,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏欺抗。R本人自食惡果不足惜售碳,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧贸人,春花似錦间景、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至十拣,卻和暖如春碗誉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背父晶。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工哮缺, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人甲喝。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓尝苇,卻偏偏與公主長得像,于是被迫代替她去往敵國和親埠胖。 傳聞我的和親對象是個殘疾皇子糠溜,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內(nèi)容