ubuntu 开放端口_Masscan端口扫描工具使用小手册

d7708c85686584427cecca05217dd0eb.png

7b06d9c022d1366c789e8ffd270d9228.png

1Masscan介绍

1.1 Masscan简介

1) nmap是端口扫描仪的合法王位,而今天仍然是最通用的选择。但对于纯粹的速度也有一些已经超越了它,包括scanrand,unicornscan,zmap,和现在的masscan(https://github.com/robertdavidgraham/masscan)。

2) masscan相比nmap之所以快很多,masscan采用了异步传输方式,无状态的扫描方式。nmap需要记录tcp/ip的状态,os能够处理的TCP/IP连接最多为1500左右。

3) masscan是为了尽可能快地扫描整个互联网而创建的,根据其作者robert graham,这可以在不到6分钟内完成,每秒大约1000万个数据包。

1.2 Masscan的基本功能

1) 端口扫描(Port Scanning):采用了无状态的扫描技术,没有进行完整的TCP三次握手,因此扫描速度极大提升。基本功能是扫描发现主机的开放端口

1.3 Massca的扫描原理

1) Masscan不建立完整的TCP连接,收到SYN/ACK之后,发送RST结束连接(类似于nmap的TCP SYN scanning,选项--banners除外。)

4a9c6f993bddc7f6ca24ac430773265a.png

2 Masscan安装

2.1 Linux下Masscan安装:(kali系统已自带Masscan)

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

# sudo apt-get install git gcc make libpcap-dev

# git clone 

https://github.com/robertdavidgraham/masscan

# cd masscan

# make

2) Windows下安装请参考:

https://www.4hou.com/penetration/6173.html

https://github.com/robertdavidgraham/masscan/

3Masscan基本扫描命令

3.1.命令参数

-p [ports,–ports]

指定端口进行扫描

--banners

获取banner信息,支持少量的协议

--rate [packets-per-second]

指定发包的速率

-c [filename], --conf [filename]

读取配置文件进行扫描

--echo

将当前的配置重定向到一个配置文件中

-e [ifname] , --adapter [ifname]

指定用来发包的网卡接口名称

--adapter-ip [ip-address]

指定发包的IP地址

--adapter-port [port]

指定发包的源端口

--adapter-mac [mac-address]

指定发包的源MAC地址

--router-mac [mac address]

指定网关的MAC地址

--exclude [ip/range]

IP地址范围黑名单,防止masscan扫描

--excludefile [filename]

指定IP地址范围黑名单文件

--includefile,-iL [filename]

读取一个范围列表进行扫描

--ping

扫描应该包含ICMP回应请求

--append-output

以附加的形式输出到文件

--iflist

列出可用的网络接口,然后退出

--retries

发送重试的次数,以1秒为间隔

--nmap

打印与nmap兼容的相关信息

--http-user-agent [user-agent]

设置user-agent字段的值

--show [open/close]

告诉要显示的端口状态,默认是显示开放端口

--noshow [open/close]

禁用端口状态显示

--pcap [filename]

将接收到的数据包以libpcap格式存储

--regress

运行回归测试,测试扫描器是否正常运行

--ttl [num]

指定传出数据包的TTL值,默认为255

--wait [seconds]

指定发送完包之后的等待时间,默认为10秒

--offline

没有实际的发包,主要用来测试开销

-sL

不执行扫描,主要是生成一个随机地址列表

--readscan [binary-files]

读取从-oB生成的二进制文件,可以转化为XML或者JSON格式

--connection-timeout [secs]

抓取banners时指定保持TCP连接的最大秒数,默认是30秒

   注:[options] 括号内为可选参数

3.2使用示例

3.2.1使用方法

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

# masscan -p80 192.168.1.0/24 

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

a) 扫描192.168.1.0子网

b) 扫描端口80(也可以指定端口段,例如8000-8100)

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

3) 使用 --echo 可以将当前的配置输出到配置文件,也可使用 -c 来制定配置文件进行扫描

# masscan -p80 192.168.1.0/24 --echo > xxx.conf

# masscan -c xxx.conf --rate 1000

3.2.2 Banner获取

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

# masscan -p80 192.168.1.0/24 --banners

这条命令的意思是扫描192.168.1.0网段80端口的开放信息,并且获取banner信息。

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

a) Linux的配置如下

# iptables -A INPUT -p tcp --dport 60000 -j DROP

# masscan 192.168.1.0/24 -p80 --banners --source-port 60000

b) MAC OS X和BSD的配置如下

# sudo ipfw add 1 deny tcp from any to any 60000 in

