问答
发起
提问
文章
攻防
活动
Toggle navigation
首页
(current)
问答
商城
实战攻防技术
漏洞分析与复现
NEW
活动
摸鱼办
搜索
登录
注册
如何快速扫描全网端口
安全工具
如果我们想扫描全网端口开放情况该怎么办?这种...
如果我们想扫描全网端口开放情况该怎么办?这种场景主要的需求是快速,全网 IP 的数量有 2 的 32 次方个,如何在短时间内扫描全网端口开放情况,网络空间搜索引擎在做端口扫描的时候使用的是什么技术? 业界知名的快速端口扫描工具有两种,分别是 zmap 和 masscan,常规端口扫描方式,在验证端口是否开放的时候,发送完数据包之后,等待目标返回数据包,这其中有一个等待的时间,如果遇到网络环境比较差,延时就会变长,所以就有大佬设计了另外一种扫描方式,将发生数据包和接收数据包分成两个阶段,将等待时间消除,发包程序只管发包,收包程序获得反馈之后,将结果进行记录,这样就能尽可能的减少等待的时间,从而提升扫描的速度。 ### Zmap Zmap 是美国密歇根大学研究者开发出一款工具。在第 22 届 USENIX 安全研讨会,以超过 nmap 1300 倍的扫描速度声名鹊起。相比大名鼎鼎的 nmap 全网扫描速度是他最大的亮点。在千兆网卡状态下,45 分钟内扫描全网络 IPv4 地址。 官方地址: > <https://zmap.io> [![](https://shs3.b.qianxin.com/attack_forum/2021/05/attach-c87ea23663afba5adf4efbaf08a78dcb729fcf7b.png)](https://shs3.b.qianxin.com/attack_forum/2021/05/attach-c87ea23663afba5adf4efbaf08a78dcb729fcf7b.png) 除了 Zmap 之外,还有不少别的程序,比如: 1、ZGrab 获取端口 banner 信息,支持 HTTP, HTTPS, SSH, Telnet, FTP, SMTP, POP3, IMAP, Modbus, BACNET, Siemens S7, 和Tridium Fox。 2、ZDNS 收集网络上存在域传送漏洞的 DNS 服务器上的 DNS 解析记录,支持 A, AAAA, ANY, AXFR, CAA, CNAME, DMARC, MX, NS, PTR, TXT, SOA, 和 SPF 记录。 这些扫描数据都可以在线下载,数据存储网站: > <https://opendata.rapid7.com> [![](https://shs3.b.qianxin.com/attack_forum/2021/05/attach-56f3c041b95c3185cf09d5c2bcbcf12fe7aa0b85.png)](https://shs3.b.qianxin.com/attack_forum/2021/05/attach-56f3c041b95c3185cf09d5c2bcbcf12fe7aa0b85.png) 使用 Zmap 的前提条件是需要一个具有公网 IP 的服务器,并且带宽大小决定了扫描的速度,开源项目地址: > <https://github.com/zmap/zmap/> 安装方式: > <https://github.com/zmap/zmap/blob/master/INSTALL.md> 我的测试服务器是 Centos 8,所以需要编译安装: > yum install cmake gmp-devel gengetopt libpcap-devel flex byacc json-c-devel libunistring-devel [![](https://shs3.b.qianxin.com/attack_forum/2021/05/attach-2cf9a454d20b372a9e83b13eddd5f94200ea0a41.png)](https://shs3.b.qianxin.com/attack_forum/2021/05/attach-2cf9a454d20b372a9e83b13eddd5f94200ea0a41.png) 安装必要环境报错,缺少 gengetopt 、libpcap-devel 、 json-c-devel 、libunistring-devel,需要一一手动安装: ```php # install gengetopt rpm -vi https://forensics.cert.org/centos/cert/8/x86_64/gengetopt-2.23-1.el8.x86_64.rpm # install libpcap-devel rpm -vi http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/libpcap-devel-1.9.1-4.el8.x86_64.rpm # install json-c-devel http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/json-c-devel-0.13.1-0.2.el8.x86_64.rpm # install libunistring-devel rpm -vi http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/libunistring-devel-0.9.9-3.el8.x86_64.rpm ``` 然后下载代码,编译安装: ```php git clone https://github.com/zmap/zmap/ cd zmap cmake . make -j4 make install ``` 安装完成之后,查看帮助信息: > zmap -h [![](https://shs3.b.qianxin.com/attack_forum/2021/05/attach-2f2b6d0f44408e82fa6b9e3467f0c26d1dc521b3.png)](https://shs3.b.qianxin.com/attack_forum/2021/05/attach-2f2b6d0f44408e82fa6b9e3467f0c26d1dc521b3.png) #### 使用场景一:扫描全网 80 端口 命令参数(1M带宽,随机扫描 1000 个 IP,数据结果到 result.csv): > zmap --bandwidth=1M --target-port=80 --max-targets=1000 --output-file=results.csv > > or > > zmap -B 1M -p 80 -n 1000 -o results.csv [![](https://shs3.b.qianxin.com/attack_forum/2021/05/attach-4811bbb9be87c30d8e05872e744e41d696590c7c.png)](https://shs3.b.qianxin.com/attack_forum/2021/05/attach-4811bbb9be87c30d8e05872e744e41d696590c7c.png) #### 使用场景二:扫码指定网段的 53 端口 命令参数: > zmap -p 53 8.8.8.0/24 [![](https://shs3.b.qianxin.com/attack_forum/2021/05/attach-57505c0895bcfae8d6a58e2337632d896116cd1d.png)](https://shs3.b.qianxin.com/attack_forum/2021/05/attach-57505c0895bcfae8d6a58e2337632d896116cd1d.png) #### 使用场景三:敏感目标禁止扫描 有些比较敏感的 IP 段或者 IP,可以通过编辑 `/etc/zmap/blacklist.conf` 文件排除,比如上面的操作,排除 IP `8.8.8.8`: [![](https://shs3.b.qianxin.com/attack_forum/2021/05/attach-a8f4131e6e3c009eabaf3303375db22f326a49f9.png)](https://shs3.b.qianxin.com/attack_forum/2021/05/attach-a8f4131e6e3c009eabaf3303375db22f326a49f9.png) 结果中未发现黑名单中的 IP。 ### Masscan 这个工具的原理有 zmap 类似,5 分钟内可以扫描完全部互联网,一秒能发 1 亿数据包,项目地址: > <https://github.com/robertdavidgraham/masscan> 该项目有多个发布版本,支持 Windows、linux 等多个平台,本次编译以 centos 8 为例,而 Windows 版查看附件: > git clone <https://github.com/robertdavidgraham/masscan> > cd masscan > make > make install 安装完成之后,查看软件帮助信息: > masscan -h [![](https://shs3.b.qianxin.com/attack_forum/2021/05/attach-c9cb9c463a89022faa5e69b7538efc7547808203.png)](https://shs3.b.qianxin.com/attack_forum/2021/05/attach-c9cb9c463a89022faa5e69b7538efc7547808203.png) 常规使用方法(`-p`参数指定端口,直接跟要扫描的 IP 段): > masscan -p53 8.8.8.0/24 [![](https://shs3.b.qianxin.com/attack_forum/2021/05/attach-2440a5ad4e867ca848123a89842659b013569ca1.png)](https://shs3.b.qianxin.com/attack_forum/2021/05/attach-2440a5ad4e867ca848123a89842659b013569ca1.png) 扫描端口时,可以使用参数 `--banners` 获取端口上的 banner 信息: > masscan -p80 47.94.225.0/24 --banners [![](https://shs3.b.qianxin.com/attack_forum/2021/05/attach-8353379369749b04518bd530a3fceadb8250d8df.png)](https://shs3.b.qianxin.com/attack_forum/2021/05/attach-8353379369749b04518bd530a3fceadb8250d8df.png) 全网扫描方式: > masscan 0.0.0.0/0 -p0-65535 如果需要排除某些网段,需要使用 `--excludefile` 指定文件,文件中保存需要排除的 IP 或者网段信息: > masscan 0.0.0.0/0 -p0-65535 --excludefile exclude.txt 如果需要保存获得的结果,使用 `-oX` 参数: > masscan 0.0.0.0/0 -p0-65535 -oX scan.x ml 如果想要提高或者降低扫描速率,需要用参数 `--max-rate`指定: > masscan 0.0.0.0/0 -p0-65535 --max-rate 100000 如果对 nmap 熟悉的话,masscan 兼容了 nmap 的参数,可以使用 `--nmap`参数查看帮助: > masscan -nmap [![](https://shs3.b.qianxin.com/attack_forum/2021/05/attach-837c199e01239b9a7b9731ef02cc11ad0e294aee.png)](https://shs3.b.qianxin.com/attack_forum/2021/05/attach-837c199e01239b9a7b9731ef02cc11ad0e294aee.png) 并非 nmap 的全部功能都支持,比如识别主机系统类型就不行,简单测试一下: > masscan -sS -Pn 47.94.225.0/24 -p 80 [![](https://shs3.b.qianxin.com/attack_forum/2021/05/attach-6c7aae44f3cf4eb068c0ec30f59f3d9eed511105.png)](https://shs3.b.qianxin.com/attack_forum/2021/05/attach-6c7aae44f3cf4eb068c0ec30f59f3d9eed511105.png) 更多使用方式,请看官方文档。 ### 总结 本文介绍了两款快速端口扫描的工具,无论对于攻击者还是防御者都是用广泛,用于监控资产情况变化,防止运维人员有意无意的开放一些端口到外部,也可以及时发现可以利用的临时开放的服务。
发表于 2021-05-26 17:32:40
阅读 ( 12060 )
分类:
安全工具
3 推荐
收藏
0 条评论
请先
登录
后评论
myh0st@信安之路
2 篇文章
×
发送私信
请先
登录
后发送私信
×
举报此文章
垃圾广告信息:
广告、推广、测试等内容
违规内容:
色情、暴力、血腥、敏感信息等内容
不友善内容:
人身攻击、挑衅辱骂、恶意行为
其他原因:
请补充说明
举报原因:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!