Nmap 網(wǎng)絡掃描實戰(zhàn)(1)--主機發(fā)現(xiàn)

主機發(fā)現(xiàn)指的是從網(wǎng)絡中尋找活躍主機的過程管呵。該過程的關注點不在于如何獲取目標的詳細信息,而是在盡量減少資源消耗的情況下哺窄,獲得目標們在邏輯上的分布捐下。

OSI 模型

OSI 模型(即 Open Systems Interconnection model 開放式系統(tǒng)互聯(lián)通信參考模型),由國際標準化組織(ISO)提出萌业,是一個試圖使各種網(wǎng)絡設備在世界范圍內(nèi)互聯(lián)通信的標準框架坷襟。該模型將計算機網(wǎng)絡體系結(jié)構(gòu)劃分為7層,如下圖所示:

OSI 模型

本文涉及到的主機探測方法生年,主要利用了定義在 Layer 2婴程,3 和 4 上的網(wǎng)絡協(xié)議。

1. Layer 2(ARP)
  • 優(yōu)勢
    • 非潮瘢快速
    • 高可信度
  • 劣勢
    • 不能探測遠程系統(tǒng)(ARP 屬于不可路由協(xié)議)

ARP(Address Resolution Protocol 地址解析協(xié)議)是通過解析網(wǎng)路層(Layer 3)地址來找尋數(shù)據(jù)鏈路層(Layer 2)地址的一個重要的網(wǎng)絡傳輸協(xié)議阳啥,即將 Layer 3 中邏輯性的 IP 地址翻譯成 Layer 2 中物理性的 MAC 地址嚼沿。
發(fā)起查詢的主機先在本地網(wǎng)絡中廣播一條 ARP 請求旦袋,符合該查詢的主機則直接返回一條包含其 MAC 地址的 ARP 回復霸饲,收到回復后的主機會更新保存在本地的 ARP 緩存并開啟兩者間的網(wǎng)絡通信。該過程不使用任何形式的身份驗證和授權(quán)患亿。

命令示例

# nmap -sn 10.1.87.0-255
# nmap -sn 10.1.87.0/24
# nmap -iL iplist.txt -sn

-sn 選項同 -sP传蹈,即關閉默認的端口掃描,只執(zhí)行 Ping 掃描步藕,這在主機發(fā)現(xiàn)時可以節(jié)省很多時間惦界。從表面上看,執(zhí)行的 Ping 掃描屬于 Layer 3 上的協(xié)議漱抓。這里 nmap 會根據(jù)提供的 IP 地址自動判定是否為本地子網(wǎng)表锻,對本地子網(wǎng)發(fā)送 ARP 請求恕齐,對遠程網(wǎng)絡則執(zhí)行 Ping 掃描乞娄。如下圖(本地子網(wǎng)):

Nmap ARP 掃描

輸出內(nèi)容包括活躍主機的 IP 地址、網(wǎng)絡延遲显歧、MAC 地址及對應的硬件廠商仪或。
WireShark 捕獲到的流量信息:


WireShark ARP

當探測的 IP 地址不屬于本地子網(wǎng)時,則執(zhí)行 Ping 掃描(輸出信息無 MAC 地址)士骤,輸出如下:

Nmap Ping 掃描

WireShark 捕獲到的流量信息:


WireShark ICMP

2. Layer 3(ICMP)

  • 優(yōu)勢
    • 可探測遠程系統(tǒng)(可路由協(xié)議)
    • 相對較快
  • 劣勢
    • 比 ARP 慢
    • 可能被防火墻攔截

Layer 3 上的 ICMP 探測是最為人熟知的掃描手段(ping 命令總用過的吧)范删。ICMP 代表 Internet Control Message Protocol(互聯(lián)網(wǎng)控制消息協(xié)議),它的功能之一拷肌,就是通過向目標主機發(fā)送 ICMP echo 請求到旦,看是否收到 echo 響應旨巷,來確定其是否處于活躍狀態(tài)。如 Ping 命令的輸出:

Ping 命令

返回結(jié)果中包括信號往返時間和(信息)包丟失情況的統(tǒng)計信息添忘。

前面已經(jīng)提到過采呐,nmap 的 Ping 掃描可以根據(jù) IP 地址自行在 ARP 和 ICMP 協(xié)議間切換,不需要額外的選項搁骑。

3. Layer 4(TCP)

  • 優(yōu)勢
    • 可探測遠程系統(tǒng)
    • 比 ICMP 更可靠
  • 劣勢
    • 有時防火墻會導致異常結(jié)果
    • 全局掃描會非常耗時

TCP 掃描的原理在于斧吐,一條單獨的 TCP Finish(FIN) 包或者 Acknowledge(ACK) 包通常會觸發(fā)遠程主機的 Reset(RST) 響應,而發(fā)送至遠程主機的 Synchronize(SYN) 包通常會觸發(fā) SYN+ACK 或者 RST 響應(取決于被掃描端口的開放情況)仲器。重點在于煤率,來自指定主機的任何響應都可以確定該主機處于存活狀態(tài)。

當目標主機所有的 TCP 服務都被防火墻隔離時乏冀,UDP 掃描有時就顯得極為有效蝶糯。但有些 UDP 服務回復的是 ICMP 端口不可達響應,而這類響應會被高防護的防火墻阻止辆沦。另一些 UDP 服務則只對特定的請求作出響應裳涛,使得有效的 UDP 掃描需要針對不同的服務采用針對性的技術(shù)。