# masscan 192.168.1.0/24 -p80 --banners --source-port 60000(source-port指源端口)

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

3.2.3扫描全网

1) Masscan号称可以在三分钟内扫描整个互联网的所有端口,您当然可以做一下测试。使用的命令如下:

# masscan 0.0.0.0/0 -p0-65535

2) 但是有时候扫描一些网段,可能会让你获得被请去喝茶的机会。所以,我们可以通过设置排除名单,来让扫描器扫描时忽略一些网段。使用的命令如下:

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

3) 你也可以把扫描的结果不输出到命令行,-oX可以将结果输出到指定文件中:

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

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

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

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

5) 当然在命令一条条的敲命令显得有点麻烦,我们可以通过创建配置文件,并用加载配置文件的方式运行。配置文件的内容如下所示:

rate = 100000

output-format = xxx

output-status = all

output-filename = xxx.xxx

ports = 0-65535

range = 0.0.0.0-255.255.255.255

excludefile = exclude.txt

扫描时,使用之前提到的 -c 参数加载配置文件,这样,你进行重复扫描会省很多的力气。

3.2.4 结果输出

1) 主要有5种输出的格式:

a) XML 默认格式 使用-oX 或者使用 –output-format xml 和 –output-filename 进行指定;

b) binary masscan内置格式;

c) grepable nmap格式 使用 -oG 或者 –output-format grepable 和 –output-filename 进行指定;

d) json 使用 -oJ 或者 –output-format json 和 –output-filename 进行指定;

e) list 简单的列表,每行一个主机端口对。使用-oL 或者 –output-format list 和 –output-filename 进行指定;

3.2.5传输速度

1) 在机器性能和宽带性能较高的前提下,masscan的发包速度非常快,在windows中,它的发包速度可以达到每秒30万包;在Linux中,速度可以达到每秒160万。masscan在扫描时会随机选择目标IP,所以不会对远程的主机造成压力。

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

4结语

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

13a8f9e418fc1b34ce2f8a45e2717fac.png

3df10a5371ac7e103cea7cece2c02710.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/431397.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

hdu4277 暴力

hdu4277 暴力 USACO ORZ Time Limit : 5000/1500ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submission(s) : 4 Accepted Submission(s) : 2 Problem DescriptionLike everyone, cows enjoy variety. Their current fancy is new shapes for pastu…

多线程设置操作时间间隔_听说,有位Java程序员学完这59道多线程面试题之后,直接面上阿里...

前言多线程是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。具有这种能力的系统包括对称多处理机、多核心处理器以及芯片级多处理或同时多线程处理器。软件多线程&…

svm多分类代码_监督学习——分类算法I

本文是监督学习分类算法的第一部分,简单介绍对样本进行分类的算法,包括判别分析(DA)支持向量机(SVM)随机梯度下降分类(SGD)K近邻分类(KNN)朴素贝叶斯分类(NaiveBayes)判别分析(Discriminant Analysis) 判别分析是基于条件概率的分类方法,可以…

oracle awr报告提取,Oracle AWR报告提取方法

默认情况下,oracle是启用数据库统计收集这项功能(AWR)通过show parameter statistics_level来判断是否启用值为TYPICAL或者ALL表示启用AWR值为BASIC,表示禁用AWR1.当前连接实例的AWR报告提取:?/rdbms/admin/awrrpt以sysdba身份登录。SQL>…

关键词组合工具_SEO学习:如何挖掘行业关键词?关键词挖掘策略和工具推荐

关键词是驱动流量增长的基础!挖掘关键词是SEO工作的重中之重。如何快速挖掘到行业相关的所有关键词?我们一起了解下。本文大纲如下:拓展和筛选网站主词挖掘搜索引擎推荐关键词业务相关词的挖掘同行关键词的挖掘关键词组合拓展1、拓展和筛选网…

活体检测python_活体检测很复杂?仅使用opencv就能实现!(附源码)!

摘要: 活体检测在各行各业应用比较广泛,如何实现一个活体检测系统呢?早期实现很困难,现在仅使用opencv即可实现,快来尝试一下吧。什么是活体检测,为什么需要它?随着时代的发展,人脸识…

oracle安装命令大全,oracle安装教程及常用命令

虽然网上已经有很多安装教程了,但还是写一个记录一下自己的安装过程以及遇到问题的解决办法1 安装包下载:去oracle的官网 选择DownLoads->database->oracle database:选择接受选择Windows 64的下载,选择file1,和file2,注意两个文件都要下载,下载时要求登录,有oracle账户的…

