首页 > 其他分享 >#渗透测试#SRC漏洞挖掘#红蓝攻防#地址池搭建之Zmap安装使用

#渗透测试#SRC漏洞挖掘#红蓝攻防#地址池搭建之Zmap安装使用

时间:2024-11-20 21:14:08浏览次数:3  
标签:ZMap SRC -- Zmap 扫描 kali 红蓝 多线程 zmap

免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章阅读。                                                              #陇羽sec#

ZMap是什么?

ZMap是一款网络扫描工具,由密歇根大学的研究团队开发。它的主要特点是能够在极短的时间内对整个互联网进行扫描。具体来说,ZMap可以在44分钟内扫描完所有的IPv4地址,这是由于其高效的架构和无状态的设计,使得它能够以非常高的速度发送和接收数据包,而不需要保留未获回复请求的清单。

主要功能和特点
  1. 高速扫描:ZMap能够在45分钟内完成整个公共IPv4地址空间的单一端口扫描。在配备10Gbps以太网接口以及netmap或PF_RING的环境下,这个时间甚至可以缩短到5分钟以内。

  2. 无状态设计:ZMap不会保留未获回复请求的清单,而是在传出的数据包中对识别信息进行编码,从而能够快速鉴别回复。这种方法使得ZMap的扫描速度比传统的工具(如Nmap)快出1000倍以上。

  3. 多种协议支持:ZMap支持多种协议的探测,包括TCPSYN扫描、ICMP查询、DNS请求等。此外,它还支持通过自定义的负载进行UDP探测。

  4. 模块化设计:ZMap的设计允许用户指定和编写自己的探测模块,并且可以选择输出的字段,方便用户根据需求进行定制化的扫描。

  5. 网络研究工具:ZMap被广泛用于网络研究,例如监测HTTPS的普及情况、评估网络中断的影响(如自然灾害导致的网络服务中断),以及发现网络中的漏洞等。

使用场景
  • 网络安全:可以用于发现网络中的漏洞和潜在的安全威胁。
  • 网络研究:用于分析互联网的结构和变化趋势,例如HTTPS的普及率。
  • 应急响应:在自然灾害或其他紧急情况下,快速评估网络受损情况。

 一、如何优化ZMap的扫描速度

  1. 调整发包速率:ZMap允许用户指定发包速率。通过设置较高的发包速率,可以加快扫描速度。然而,需要注意的是,过高的发包速率可能会导致网络拥塞或触发网络设备的安全机制,因此需要根据实际情况进行调整。

  2. 使用多线程或分布式扫描:如果硬件资源允许,可以考虑使用多线程或分布式扫描来进一步提高扫描速度。多线程扫描可以利用多核CPU的性能,而分布式扫描则可以将扫描任务分散到多台机器上,以充分利用计算资源。

  3. 优化网络环境:确保扫描任务所在的网络环境稳定且带宽充足。如果网络环境不稳定或带宽受限,可能会导致扫描速度下降。此外,尽量避免在高峰时段进行大规模扫描,以免影响其他网络活动。

  4. 调整扫描范围和选项:根据实际需求,适当缩小扫描范围或减少扫描选项,可以有效提高扫描速度。例如,如果只需要扫描特定端口或特定类型的设备,可以使用相应的选项来过滤掉不必要的扫描对象。

  5. 使用合适的硬件设备:选择高性能的网络设备和计算机硬件,可以显著提高ZMap的扫描速度。例如,使用高速网络接口卡(NIC)和大容量内存的计算机,可以更好地处理大量并发数据包。

  6. 定期更新软件:确保使用最新版本的ZMap软件,因为新版本可能包含了性能优化和错误修复,这些都可以帮助提高扫描速度。

二、ZMap 基本使用命令

主要参数

-p, --target-port=port:指定扫描的目标端口

-o, --output-file=name:把结果写入指定文件

-b, --blacklist-file=path :IP地址黑名单

-n, --max-targets=n            
最大扫描IP地址数量,-n 100 表示总归扫描100个ip地址。也可指定 –n 0.1%形式,表示扫描除去黑名单列表里面全网段的0.1%数量的IP地址。

-N, --max-results=n:最大扫描到结果的IP数量,-N 100 表示扫描到100个存在的结果就停止。

-t, --max-runtime=secs:最大扫描时间,-t 10 表示程序运行10s结束。

-r, --rate=pps:设置每秒发送包的数量 –r 10000 表示每秒发送10k个包。

-B, --bandwidth=bps:设置每秒发送包的大小,-B 10M 表示每秒发送10Mbps 支持单位(GMK)。

-c, --cooldown-time=secs:设置数据包发送完之后多长时间开始接受数据(response),默认8s,TCP连接异步接受。

-e, --seed=n:设置扫描随机地址的顺序,C语言中的伪随机种子,指定 定值每次随机扫描的IP地址顺序是一样。

-T, --sender-threads=n:设置扫描线程。默认是1,经测试单线程基本是把网络带宽充分利用。

-P, --probes=n:设置往每个IP发送包的数量,默认为1。(DDOS的参数之一)。

-d, --dryrun:打印出每个包的内容,非常实用的功能。

-s, --source-port=port|range:设置扫描的源端口,可指定范围 –s 30000-50000。(DDOS的参数之一)。

-S, --source-ip=ip|range:设置扫描的源IP地址,可指定范围-S 100.100.0.1-200.200.200.200(DDOS的参数之一)。

-G, --gateway-mac=addr:设置网关的mac地址,可伪造。(DDOS的参数之一)

-M, --probe-module=name
设置扫描模式,参数tcp_synscan(默认),icmp_echoscan(ping扫描),udp(测试速度要逊于前两个),这里可自定义自己的模块,ZMAP作者后续会增加例如自定义UDP payload 的选项。

