【Linux基礎知識系列】第七十八篇 - 初識Nmap:網絡掃描工具

在網絡管理和安全領域,網絡掃描是一個不可或缺的工具。它可以幫助網絡管理員了解網絡中的設備、服務以及潛在的安全漏洞。Nmap(Network Mapper)是一個功能強大的開源網絡掃描工具,它能夠快速發現網絡中的主機、端口和服務,并提供詳細的信息。Nmap不僅適用于網絡安全專家,對于普通用戶來說,也是一個非常實用的工具,可以幫助他們更好地了解自己的網絡環境。

Nmap的重要性在于它能夠幫助用戶:

  • 發現網絡中的主機和設備。

  • 檢測開放的端口和服務。

  • 識別潛在的安全漏洞。

  • 進行網絡拓撲發現。

本文將詳細介紹Nmap的基本概念、常用命令及其使用方法,幫助讀者快速入門Nmap。

核心概念

Nmap是什么?

Nmap(Network Mapper)是一個開源的網絡掃描工具,用于網絡發現和安全審計。它能夠發送原始IP數據包以檢測網絡中的主機、端口和服務。Nmap支持多種掃描技術,可以適應不同的網絡環境和需求。

主機發現(Host Discovery)

主機發現是Nmap的核心功能之一,它用于檢測網絡中的活動主機。Nmap通過發送ICMP請求或其他類型的探測包來確定目標主機是否在線。

端口掃描(Port Scanning)

端口掃描是Nmap的另一個重要功能,它用于檢測目標主機上開放的端口。Nmap支持多種端口掃描技術,包括TCP連接掃描、SYN掃描、UDP掃描等。

服務檢測(Service Detection)

服務檢測用于識別目標主機上運行的服務及其版本信息。Nmap通過發送特定的探測包并分析響應來確定服務的類型和版本。

操作系統檢測(OS Detection)

操作系統檢測用于識別目標主機的操作系統類型和版本。Nmap通過分析目標主機的TCP/IP堆棧行為來推斷操作系統。

腳本掃描(Script Scanning)

Nmap提供了腳本掃描功能,用戶可以通過編寫或使用現成的Nmap腳本(NSE,Nmap Scripting Engine)來擴展Nmap的功能,例如檢測漏洞、提取信息等。

命令與示例

安裝Nmap

在大多數Linux發行版中,Nmap可以通過包管理器安裝。以下是一些常見發行版的安裝命令:

在Ubuntu/Debian上安裝Nmap
sudo apt update
sudo apt install nmap
在Fedora上安裝Nmap
sudo dnf install nmap
在CentOS/RHEL上安裝Nmap
sudo yum install nmap

基本命令

掃描單個主機

掃描單個主機的開放端口:

nmap [目標IP地址]

例如,掃描IP地址為192.168.1.1的主機:

nmap 192.168.1.1
掃描多個主機

掃描多個主機的開放端口:

nmap [目標IP地址1] [目標IP地址2] ...

例如,掃描多個IP地址:

nmap 192.168.1.1 192.168.1.2
掃描IP范圍

掃描一個IP范圍內的主機:

nmap [起始IP地址]-[結束IP地址]

例如,掃描192.168.1.1192.168.1.10的主機:

nmap 192.168.1.1-10
掃描子網

掃描一個子網內的所有主機:

nmap [子網地址]

例如,掃描192.168.1.0/24子網內的所有主機:

nmap 192.168.1.0/24

高級命令

指定端口掃描

掃描特定端口:

nmap -p [端口號] [目標IP地址]

例如,掃描目標主機的2280端口:

nmap -p 22,80 192.168.1.1
掃描端口范圍

掃描一個端口范圍:

nmap -p [起始端口號]-[結束端口號] [目標IP地址]

例如,掃描目標主機的1-100端口范圍:

nmap -p 1-100 192.168.1.1
使用SYN掃描

SYN掃描是一種半開放掃描技術,它不會完成TCP連接,因此可以避免被目標主機記錄。使用SYN掃描:

nmap -sS [目標IP地址]

例如,使用SYN掃描目標主機:

nmap -sS 192.168.1.1
使用UDP掃描

UDP掃描用于檢測UDP端口:

nmap -sU [目標IP地址]

例如,使用UDP掃描目標主機:

nmap -sU 192.168.1.1
操作系統檢測

使用-O選項進行操作系統檢測:

nmap -O [目標IP地址]

例如,檢測目標主機的操作系統:

nmap -O 192.168.1.1
服務版本檢測

使用-sV選項檢測服務版本:

nmap -sV [目標IP地址]

例如,檢測目標主機的服務版本:

nmap -sV 192.168.1.1
腳本掃描

使用--script選項進行腳本掃描:

nmap --script [腳本名稱] [目標IP地址]

例如,使用http-title腳本掃描目標主機的HTTP服務標題:

nmap --script http-title 192.168.1.1

示例:掃描家庭網絡

假設你想要掃描家庭網絡中的所有設備,可以使用以下命令:

nmap 192.168.1.0/24

輸出示例:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-01 10:00 CST
Nmap scan report for 192.168.1.1
Host is up (0.00010s latency).
Not shown: 995 closed ports
PORT     STATE    SERVICE
22/tcp   open     ssh
53/tcp   open     domain
80/tcp   open     http
139/tcp  open     netbios-ssn
445/tcp  open     microsoft-dsNmap scan report for 192.168.1.2
Host is up (0.00020s latency).
Not shown: 996 closed ports
PORT     STATE    SERVICE
22/tcp   open     ssh
80/tcp   open     http
443/tcp  open     https
8080/tcp open     http-proxyNmap done: 256 IP addresses (2 hosts up) scanned in 2.34 seconds

示例:檢測目標主機的操作系統和服務版本

假設你想要檢測目標主機的操作系統和服務版本,可以使用以下命令:

nmap -O -sV 192.168.1.1

輸出示例

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-01 10:05 CST
Nmap scan report for 192.168.1.1
Host is up (0.00010s latency).
Not shown: 995 closed ports
PORT     STATE    SERVICE    VERSION
22/tcp   open     ssh        OpenSSH 8.2p1 Ubuntu 4ubuntu0.1 (Ubuntu Linux; protocol 2.0)
53/tcp   open     domain     ISC BIND 9.16.1 (Ubuntu Linux)
80/tcp   open     http       Apache httpd 2.4.41 ((Ubuntu))
139/tcp  open     netbios-ssn Samba smbd 4.11.6-Ubuntu (workgroup: WORKGROUP)
445/tcp  open     microsoft-ds Samba smbd 4.11.6-Ubuntu (workgroup: WORKGROUP)OS details: Linux 5.4 (Ubuntu 20.04 LTS)
Network Distance: 1 hopOS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 3.45 seconds

常見問題

1. 如何安裝Nmap?

在大多數Linux發行版中,可以通過包管理器安裝Nmap。例如:

  • 在Ubuntu/Debian上:

  • sudo apt update
    sudo apt install nmap
  • 在Fedora上:

    sudo dnf install nmap
  • 在CentOS/RHEL上:

  • sudo yum install nmap

2. 如何掃描單個主機?

掃描單個主機的開放端口:

nmap [目標IP地址]

例如:

nmap 192.168.1.1

3. 如何掃描一個子網?

掃描一個子網內的所有主機:

nmap [子網地址]

例如:

nmap 192.168.1.0/24

4. 如何掃描特定端口?

掃描特定端口:

nmap -p [端口號] [目標IP地址]

例如:

nmap -p 22,80 192.168.1.1

5. 如何進行操作系統檢測?

使用-O選項進行操作系統檢測:

nmap -O [目標IP地址]

例如:

nmap -O 192.168.1.1

6. 如何進行服務版本檢測?

使用-sV選項檢測服務版本:

nmap -sV [目標IP地址]

例如:

nmap -sV 192.168.1.1

7. 如何使用腳本掃描?

使用--script選項進行腳本掃描:

nmap --script [腳本名稱] [目標IP地址]

例如:

nmap --script http-title 192.168.1.1

實踐建議

1. 使用合適的掃描選項

根據掃描目標和需求選擇合適的掃描選項。例如,如果只需要檢測主機是否在線,可以使用-sn選項進行主機發現;如果需要檢測服務版本,可以使用-sV選項。

2. 遵守法律法規

在使用Nmap進行掃描時,務必確保掃描行為符合法律法規。未經授權掃描他人網絡可能導致法律后果。

3. 使用輸出選項保存結果

Nmap提供了多種輸出選項,可以將掃描結果保存到文件中。例如,使用-oN選項將結果保存為普通文本文件:

nmap -oN scan_results.txt 192.168.1.0/24