规格选择_日常使用的拉杆箱脚轮选择哪种规格最合适?

大家可能在采购拉杆箱脚轮的时候,都会有一个问题,拉杆箱脚轮规格选择哪种比较好呢?万向轮好还是单向轮?是万向轮还是单向轮比较耐磨?脚轮厂家诺贝小编接收到大家的疑问,接下来将告诉大家拉杆箱脚轮选择的规…

ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)

1   ERROR: transport error 202: bind failed 2 ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510) 3 JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:690] 4 …

php session存到redis,php Session存储到Redis的方法

php Session存储到Redis的方法当然要写先安装php的扩展,可参考这篇文章:Redis及PHP扩展安装修改php.ini的设置复制代码 代码如下:session.save_handler redissession.save_path “tcp://127.0.0.1:6379″修改后重启php-fpm或nginx,phpinfo(…

ajax ssm 页面跳转_SSM框架的面试常见问题

阅读文本大概需要9分钟。一、Spring面试题1、Spring 在ssm中起什么作用?Spring:轻量级框架作用:Bean工厂,用来管理Bean的生命周期和框架集成。两大核心:IOC/DI(控制反转/依赖注入) :把dao依赖注入到service…

运维工程师绩效考核表_IT运维存在问题及改进

欢迎大家一起学习交流https://t.zsxq.com/imimAYF​t.zsxq.com1.1 IT运维机制不完善,流程操作层面缺乏统一 没有建立起稳定、规范的IT运维机制。现有的IT运维流程的操作层面缺乏统一。如事件单提交之后,事件预判和优先级的设定缺少统一、规范的指导文档&…

在linux中 要删除abc目录,操作系统原理与应用(linux)A卷

福州外语外贸职业技术学院2010-2011学年第一学期(期末)试卷09 级网络系统管理专业操作系统原理与应用(linux)科目(A )卷课程代码考试形式闭卷考试时量 120 分钟姓名__ _______ _级班学号____ __1.操作系统是一种( )A.系统软件B.系统硬件C.应用软件D.支援软件2.MS—DOS的存贮管理…

数据产品经理修炼手册pdf_【尼读书】数据产品经理修炼手册(附思维导图)

前言:进入一个行业,除了要多在工作中实践和思考之外,还需要多读书。这样能够站在一个更高的角度去看问题,往往会对问题有更全面的掌握和新的认知。在【尼读书】这个栏目中,尼同学通过自己读书后的理解和整理与大家分享…

WebStorm 预览时把浏览器地址localhost 改成IP

最近在使用WebStorm时,预览网页时地址总是显示的 http://localhost:63342/... ,如果要调试其它设备感觉很不方法,此时肯定首先想到的亲爱的度娘,但是貌似没有真正很解决问题的(可能是我搜索方法不对)。最后…

linux内存管理的主要概念是虚拟内存,你知道linux内存管理基础及方法?

描述一、基本概念(1)物理内存和虚拟内存物理内存:系统硬件提供的真实物理内存虚拟内存:利用磁盘空间虚拟出的一块逻辑内存,用作虚拟内存的磁盘空间被称为swap,swap类似于windows的虚拟内存。1、linux的内存管理采取的分页存取机制…

R plot图片背景设置为透明_R语言入门第十二讲:基础绘图(二)------plot与par函数(1)...

上一次给大家简单展示了plot函数的用法,以及par函数的使用。今天我们继续应用这两个函数,看看它的其他功能。下面这个图是数据的一部分[1]。我一直认为,作图简单,但关键是要知道数据在数据库中的格式,才能更好的应用到…

visual studio 2015 搭建python开发环境,python入门到精通[三]

在上一篇博客Windows搭建python开发环境,python入门到精通[一]很多园友提到希望使用visual studio 2013/visual studio 2015 python做demo,这里略带一句,其实就"学习python"而言,比较建议使用pycharm,pychar…

如何给打印机墨盒加墨

今天打印东西突然遇到问题了,显示墨盒黑色没墨了,网上一搜,整套的墨盒大几十,随手换了一个关键词 墨盒墨水 这下不到十块钱解决,正好锻炼下自己的动手能力(其实就是穷嘛。。。) 接下来就分享下动…

全局莫兰指数_空间自相关 | 莫兰指数

空间自相关:是指一些变量在同一个分布区内的观测数据之间潜在的相互依赖性。其中,自相关中的“自”表示当你进行相关性观察统计量,是来源于不同对象的同一属性。Tobler(1970)曾指出“地理学第一定律:任何东西与别的东西之间都是相…