如何使用Nikto从文件批量扫描多个主机
{ "position ":0, "title ": "引言 ", "layout ": "doc-fullscreen ", "text ": " 引言 n nNikto 是一款广泛使用的开源 Web 服务器扫描器,可对 Web 服务器执行较为全面的安全检测。它能够检查 6700 多个潜在危险文件或程序、识别 1250
{"position":0,"title":"引言","layout":"doc-fullscreen","text":"## 引言\n\nNikto 是一款广泛使用的开源 Web 服务器扫描器,可对 Web 服务器执行较为全面的安全检测。它能够检查 6700 多个潜在危险文件或程序、识别 1250 多种服务器过时版本,并发现 270 多类与特定服务器版本相关的问题。\n\n如果需要手动扫描大量主机,过程往往既繁琐又耗费时间。更高效的做法是先将所有目标整理到一个文件中,再让 Nikto 按顺序逐个扫描。在本实验中,你将学习如何创建一个包含多个目标主机的文本文件,并使用 Nikto 通过一条命令对所有目标执行 Web 漏洞扫描。\n","need_verify":false,"has_solution":false},{"position":1,"title":"创建包含多个目标 IP 或主机的文本文件","layout":"doc-workbench-split","text":"## 创建包含多个目标 IP 或主机的文本文件\n\n在这一步中,你将创建一个简单的文本文件,用来保存准备扫描的目标主机名。Nikto 可以读取该文件,并依次扫描其中列出的每一个主机。每个主机名或 IP 地址都应单独占据一行。我们将使用 `nano` 文本编辑器,在当前工作目录 `~/project` 中创建这个文件。\n\n首先,使用 `nano` 打开一个名为 `targets.txt` 的新文件:\n\n```bash\nnano targets.txt\n```\n\n现在,在 `nano` 编辑器中加入下面两个主机名。它们是可用于测试的公共站点。\n\n```text\nscanme.nmap.org\nexample.com\n```\n\n要在 `nano` 中保存文件,请按 `Ctrl+O`,然后按 `Enter` 确认文件名。要退出 `nano`,请按 `Ctrl+X`。\n\n你也可以先使用 `cat` 命令检查文件内容是否正确:\n\n```bash\ncat targets.txt\n```\n\n正常情况下,输出应如下所示:\n\n```plaintext\nscanme.nmap.org\nexample.com\n```\n\n当你看到这两行内容时,就说明用于 Nikto 多目标扫描的目标文件已经准备完成。\n","need_verify":true,"has_solution":false},{"position":2,"title":"使用 -h 标志并指定文本文件路径","layout":"doc-workbench-split","text":"## 使用 `-h` 标志并指定文本文件路径\n\n这一步的重点,是先准备 Nikto 的多目标扫描命令。`-h`(或 `--host`)参数用于指定扫描目标。很多用户会认为它只能接收单个主机名或 IP 地址,实际上它也支持直接传入文件路径。只要提供一个目标文件,Nikto 就会自动逐行读取其中的主机列表并依次执行扫描。\n\n基本写法如下:\n\n```bash\nnikto -h /path/to/your/file.txt\n```\n\n由于这里的 `targets.txt` 位于当前目录(`~/project`)中,因此直接写文件名即可。\n\n在正式开始 Web 服务器漏洞扫描前,先熟悉一下 Nikto 的参数选项会更稳妥。你可以运行下面这条命令查看帮助菜单:\n\n```bash\nnikto -Help\n```\n\n向下查看输出内容后,你会看到 `-h` / `-host` 选项的说明,其中会明确提到它既支持单个主机,也支持主机列表文件。确认这一点后,再进入下一步执行实际扫描会更清晰。\n","need_verify":true,"has_solution":false},{"position":3,"title":"启动多目标扫描","layout":"doc-workbench-split","text":"## 启动多目标扫描\n\n现在你已经创建好了目标文件,也了解了前面的命令格式,接下来就可以正式启动扫描。Nikto 会读取 `targets.txt` 文件,并按照文件中的顺序依次扫描每一台目标主机。\n\n在终端中执行下面这条命令即可开始扫描。需要注意的是,如果目标主机数量较多,完整扫描通常可能需要几分钟时间,耐心等待即可。\n\n```bash\nnikto -h targets.txt\n```\n\n命令执行后,终端会实时显示当前的扫描进度与结果。\n\n## 监控 Nikto 顺序扫描每个主机的输出\n\n这一步主要是观察 Nikto 的输出结果,不需要再输入新的命令。扫描进行时,每个目标的详细信息都会依次显示在终端中。\n\n通常开始时,Nikto 会先打印自己的横幅(banner),然后启动对第一个目标 `scanme.nmap.org` 的扫描。接着,你会看到该目标的 IP 地址、服务器软件信息,以及扫描过程中发现的潜在漏洞等内容。\n\n第一个主机的初始输出,截断后大致如下:\n\n```plaintext\n- Nikto v2.5.0\n---------------------------------------------------------------------------\n+ Target IP: 45.33.32.156\n+ Target Hostname: scanme.nmap.org\n+ Target Port: 80\n+ Start Time: ...\n---------------------------------------------------------------------------\n+ Server: Apache/2.4.7 (Ubuntu)\n... (scanme.nmap.org 的漏洞检查和发现) ...\n```\n\n一旦 `scanme.nmap.org` 的扫描完成,Nikto 会自动开始扫描下一个目标 `example.com`。输出中会清楚地显示已经切换到新的扫描目标:\n\n```plaintext\n... (scanme.nmap.org 扫描结束) ...\n+ 1 host(s) tested\n- Nikto v2.5.0\n---------------------------------------------------------------------------\n+ Target IP: 93.184.216.34\n+ Target Hostname: example.com\n+ Target Port: 80\n+ Start Time: ...\n---------------------------------------------------------------------------\n+ Server: ECS (sjc/4E5D)\n... (example.com 的漏洞检查和发现) ...\n```\n\n你只需继续观察终端输出,直到整个多主机扫描过程全部完成。\n","need_verify":true,"has_solution":false},{"position":5,"title":"查看输出或保存文件中的合并结果","layout":"doc-workbench-split","text":"## 查看输出或保存文件中的合并结果\n\n当 Nikto 完成对 `targets.txt` 中所有主机的扫描后,它会打印最终摘要。该摘要通常包含已测试主机总数以及扫描结束时间。与此同时,所有目标主机的完整扫描日志也会显示在终端中,便于你统一查看。\n\n虽然直接在终端中查看输出很方便,但如果需要留档、审计或后续分析,通常更建议将扫描结果保存到文件中。你可以使用 `-o`(或 `-output`)标志来实现这一点。\n\n下面再次运行扫描,不过这次将输出保存到名为 `scan_results.txt` 的文件中。\n\n```bash\nnikto -h targets.txt -o scan_results.txt\n```\n\n这条命令会执行与之前相同的扫描,但除了在屏幕上显示结果外,还会把输出写入 `scan_results.txt`。扫描完成后,你可以使用 `cat` 命令查看保存后的报告内容:\n\n```bash\ncat scan_results.txt\n```\n\n通过这种方式,你就可以随时查看所有扫描主机的结果,而不必再次运行 Nikto 扫描命令。\n","need_verify":true,"has_solution":false},{"position":6,"title":"总结","layout":"doc-fullscreen","text":"## 总结\n\n在本实验中,你已经成功掌握了如何使用 Nikto 自动化扫描多个 Web 服务器。你练习了在文本文件中创建目标列表,并确保每个目标单独占一行。随后,你使用 `-h` 标志让 Nikto 读取该目标文件,从而按顺序扫描每个主机。最后,你还学习了如何借助 `-o` 标志,将多主机扫描的合并结果保存到输出文件中,方便后续查看、审查与记录。这种方法是提升网络侦察、Web 漏洞扫描与安全评估工作效率的一项基础且实用的技术。\n","need_verify":false,"has_solution":false}
来源:https://labex.io/zh/tutorials/kali-scan-multiple-hosts-from-a-file-with-nikto-594537
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。
相关推荐
补充同频道和同主题内容,方便继续浏览更多相关内容。
同类最新
继续查看同栏目最近更新的文章。
DDoS攻击的三大主要形式:原理、特征与防御重点
DDoS攻击主要分为基于流量(Volume)、基于应用层(Application)和基于协议(Protocol)三种形式。流量型攻击通过海量数据淹没带宽;应用层攻击利用Web漏洞耗尽服务器资源;协议层攻击则利用TCP握手缺陷导致系统挂起。了解这些原理是制定针对性防御策略的基础。
如何有效预防和缓解DDoS攻击:5大核心策略详解
面对DDoS攻击,单纯增加带宽已非长久之计。本文详解5大核心防护策略:优化网络硬件配置、建立DNS冗余机制、部署透明缓解技术、引入负载平衡器及专用Anti-DDoS模块。通过合理组合这些技术手段,可有效抵御SYN泛洪、Slowloris等常见攻击,保障业务连续性与网站可用性。
DDoS防护四大误区:CDN、防火墙与黑名单的局限性解析
许多企业误以为CDN、防火墙或黑名单能完全抵御DDoS攻击。本文深入解析四大常见误区:CDN仅提供部分缓解、静态黑名单易失效、防火墙算力有限且可能成为目标、阈值警报仅具滞后性。了解这些局限性,有助于构建更立体的防御体系,避免在攻击发生时措手不及。
常见DDoS攻击类型详解:原理、特征与防御策略
本文详细解析四种常见DDoS攻击类型:SYN Flood利用TCP三次握手缺陷耗尽资源;UDP Flood通过海量数据包造成带宽拥塞;ICMP Flood利用Ping请求消耗系统算力;应用层Flood针对Web脚本进行高频请求。了解其原理是制定有效防御策略的基础。
如何有效抵御DDOS攻击:4种核心防护方案解析
面对DDOS攻击,企业需构建多层防护体系。本文详解四大核心策略:利用反向路由器查询进行流量清洗,通过GCDN智能分配节点隐藏源站IP,部署负载均衡硬件分担压力,以及接入高防机房抵御数百G恶意流量。掌握这些技术,可最大程度保障业务连续性。
