主动扫描系列文章(2):masscan/zmap扫描主机与端口

2024-06-15 16:48

本文主要是介绍主动扫描系列文章(2):masscan/zmap扫描主机与端口,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

20200914 -

目录

主动扫描系列文章(1):nmap的基础使用
主动扫描系列文章(2):masscan/zmap扫描主机与端口
主动扫描系列文章(3):nmap与masscan的配合使用

0. 引言

以nmap的速率来说,扫描速率是比不上masscan和zmap的。对于masscan的具体原理没有看,但是我看了一下发出的流量,都是类似mirai的方式,也就是说,直接发送大量syn包,然后来收包;不过nmap也能基于这种方式-sS,那为什么masscan比nmap快呢?这个问题暂时没想清楚。可能是跟他自己实现了协议栈有关。在masscan的github_masscan上可以看到,他是实现了以小型的自己的协议栈,如果要实现指纹的扫描的话,就必须利用别的IP来替代自己的IP或者别的手段,总之都是收包。

1. 使用命令

安装

yum install -y masscan

1.1 指定速率

在使用masscan的过程中一定要指定速率,不然就只能以默认较小的速率进行运转。

masscan --rate 100000 some_cmd

1.2 扫描主机是否存活

如果是查看主机是否存活,使用icmp来进行探测。

masscan --ping 10.0.0.0/16 --rate 100000 

1.3 探测端口

探测端口的方式就是之前谈到的利用mirai的方式。

masscan --rate 100000 -p80 10.0.0.0/16

上述命令只是探测了80端口,但其指定范围,例如下面指定端口的方式。

-p80,81,8000-8080

1.4 其他命令

masscan还可以添加一些其他的参数,例如黑名单排除,输出的格式等,这些可以参考[1]。

2. 快速扫描

在masscan的说明中说到,他可以几分钟之内扫描整个IP空间,但实际上并不是你想扫就可以弄的, 这必然是在网卡和驱动的支持下,同时自己也得相应的大流量出口的机器才行。
其使用的方式是利用pf_ring进行包捕获,然后使用了自己的协议栈来实现。
下面列举几个在找资料的时候看到的一些文章。

zmap/masscan 快速扫描网络
Masscan扫描器安装和使用
从 Masscan, Zmap 源码分析到开发实践
上面这篇文章不错,是从原理上来介绍的。

Fastest way to scan all hosts that are online
这篇文章其实是说明nmap的,所以还是有些不一样的,不过这里可以记录一下。

参考

[1]github_masscan

这篇关于主动扫描系列文章(2):masscan/zmap扫描主机与端口的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1064022

相关文章

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

Linux实现查看某一端口是否开放

《Linux实现查看某一端口是否开放》文章介绍了三种检查端口6379是否开放的方法:通过lsof查看进程占用,用netstat区分TCP/UDP监听状态,以及用telnet测试远程连接可达性... 目录1、使用lsof 命令来查看端口是否开放2、使用netstat 命令来查看端口是否开放3、使用telnet

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of

MySQL多实例管理如何在一台主机上运行多个mysql

《MySQL多实例管理如何在一台主机上运行多个mysql》文章详解了在Linux主机上通过二进制方式安装MySQL多实例的步骤,涵盖端口配置、数据目录准备、初始化与启动流程,以及排错方法,适用于构建读... 目录一、什么是mysql多实例二、二进制方式安装MySQL1.获取二进制代码包2.安装基础依赖3.清

nginx中端口无权限的问题解决

《nginx中端口无权限的问题解决》当Nginx日志报错bind()to80failed(13:Permissiondenied)时,这通常是由于权限不足导致Nginx无法绑定到80端口,下面就来... 目录一、问题原因分析二、解决方案1. 以 root 权限运行 Nginx(不推荐)2. 为 Nginx

Spring Boot 结合 WxJava 实现文章上传微信公众号草稿箱与群发

《SpringBoot结合WxJava实现文章上传微信公众号草稿箱与群发》本文将详细介绍如何使用SpringBoot框架结合WxJava开发工具包,实现文章上传到微信公众号草稿箱以及群发功能,... 目录一、项目环境准备1.1 开发环境1.2 微信公众号准备二、Spring Boot 项目搭建2.1 创建

zookeeper端口说明及介绍

《zookeeper端口说明及介绍》:本文主要介绍zookeeper端口说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、zookeeper有三个端口(可以修改)aVNMqvZ二、3个端口的作用三、部署时注意总China编程结一、zookeeper有三个端口(可以

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

Python主动抛出异常的各种用法和场景分析

《Python主动抛出异常的各种用法和场景分析》在Python中,我们不仅可以捕获和处理异常,还可以主动抛出异常,也就是以类的方式自定义错误的类型和提示信息,这在编程中非常有用,下面我将详细解释主动抛... 目录一、为什么要主动抛出异常?二、基本语法:raise关键字基本示例三、raise的多种用法1. 抛

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存