Lokve

一破敲代码的网工

文章

16

标签

18

评论

4

文章目录

数据统计

成立

372天

文章

16篇

评论

4条

标签

18个

最近文章

kali nmap主机探测扫描

介绍

Nmap一款开源网络扫描软件,支持主机发现、端口探测、服务识别、漏洞检测等功能。
支持主机名、IP、网段等多种格式,灵活适配不同扫描场景:

单个目标:scanme.nmap.org(域名)、192.168.199.107(IP)

网段目标:microsoft.com/24(CIDR 格式)、192.168.0.1; 10.0.0-255.1-254(分号分隔多网段)

范围目标:192.168.199.1-100(IP 范围)

安装Nmap

若kali系统可以跳过,kali自带nmap工具

基于debian内核:

apt update -y && apt install nmap -y

基于centos内核:

yum install epel-release -y && yum install namp -y

核心参数解析

参数分类参数作用说明实用示例
主机探测-sn仅探测主机存活,不进行端口扫描(“Ping Scan”),避免触发告警nmap -sn 192.168.1.0/24
-PE使用 ICMP Echo Request(Ping 请求)探测存活,兼容性强nmap -sn -PE 192.168.1.1
-Pn跳过存活探测,强制扫描端口(适用于防火墙屏蔽 Ping 的场景)nmap -Pn -p 80 192.168.1.100
-PS用 TCP SYN 包探测存活(如 -PS22,80 探测常用服务端口)nmap -sn -PS22,80 192.168.1.0/24
端口扫描-p指定扫描端口(单个:-p 80;范围:-p 1-1000;全端口:-p-nmap -p 22,80,443 192.168.1.1
-F快速扫描(仅扫描 Nmap 预设 100 个常用端口)nmap -F 192.168.1.1
--top-ports N扫描排名前 N 的常用端口(如 --top-ports 500 扫描前 500 个)nmap --top-ports 500 192.168.1.1
-sS半开放扫描(SYN Scan),不建立完整 TCP 连接,隐蔽性高、速度快(推荐)sudo nmap -sS 192.168.1.1
-sT全连接扫描(TCP Connect Scan),兼容性好,隐蔽性低(无 root 权限时默认)nmap -sT 192.168.1.1
-sUUDP 端口扫描(适用于 DNS、SNMP 等 UDP 服务)sudo nmap -sU -p 53 192.168.1.1
服务与版本-sV探测服务版本(如 OpenSSH 7.9p1Apache/2.4.49nmap -sV 192.168.1.1
--version-intensity N服务版本探测强度(1-9,5 为默认,9 最详细)nmap -sV --version-intensity 7 192.168.1.1
操作系统识别-O识别目标操作系统(如 Linux 5.4.xWindows 10sudo nmap -O 192.168.1.1
--osscan-guess推测操作系统版本(适用于特征不明确的目标)sudo nmap -O --osscan-guess 192.168.1.1
输出格式-oN输出为纯文本文件(便于阅读)nmap -oN scan_result.txt 192.168.1.1
-oX输出为 XML 文件(便于导入 Metasploit 等工具)nmap -oX scan_result.xml 192.168.1.1
-oG输出为 grep 可解析格式(便于快速筛选)nmap -oG scan_result.grep 192.168.1.1
速度调节-T0Paranoid(极慢,避免触发防护)nmap -T0 192.168.1.1
-T4Aggressive(快速,平衡速度与稳定性,推荐)nmap -T4 192.168.1.1
-T5Insane(极快,可能导致目标崩溃,谨慎使用)nmap -T5 192.168.1.1
--scan-delay Nms扫描延迟(如 --scan-delay 10ms,降低被拦截概率)nmap -T4 --scan-delay 10ms 192.168.1.1
批量扫描-iL从文件读取目标列表(每行一个 IP / 域名)nmap -iL targets.txt
其他常用-v详细输出(-v 基础信息,-vv 更详细过程)nmap -vv 192.168.1.1
--reason显示端口状态原因(如 open 原因、filtered 原因)nmap --reason 192.168.1.1

案例:在线主机探测

需求:扫描 192.168.1.0/24 网段,找出所有在线主机,不扫描端口避免触发告警。

sudo nmap -sn -PE -T4 192.168.1.0/24 -oN live_hosts.txt

参数解析:

  • -sn:仅探测存活,不扫端口;
  • -PE:ICMP Ping 请求探测,兼容性强;
  • -T4:快速模式,平衡速度与稳定性;
  • -oN:输出结果到 live_hosts.txt 文件。

输出中 Host is up 表示主机在线,示例:

Nmap scan report for 192.168.1.100 (192.168.1.100)
Host is up (0.00080s latency).
Nmap scan report for 192.168.1.101 (192.168.1.101)
Host is up (0.0012s latency).

案例:单主机深度探测

需求:对 192.168.1.100 进行深度扫描,获取开放端口、服务版本、操作系统信息。

sudo nmap -sS -p 1-1000 -sV -O -T4 --reason 192.168.1.100 -oN host_detail.txt

参数解析:

  • -sS:半开放扫描,隐蔽快速;
  • -p 1-1000:扫描 1-1000 常用端口;
  • -sV:识别服务版本;
  • -O:识别操作系统;
  • --reason:显示端口状态原因。结果解读:

开放端口示例(22/tcp open ssh 表示 22 端口开放,服务为 SSH):

22/tcp open  ssh     OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
| ssh-hostkey: 
|   256 1a:2b:3c:4d:5e:6f:7a:8b:9c:0d:1e:2f:3a:4b:5c:6d (ECDSA)
|_  256 2a:3b:4c:5d:6e:7f:8a:9b:0c:1d:2e:3f:4a:5b:6c:7d (ED25519)
80/tcp open  http    Apache/2.4.49 (Ubuntu)
|_http-title: Welcome to My Server

操作系统识别示例:

Running: Linux 4.X|5.X
OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
OS details: Linux 5.4 - 5.19

案例:从文件批量端口扫描

需求:扫描 targets.txt 中的所有目标(每行一个 IP / 域名),仅探测 22(SSH)、80(HTTP)、443(HTTPS)端口,输出为 XML 格式供后续分析

sudo nmap -sS -p 22,80,443 -sV -iL targets.txt -oX batch_scan.xml -T4

参数解析:

  • -iL targets.txt:从文件读取目标列表;
  • -oX:输出为 XML 格式,便于导入 Metasploit 或自动化分析工具;

仅扫描核心服务端口,提高扫描效率。
结果应用:用 Python 解析 XML

import xml.etree.ElementTree as ET
 
# 解析 Nmap 输出的 XML 文件
tree = ET.parse("batch_scan.xml")
root = tree.getroot()
 
# 筛选开放 80 端口(HTTP)的目标
http_hosts = []
for host in root.findall("host"):
    ip = host.find("address").get("addr")
    for port in host.findall("ports/port"):
        if port.get("portid") == "80" and port.get("state") == "open":
            http_hosts.append(ip)
 
print("开放 HTTP 服务的主机:")
for ip in http_hosts:
    print(ip)

也可直接用 xmllint 命令行工具快速提取信息:

xmllint --xpath '//host[ports/port[@portid="80" and @state="open"]]/address/@addr' batch_scan.xml

案例:隐蔽扫描

需求:对外部目标(如 www.example.com)进行扫描,降低被防火墙拦截的概率。

sudo nmap -sS -p 1-1000 -T2 --scan-delay 10ms -sV --version-intensity 3 -vv www.example.com

参数解析:

  • -T2:慢速扫描模式,模拟正常网络流量;
  • --scan-delay 10ms:每个探测包间隔 10 毫秒,减少流量特征;

--version-intensity 3:降低服务版本探测强度,减少探测包数量;
-vv:超详细输出,便于跟踪扫描状态。注意:隐蔽扫描速度极慢(可能耗时数小时),仅适用于防护严格的外部目标,内部网络无需过度隐蔽。

Nmap扫描结果解析

Nmap 输出结果包含主机信息、端口状态、服务版本、操作系统、漏洞等大量数据,需重点提取关键信息,避免遗漏风险点:
端口状态解读
Nmap 扫描端口后会返回 6 种状态,核心关注以下 4 种:

open(开放):端口正在提供服务,是安全审计的核心对象(如 22 端口开放可能存在 SSH 弱口令风险);
closed(关闭):端口存在但未提供服务,无直接风险; filtered(过滤):端口状态未知,可能被防火墙拦截(需进一步验证是否开放);
unfiltered(未过滤):端口可访问但状态未知(仅在特定扫描模式下出现)。

服务版本与漏洞关联
服务版本是漏洞检测的核心依据,例如:

OpenSSH 7.2p1 及以下版本存在 CVE-2016-6210 漏洞(权限提升); Apache 2.4.49 存在
CVE-2021-41773 漏洞(路径遍历 + RCE); MySQL 5.5.62 及以下版本存在默认账号风险。

实用技巧:通过 CVE 数据库(如 https://cve.mitre.org/)输入服务版本 +“vulnerability”,快速查询对应漏洞。

操作系统识别结果应用
操作系统识别结果可用于:

匹配对应系统的已知漏洞(如 Windows 10 1903 存在 CVE-2020-0796 漏洞);
制定渗透测试策略(如 Linux 系统重点关注 SSH、MySQL,Windows 系统重点关注 RDP、SMB)。

kali nmap主机探测扫描

发布于

November 26, 2025

分类

安全渗透

版权协议

MIT

#kali
评论
😀

感谢支持!

微信二维码

请使用微信扫描二维码打赏。

支付宝二维码

请使用支付宝扫描二维码打赏。

渝公网安备50010502504517号