4. 使用定時掃描

對于需要定期監控的網絡,可以使用定時任務(如cron)定期運行Nmap掃描。例如,每天凌晨2點掃描網絡:

0 2 * * * /usr/bin/nmap -oN /path/to/scan_results.txt 192.168.1.0/24

5. 使用Nmap腳本擴展功能

Nmap提供了豐富的腳本庫(NSE),用戶可以通過編寫或使用現成的腳本來擴展Nmap的功能。例如,使用http-title腳本獲取HTTP服務的標題:

nmap --script http-title 192.168.1.1

6. 使用圖形界面工具

對于不熟悉命令行的用戶,可以使用Nmap的圖形界面工具(如Zenmap)來簡化操作。Zenmap提供了友好的圖形界面,用戶可以通過圖形界面配置掃描選項并查看掃描結果。

總結

本文詳細介紹了Nmap的基本概念、常用命令及其使用方法。通過學習本文,讀者可以快速入門Nmap,并掌握如何進行網絡掃描、主機發現、端口掃描、服務檢測和操作系統檢測等基本操作。Nmap是一個功能強大的網絡掃描工具,它不僅可以幫助網絡管理員了解網絡環境,還可以用于安全審計和漏洞檢測。

Nmap的多樣性和靈活性使其成為網絡安全領域的重要工具。希望本文的介紹和實踐建議能夠幫助讀者更好地理解和應用Nmap。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/91401.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/91401.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/91401.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

EasyGBS的兩種錄像回看

EasyGBS 支持兩種錄像回看,即“平臺端”的錄像回看和“設備端”的錄像回看。本期我們來介紹兩者的區別和使用方法。一、平臺端錄像1、什么是平臺端錄像平臺端錄像是指由 EasyGBS 平臺直接錄制并存儲。2、配置平臺端錄像進入平臺,依次點擊【錄像回放】→【…

大模型學習思路推薦!

為進一步貫徹落實中共中央印發《關于深化人才發展體制機制改革的意見》和國務院印發《關于“十四五”數字經濟發展規劃》等有關工作的部署要求,深入實施人才強國戰略和創新驅動發展戰略,加強全國數字化人才隊伍建設,持續推進人工智能從業人員…

數據庫連接池性能優化實戰

背景我們公司正在處于某個項目的維護階段,領導對資源告警比較重視,服務器資源告警的就不說了,運維同學每隔一小時都會檢測線上環境的應用服務信息,例如:網關日志響應時間告警/nginx日志接口響應時間告警/日志關鍵字異常…

Excel常用函數大全,非常實用

一、數學與統計函數1. SUM作用:求和SUM(number1, [number2], ...)SUM(A1:A10) ? 計算A1到A10單元格的總和注意:自動忽略文本和空單元格2. AVERAGE作用:計算平均值AVERAGE(number1, [number2], ...)AVERAGE(B2:B20) ? 計算B列20個數據的平均…

性能優化(一):時間分片(Time Slicing):讓你的應用在高負載下“永不卡頓”的秘密

性能優化(一):時間分片(Time Slicing):讓你的應用在高負載下“永不卡頓”的秘密 引子:那張讓你瀏覽器崩潰的“無限列表” 想象一個場景:你需要渲染一個包含一萬個項目的列表。在我們的“看不見”的應用中&a…

《C++》STL--list容器詳解

在 C 標準模板庫(STL)中,list 是一個非常重要的序列容器,它實現了雙向鏈表的數據結構。與 vector 和 deque 不同,list 提供了高效的插入和刪除操作,特別是在任意位置。本文將深入探討 list 容器的特性、使用方法以及常見操作。 文…

Day 28:類的定義和方法

DAY 28 類的定義和方法 知識點學習 1. 類的定義 在Python中,類是創建對象的模板。使用class關鍵字來定義一個類。類名通常采用首字母大寫的命名方式(PascalCase)。 # 最簡單的類定義 class MyClass:pass # 使用pass占位符類的定義就像是…

OSPF綜合實驗報告冊

一、實驗拓撲二、實驗要求1、R4為ISP,其上只配置IP地址;R4與其他所直連設備間均使用公有IP; 2、R3-R5、R6、R7為MGRE環境,R3為中心站點; 3、整個OSPF環境IP基于172.16.0.0/16劃分;除了R12有兩個環回&#x…

網絡層6——內部網關協議RIP、OSPF(重點)

