介绍

Masscan号称是最快的互联网端口扫描器,最快可以在六分钟内扫遍互联网。

masscan的扫描结果类似于nmap(一个很著名的端口扫描器),在内部,它更像scanrand, unicornscan, and ZMap,采用了异步传输的方式。它和这些扫描器最主要的区别是,它比这些扫描器更快。而且,masscan更加灵活,它允许自定义任意的地址范和端口范围。

安装配置

在Debian/Ubuntu系统中,安装方法如下:

$ sudo apt-get install git gcc make libpcap-dev$ git clone https://github.com/robertdavidgraham/masscan$ cd masscan$ make

注:安装完成后的可执行程序在masscan/bin中

您也可以使用多线程加快编译速度 make -j

PF_RING

如果您想获得超过两百万每秒的速度,您需要一个英特尔10-Gbps网卡和一个被称为PF_RING DNA(http://www.ntop.org/products/pf_ring/)的特殊驱动程序。masscan使用PF_RING不要进行重建,你只需要建立以下组件即可:

libpfring.so (安装于 /usr/lib/libpfring.so)pf_ring.ko (pf_ring自己的内核驱动)ixgbe.ko (英特尔10-gbps网卡驱动)

你不要建立自己的libpcap.so

当masscan检测到网卡为dna0时,将自动切换为PF_RING模式

自我测试

当安装完成是可以测试一下是否安装成功:

$ make regressbin/masscan --regressselftest: success!

使用方法

使用方法类似于nmap,扫描指定网段范围的指定端口

# masscan -p80,8080-8100 10.0.0.0/8

这条命令将完成如下工作:

1、扫描10.x.x.x子网,大约有1600万个地址

2、扫描端口80和8000-8100范围的端口段

3、打印结果到标准输出,也可以重定向到一个文件

也可以 –echo 将当前的配置输出到一个配置文件,利用 -c 来制定配置文件进行扫描

# masscan -p80,8000-8100 10.0.0.0/8 --echo > xxx.conf# masscan -c xxx.conf --rate 1000

Banner获取

masscan不仅仅只是测试端口是否开放,它还能在完成TCP连接的同时获取目标应用程序的Banner信息。

# masscan 10.0.0.0/8 -p80 --banners --source-ip x.x.x.x

这条命令的意思是扫描10.x.x.x网段80端口的开放信息,并且获取banner信息。–source-ip 是指定源IP,这个ip必须指定独立有效的IP地址。

您可以通过配置防火墙来防止masscan的返回不了信息的情况

Linux可以在这样配置

# iptables -A INPUT -p tcp --dport 60000 -j DROP# masscan 10.0.0.0/8 -p80 --banners --source-port 60000

MAC OS X和BSD可以这样配置

# sudo ipfw add 1 deny tcp from any to any 60000 in# masscan 10.0.0.0/8 -p80 --banners --source-port 60000

您也可以检查其他类型的信息,例如心脏出血漏洞 –heartbleed,方法和获取banner是一样的

扫描全网

您可以对整个互联网发起扫描,使用的命令如下

masscan 0.0.0.0/0 -p0-65535

有时候对这个互联网扫描可能会对你造成一些麻烦,你可能会被请去喝茶。所以,我们可以通过设置黑名单来让扫描器扫描时忽略一些网段。语法如下:

# masscan 0.0.0.0/0 -p0-65535 --excludefile exclude.txt

你也可以把扫描的结果不输出到命令行,输出到指定文件中

# masscan 0.0.0.0/0 -p0-65535 -oX scan.xml

这条命令把扫描的结果保存在一个XML文件中

当前的扫描器使用的是默认的速率100包/秒,如果是扫描全网的话,需要提高速度。

# masscan 0.0.0.0/0 -p0-65535 --max-rate 100000

这条命令将以每秒10万包的速率进行扫描

上述的这些命令可能输入起来有点麻烦,我们可以通过创建配置文件,然后用加载配置文件的方式运行。配置文件的内容如下所示:

rate = 100000output-format = xxxoutput-status = alloutput-filename = xxx.xxxports = 0-65535range = 0.0.0.0-255.255.255.255excludefile = exclude.txt

扫描时,用 -c 加载配置文件,这样的话,你进行重复扫描会省很多的力气。

结果输出

主要有5种输出的格式

  • XML 默认格式 使用-oX 或者使用 –output-format xml 和 –output-filename 进行指定
  • binary masscan内置格式
  • grepable nmap格式 使用 -oG 或者 –output-format grepable 和 –output-filename
    进行指定
  • json 使用 -oJ 或者 –output-format json 和 –output-filename 进行指定
  • list 简单的列表,每行一个主机端口对。使用-oL 或者 –output-format list 和 –output-filename
    进行指定

传输速度

masscan的发包速度非常快,在windows中,它的发包速度可以达到每秒30万包;在Linux中,速度可以达到每秒160万。masscan在扫描时会随机选择目标IP,所以不会对远程的主机造成压力。

默认情况下,masscan的发包速度为每秒100包,为了提高速度,可以设置为 –rate 100000

详细参数

IP地址范围,有三种有效格式,1、单独的IPv4地址 2、类似"10.0.0.1-10.0.0.233"的范围地址 3、CIDR地址 类似于"0.0.0.0/0",多个目标可以用都好隔开

-p

> 指定端口进行扫描--banners 获取banner信息,支持少量的协议--rate指定发包的速率-c , --conf 读取配置文件进行扫描--echo 将当前的配置重定向到一个配置文件中-e , --adapter 指定用来发包的网卡接口名称--adapter-ip 指定发包的IP地址--adapter-port

指定发包的源端口

--adapter-mac 指定发包的源MAC地址--router-mac 指定网关的MAC地址--exclude IP地址范围黑名单,防止masscan扫描--excludefile 指定IP地址范围黑名单文件--includefile,-iL 读取一个范围列表进行扫描--ping 扫描应该包含ICMP回应请求--append-output 以附加的形式输出到文件--iflist 列出可用的网络接口,然后退出--retries 发送重试的次数,以1秒为间隔--nmap 打印与nmap兼容的相关信息--http-user-agent 设置user-agent字段的值--show [open,close] 告诉要显示的端口状态,默认是显示开放端口--noshow [open,close] 禁用端口状态显示--pcap 将接收到的数据包以libpcap格式存储--regress 运行回归测试,测试扫描器是否正常运行--ttl 指定传出数据包的TTL值,默认为255--wait 指定发送完包之后的等待时间,默认为10秒--offline 没有实际的发包,主要用来测试开销-sL 不执行扫描,主要是生成一个随机地址列表--readscan 读取从-oB生成的二进制文件,可以转化为XML或者JSON格式.--connection-timeout 抓取banners时指定保持TCP连接的最大秒数,默认是30秒。

参考链接 :
Masscan:最快的互联网IP端口扫描器 : https://www.2cto.com/article/201608/542142.html

1.4 万 Star!迄今为止速度最快的端口扫描器 :https://mp.weixin.qq.com/s/b0VCFVc2tOMMaIQh1pgE3w

Masscan:最快的互联网IP端口扫描器相关推荐

  1. zenmap扫描ip段_zenmap端口扫描工具(ip端口扫描器)V7.71 最新版

    zenmap端口扫描工具(ip端口扫描器)是一款功能强大的端口漏洞扫描工具.害怕出现端口漏洞?zenmap端口扫描工具(ip端口扫描器)轻松帮助用户.功能与NMap一致,交互性好,界面输出更为直观,可 ...

  2. Python IP端口扫描器源码

    import socket import threading from queue import Queue import time, sys def socket_Exec(task):que, i ...

  3. mac/unix系统:C++实现一个端口扫描器

    简易端口扫描器 在比较早以前,我用过S扫描器, 以及大名鼎鼎的nmap扫描器, 可以快速扫描某个主机开放的端口, 今天使用C实现这样一个软件, 编译环境为Mac, 系统版本10.11.6: #incl ...

  4. 端口扫描器(masscan)

    s.exe号称史上最快(3分钟扫完全网)扫描器小巧而精致,大小仅仅8k,但是使用上有诸多限制,例如仅支持再winserver2003 上无条件使用,放到其它系统上就要对系统做一些配置,不然无法支持sy ...

  5. 何为固定IP和动态IP?快解析搞定固定IP端口映射!

    目前,我们上网所使用的有动态IP和静态IP两种,IP地址就是我们上网时所使用的"门牌号".全国目前共有3亿左右的IP地址,我们平时上网拨号,网上冲浪大多数使用的是动态IP.那么,当 ...

  6. [原创]开源跨平台大型网络端口扫描器K8PortScan(支持批量A段/B段/C段/IP列表)

    0x000 K8PortScan Python版Cscan端口扫描器 Code: https://github.com/k8gege/K8PortScan K8portScan 1.0 Date: 2 ...

  7. [Python黑帽] 三.编程实现IP及端口扫描器、实现多线程C段扫描器

    Python黑帽第三篇文章将分享网络扫描基础知识,编程实现IP及端口扫描器.实现多线程C段扫描器.本文参考了<Python绝技>书籍和i春秋ADO老师的课程内容,这里真心推荐大家去学习ic ...

  8. python写端口扫描器_使用Python编写简单的端口扫描器的实例分享

    #!/usr/bin/env python import socket if __name__=='__main__': port=3389 s=socket.socket() for cnt in ...

  9. 【Python脚本进阶】2.1、端口扫描器(上):TCP全连接扫描

    目录 一.简介 1.1.基础: 1.2.TCP: 二.TCP全连接扫描 2.1.简介: 2.2.函数: 2.3.实现: 第一步:获得主机名和端口 第二步: connScan和portScan函数 第三 ...

  10. python 端口扫描_Python学习之端口扫描器(终)

    序 接着学习.其实,在端口扫描工具里面有一个特别出名,那就是nmap,其官方网站是 https://nmap.org/,而Python里面也有一个nmap模块,此次就是使用 python-nmap 模 ...

最新文章

  1. Java: 面向对象程序设计(上)
  2. 条理清晰的搭建SSH环境之添加所需jar包
  3. 数据结构和算法:第七章 排序
  4. python中的PEP是什么?怎么理解?(转)
  5. BugkuCTF-MISC题隐写3
  6. csdn怎样设置友情链接栏目
  7. 常用API2 正则表达式
  8. 学习日记2、easyui treeGrid属性及时间
  9. 中小学生Python课应该学什么
  10. Spring AOP 底层原理_001----AspectJ与CGLIB介绍
  11. 小程序分销商城源码系统+搭建教程+前后端完整版
  12. Guava 系列 - 比较器
  13. 百度导航怎么不显示服务器,win7系统百度首页导航不见了怎么办
  14. 和数传媒:人工智能和区块链可能是典型应用
  15. linux搭建pptp服务器
  16. 运动世界校园显示服务器开小差,你的跑步成绩无效,是否申请成绩异常?
  17. java heap 参数_java heap space解决方法和JVM参数设置--- JVM参数设置和程序优化篇
  18. 利用证书签名绕过杀软
  19. google新操作系统Fuchsia
  20. 【Linux】软件包管理器yum和编辑器vim(内附动图)

热门文章

  1. html 判断输入的是手机号码,用js验证手机号码格式是否正确
  2. 大型电子病历系统【整套源代码分享】
  3. numpy简单快速安装教程
  4. ubuntu16.04快速安装zabbix
  5. 华为手机上的计算机怎么没了,华为手机怎么连接电脑 华为手机连接不上电脑怎么回事 华为手机连接USB没反应...
  6. 超级APP势不可挡--20190706
  7. 定义类,super的使用,super的使用
  8. bootstrap-treeview树形图参数详解
  9. html5 遮罩动画,JavaScript仿flash遮罩动画效果
  10. h5跳转app指定页