-O, --output-module=name:设置结果输出模块,参数simple_file(默认),extended_file。

--quiet:安静状态下运行,不把进度信息打印到屏幕上

--summary:输出结果汇总,对研究人员来说 非常有帮助。

三、ZMap多线程扫描配置方法

要在ZMap中配置多线程扫描,可以使用-T--sender-threads选项来指定发包的线程数。以下是具体的配置方法:

1、基本配置

假设你想使用4个线程来进行扫描,可以使用以下命令:

zmap -T 4 -p 80 -o results.csv 

在这个命令中:

  • -T 4:指定使用4个线程进行扫描。
  • -p 80:指定扫描的目标端口为80。
  • -o results.csv :将扫描结果输出到results.csv 文件。
2、高级配置

如果你需要更高级的配置,可以结合其他选项来优化扫描过程。例如,你可以设置带宽限制、目标IP范围等。以下是一个更复杂的例子:

zmap -T 4 --bandwidth=10M --target-port=80 --max-targets=10000 --output-file=results.csv 

在这个命令中:

  • -T 4:指定使用4个线程进行扫描。
  • --bandwidth=10M:设置带宽限制为10 Mbps。
  • --target-port=80:指定扫描的目标端口为80。
  • --max-targets=10000:设置最大扫描目标数为10000。
  • --output-file=results.csv :将扫描结果输出到results.csv 文件。

注意事项

  1. 硬件资源:多线程扫描会消耗更多的CPU和内存资源,确保你的硬件能够支持多线程操作。
  2. 网络带宽:多线程扫描会增加网络流量,确保你的网络带宽足够,以避免网络拥塞。
  3. 权限:在某些操作系统中,使用多线程扫描可能需要管理员权限。

 四、如何监控ZMap扫描性能

监控ZMap扫描性能是确保扫描任务高效运行的重要步骤。以下是一些方法和工具,可以帮助你监控ZMap的扫描性能:

  1. 系统监控工具
    • htop:这是一个交互式的实时进程查看器,可以显示CPU、内存和网络的使用情况。你可以通过它来监控ZMap进程的资源消耗。
    • vmstat:这个命令行工具可以报告关于CPU、内存和I/O的统计数据,适合用于监控系统的整体性能。
    • iostat:这个工具可以显示CPU和I/O设备的活动情况,有助于了解磁盘I/O的性能。
  2. 网络监控工具
    • iftop:这个工具可以实时显示网络接口上的带宽使用情况,帮助你监控ZMap扫描过程中网络流量的变化。
    • nload:另一个实时网络流量监控工具,可以显示入站和出站流量的图表。
  3. 日志分析
    • ZMap生成的日志文件包含了详细的扫描信息,包括扫描进度、发送和接收的数据包数量、命中率等。通过分析这些日志,你可以了解扫描任务的效率和潜在问题。
  4. 自定义脚本
    • 你可以编写自定义的脚本来监控ZMap的性能。例如,可以使用Python或其他编程语言编写脚本,定期读取系统资源使用情况和ZMap的输出日志,并将结果记录到文件或数据库中,以便后续分析。
  5. 使用专业监控软件
    • Prometheus + Grafana:这是一个强大的监控和可视化组合,可以收集各种系统和应用的指标,并通过Grafana创建自定义的仪表盘来展示这些数据。
    • Nagios:一个广泛使用的网络和系统监控工具,可以监控服务器、网络设备和其他基础设施的健康状况。
  6. 内置监控功能
    • ZMap本身也提供了一些内置的监控功能,例如实时显示扫描进度和统计数据。你可以通过命令行参数来启用这些功能,例如--verbose可以增加输出的详细程度。

通过结合使用以上方法和工具,你可以全面监控ZMap的扫描性能,及时发现和解决潜在的问题,确保扫描任务的高效运行。

 五、ZMap的下载安装

注意注意注意!!!!

直接就下载安装,不要想那么多!!!!

1、kali先换源

把之前kali默认的源先用# 注释掉,下面是中科大的源,直接复制就可以用

┌──(root㉿kali)-[~/Desktop]
└─# vim  /etc/apt/sources.list


# See https://www.kali.org/docs/general-use/kali-linux-sources-list-repositories/
#deb http://http.kali.org/kali kali-rolling main contrib non-free non-free-firmware
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free non-free-firmware contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free non-free-firmware contrib
# Additional line for source packages
# deb-src http://http.kali.org/kali kali-rolling main contrib non-free non-free-firmware

2、kali 进行更新
┌──(root㉿kali)-[~/Desktop]
└─# apt-get update
3、ZMap安装必要的编译环境
┌──(root㉿kali)-[~/Desktop]
└─# apt-get install -y build-essential cmake libgmp3-dev gengetopt libpcap-dev flex byacc libjson-c-dev pkg-config libunistring-dev
4、kali直接下载zmap
┌──(root㉿kali)-[~/Desktop]
└─# apt install zmap -y
5、下载zmap而没有带 -y

怎么办???按照提示,把zmap先卸载就行

┌──(root㉿kali)-[~/Desktop]
└─# apt autoremove zmap        

6、验证是否安装成功

┌──(root㉿kali)-[~/Desktop]
└─# zmap --version             
zmap 2.1.1

7、使用zmap

┌──(root㉿kali)-[~/Desktop]
└─# zmap -p 80 -o ip.txt     

未完待续~~~!!!! 将zmap 爬取的IP进行验活

标签:ZMap,SRC,--,Zmap,扫描,kali,红蓝,多线程,zmap
From: https://blog.csdn.net/m0_62828084/article/details/143897456

相关文章