目錄 一、基本概念 1、理想的路由算法應具備的特點 2、分層次的路由選擇協議 二、內部網關協議RIP 1、特點 2、路由交換信息 3、距離向量算法 4、壞消息傳送慢問題 5、RIP報文格式 三、內部網關協議OSPF 1、特點 2、其他特點 3、自治系統區域劃分 4、OSPF的5中分…

同品牌的系列廣告要如何保證宣傳的連貫性?

對于品牌的系列廣告而言,內容的連貫性十分重要。如果系列廣告之間缺乏內在聯系,不僅會削弱品牌形象的統一性,還可能導致用戶的認知混亂。保證宣傳內容的連貫性不是讓每則廣告完全相同,而是在變化中保持核心要素的一致性。我們該如…

深度學習:激活函數Activaton Function

一、為什么需要激活函數?神經網絡本質上是多個線性變換(矩陣乘法)疊加。如果沒有激活函數,即使疊加多層,整體仍等價于一個線性函數:這樣的網絡無法學習和擬合現實世界中復雜的非線性關系。激活函數的作用&a…

deepseek: 切分類和長函數到同名文件中

import re import sys import os import ast from tokenize import generate_tokens, COMMENT, STRING, NL, INDENT, DEDENT import iodef extract_entities(filename):"""提取類和函數到單獨文件"""with open(filename, r, encodingutf-8) as f…

新型融合肽遞送外泌體修飾可注射溫敏水凝膠用于骨再生

溫敏水凝膠因能模擬細胞外基質微環境,且具有原位注射性和形態適應性,在骨組織工程中應用廣泛。小腸黏膜下層(SIS)作為天然細胞外基質來源,富含 I 型和 III 型膠原蛋白及多種生物活性因子,其制備的水凝膠在組…

SPI接口的4種模式(根據時鐘極性和時鐘相位)

SPI(Serial Peripheral Interface) 接口根據時鐘極性(CPOL)和時鐘相位(CPHA)的不同組合,共有 4種工作模式。這些模式決定了數據采樣和傳輸的時序關系,是SPI通信中必須正確配置的關鍵…

Java:高頻面試知識分享2

HashSet 和 TreeSet 的區別?底層實現:HashSet 基于 HashMap 實現,使用哈希表存儲元素;TreeSet 基于 TreeMap,底層為紅黑樹。元素順序:HashSet 無序;TreeSet 會根據元素的自然順序或傳入的 Compa…

C語言習題講解-第九講- 常見錯誤分類等

C語言習題講解-第九講- 常見錯誤分類等1. C程序常見的錯誤分類不包含:( )2. 根據下面遞歸函數:調用函數 Fun(2) ,返回值是多少( )3. 關于遞歸的描述錯誤的是:( &#x…

A?算法(A-star algorithm)一種在路徑規劃和圖搜索中廣泛使用的啟發式搜索算法

A?A*A?算法(A-star algorithm)是一種在路徑規劃和圖搜索中廣泛使用的啟發式搜索算法,它結合了Dijkstra算法的廣度優先搜索思想和啟發式算法的效率優勢,能夠高效地找到從起點到終點的最短路徑。 1. 基本原理 A*算法的核心是通過估…

UniappDay06

1.填寫訂單-渲染基本信息 靜態結構&#xff08;分包&#xff09;封裝請求API import { http } from /utils/http import { OrderPreResult } from /types/orderexport const getmemberOrderPreAPI () > {return http<OrderPreResult>({method: GET,url: /member/orde…

論文略讀:GINGER: Grounded Information Nugget-Based Generation of Responses

SIGIR 2025用戶日益依賴對話助手&#xff08;如 ChatGPT&#xff09;來滿足多種信息需求&#xff0c;這些需求包括開放式問題、需要推理的間接回答&#xff0c;以及答案分布在多個段落中的復雜查詢RAG試圖通過在生成過程中引入檢索到的信息來解決這些問題但如何確保回應的透明性…

從內部保護你的網絡

想象一下&#xff0c;你是一家高端俱樂部的老板&#xff0c;商務貴賓們聚集在這里分享信息、放松身心。然后假設你雇傭了最頂尖的安保人員——“保鏢”——站在門口&#xff0c;確保你準確掌握所有進出的人員&#xff0c;并確保所有人的安全。不妨想象一下丹尼爾克雷格和杜安約…