命令示例
  • UDP 掃描
    # nmap 10.1.87.0-255 -PU53 -sn
  • TCP 掃描(發(fā)送 ACK 包)
    # nmap 10.1.87.0/24 -PA80 -sn

附:

1. TCP & UDP

OSI 模型中众辨,IP 協(xié)議位于網(wǎng)路層(Layer 3)端三,它可以提供尋址、數(shù)據(jù)報路由及其他功能鹃彻,將一臺設備連接至另外一臺設備郊闯。TCP 協(xié)議位于傳輸層(Layer 4),負責管理連接以及各設備間數(shù)據(jù)的穩(wěn)定傳輸蛛株。
TCP 是一種連接導向(connection-oriented)的協(xié)議团赁。在 TCP 傳輸數(shù)據(jù)之前,客戶端和服務端之間需要通過一種三步握手的機制來創(chuàng)建連接谨履。過程如下:

  1. 客戶端通過向服務端發(fā)送一個包含 SYN(synchronize)標志的數(shù)據(jù)包來初始化連接欢摄,在 SYN 字段中包含了一個隨機的初始序列號(ISN)。
  2. 接著服務端向客戶端同樣回復一個 SYN 包(其中有它自己的 ISN)笋粟。同時服務端發(fā)送一個 ACK(acknowledge)包來告訴客戶端自己收到了前面的信息怀挠。該 ACK 報文中包含了客戶端的 ISN+1 的值。
  3. 客戶端發(fā)送一個 ACK 包(包含 服務端的 ISN+1)來告知服務端害捕,自己已收到消息绿淋。此時,兩者之間才開始交換數(shù)據(jù)尝盼。

當連接關閉時:

  1. 客戶端發(fā)送一個包含 FIN(finish)標志的數(shù)據(jù)包吞滞。
  2. 服務端發(fā)送 ACK 包表示自己已收到。
  3. 當服務端準備好關閉時盾沫,它會發(fā)送一個 FIN 包裁赠。
  4. 客戶端發(fā)送 ACK 包表示自己已收到殿漠。

    開啟連接的過程可參考下圖:
    TCP handshake

TCP 是一種強調(diào)數(shù)據(jù)完整性的協(xié)議。通過上述機制佩捞,在傳輸過程中若有一個包丟失凸舵,TCP 會自動重新傳輸(直到接收者發(fā)出 ACK 包)。如果數(shù)據(jù)包到達時次序錯誤失尖,TCP 會對它們進行重排啊奄,之后才交給應用程序。
所以傳輸文件或者重要數(shù)據(jù)如 HTTP 和 FTP 都是用的 TCP 協(xié)議掀潮。

UDP 屬于非連接導向(connectionless)的協(xié)議菇夸。在傳輸數(shù)據(jù)之前,他不需要先創(chuàng)建一個 UDP 連接仪吧。如果發(fā)生丟包庄新,UDP 也不會重復發(fā)送(丟失包的重發(fā)根據(jù)情況由應用程序來完成)。
所以像視頻流等可以承受丟包損失的多媒體應用常通過 UDP 傳輸薯鼠。常見的使用 UDP 的應用:DNS择诈、DHCP、SNMP 等出皇。

2. TCP表頭格式

TCP 表頭格式

參考書籍及文章:

Kali Linux Network Scanning Cookbook by Justin Hutchens
TCP 三向交握 (Three-way Handshake)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末羞芍,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子郊艘,更是在濱河造成了極大的恐慌荷科,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件纱注,死亡現(xiàn)場離奇詭異畏浆,居然都是意外死亡,警方通過查閱死者的電腦和手機狞贱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進店門刻获,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人瞎嬉,你說我怎么就攤上這事蝎毡。” “怎么了佑颇?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵顶掉,是天一觀的道長草娜。 經(jīng)常有香客問我挑胸,道長,這世上最難降的妖魔是什么宰闰? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任茬贵,我火速辦了婚禮簿透,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘解藻。我一直安慰自己老充,他們只是感情好,可當我...
    茶點故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布螟左。 她就那樣靜靜地躺著啡浊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪胶背。 梳的紋絲不亂的頭發(fā)上巷嚣,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天,我揣著相機與錄音钳吟,去河邊找鬼廷粒。 笑死,一個胖子當著我的面吹牛红且,可吹牛的內(nèi)容都是我干的坝茎。 我是一名探鬼主播,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼暇番,長吁一口氣:“原來是場噩夢啊……” “哼嗤放!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起壁酬,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤斤吐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后厨喂,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體和措,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年蜕煌,在試婚紗的時候發(fā)現(xiàn)自己被綠了派阱。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡斜纪,死狀恐怖贫母,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情盒刚,我是刑警寧澤腺劣,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站因块,受9級特大地震影響橘原,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一趾断、第九天 我趴在偏房一處隱蔽的房頂上張望拒名。 院中可真熱鬧,春花似錦芋酌、人聲如沸增显。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽同云。三九已至,卻和暖如春堵腹,著一層夾襖步出監(jiān)牢的瞬間梢杭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工秸滴, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留武契,地道東北人。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓荡含,卻偏偏與公主長得像咒唆,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子释液,可洞房花燭夜當晚...
    茶點故事閱讀 44,871評論 2 354

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