端口扫描之王——nmap入门精讲(二)

接着讲上节的内容,上节中提到了一个时间优化的问题是使用参数-n,通过不解析地址来进行优化时间的,但是优化时间的方法还有很多,比如说我们可以通过时间优化(0-5),指定单位时间内的探针数,设置组的大小

时间优化(0-5)

时间优化的参数是(-T0~5),最快的扫描速度为-T5,最慢的扫描速度为-T0,实现的原理:通过设置各个端口的扫描周期,从而来控制整个扫描的时间,比如说T0各个端口的扫描周期大约为5分钟,而T5各个端口的扫描周期为5ms,但是过快的扫描也是有缺点的,扫描的周期过快,会很容易被防火墙和IDS发现并记录,因为防火墙大多数会将端口周期过段识别为扫描从而屏蔽掉,如果不对其进行设置的话,默认值为T4

--min-hostgroup/--max-hostgroup size 设置组的大小
--min-parallelism/--max-parellelism time指定时间内的探针数

具体的使用方法就不做介绍了,有兴趣的话,可以试一试研究一下变知道怎样使用了

在上节中还讲漏了一个知识点获取指定端口的参数(-p),这个参数的意义在于对于我们有时候只想监控某个特定的端口的状态,这个参数是即为有用的,可以节约了不少的时间

例如:监控nmap.org的80端口的状态

命令:nmap -p 80 nmap.org

接下来就进行这一节的主要内容,如果上节没有了解清楚的同学,建议返回上节理解清楚再开始这一节

这一节我们就来讲讲怎样规避被防火墙或IDS发现的风险以及操作的步骤

上节中我们假设的是在一个网络安全较为薄弱的情况下就可以正常进行的,但是正常的网站或者个人都是对安全有一定的防范的,网站中基本上都会存在安全狗、防火墙等规避风险的措施,个人电脑也会安装各种安全软件,所以对于做扫描工作的人来说,我们不知道通过扫描获取相关的信息,同时也要保护好自己的隐私,比如IP等信息,防止被防火墙或者是网络日志所记录下来

在讲这节之前我们来了解一下什么事防火墙?

防火墙的原理图:

防火墙是通过在客户端与服务器端之间搭建一个监控(运行的原理有点像Fiddler),通过对特定开放的端口进行屏蔽掉,从而达到网络安全的作用,防火墙在其功能上也会有一些其他的功能,这个要看防火墙的实际情况

 规避的基本思路是:

1、通过伪造访问的IP地址

2、通过对发送信息进行处理

3、将风险进行嫁接

4、其他的技术

伪造IP地址

伪造IP地址有很多种方法,可以通过下面的这几种方法是我认为比较常见的希望大家能喜欢

一、诱饵扫描(-D)

诱饵扫描的工作原理是:通过伪造大量的IP与自己真实的IP一起访问网站,从而混淆管理员的判断,其中问你们使用ME来代表自己的真实地址

例子:虚构一个IP为203.88.163.34与自己的真实地址去扫描nmap.org

命令:nmap -F -D 203.88.163.34,ME nmap.org

运行的结果如下:

但是在使用伪造的IP的同时,我们要注意要对伪造的IP进行主机发现,来判断主机是否存在,是否开启,因为有些防火墙策略是有这样规定的:如果访问的IP主机是关闭或者是为空的话,就讲所有的返回内容过滤掉。试想一下,如果主机关闭或者是不存在,那么怎么可能会发送扫描的命令给目标主机呢?

要找到开启的目标主机理论上是没有什么要求的,但是为了节约时间,我建议是直接使用某个网站的IP地址,这样有一下的几个好处

1、IP地址容易获得,一般的网站是通过ping参数就可以直接获取该网站的IP地址,除了一些不让进行Ping操作的网站除外

2、容易保证IP的正常开启,因为谁家的网站会经常关闭服务器,服务器一般是总是开启的

二、源地址欺骗(-S)

源地址欺骗的原理是:通过将自己的IP伪装成为其他的IP去扫描目标主机从而骗过目标主机的追踪

假设要伪装成为1.1.1.1:参数-S 1.1.1.1 使用1.1.1.1进行扫描,让防火墙误以为是来自1.1.1.1的扫描行为

在使用的时候要注意与-e进行使用,因为除了制定要伪装成为的对象IP外,还要指定返回的IP地址

三、时间优化(-T)

通过时间优化也提高通过防火墙和IDS的通过率

 发送信息处理

 指定使用分片(-f)

分片的工作原理是:将可疑的探测包进行分片处理(例如将TCP包拆分成多个IP包发送过去),某些简单的防火墙为了加快处理速度可能不会进行重组检查,以此避开其检查。

将风险责任进行嫁接

空闲扫描(-sI):

这里有一篇比较全面的文章http://www.2cto.com/Article/201505/396631.html再次就不多做介绍

其他的相关技术:

有MAC伪造技术等

防火墙/IDS躲避和哄骗

-f; --mtu value                 指定使用分片、指定数据包的MTU.
-D decoy1,decoy2,ME             使用诱饵隐蔽扫描
-S IP-ADDRESS                   源地址欺骗
-e interface                    使用指定的接口
-g/ --source-port PROTNUM       使用指定源端口
--proxies url1,[url2],...       使用HTTP或者SOCKS4的代理 

--data-length NUM               填充随机数据让数据包长度达到NUM
--ip-options OPTIONS            使用指定的IP选项来发送数据包
--ttl VALUE                     设置IP time-to-live域
--spoof-mac ADDR/PREFIX/VEBDOR  MAC地址伪装
--badsum                        使用错误的checksum来发送数据包
时间: 2024-12-21 16:55:00

端口扫描之王——nmap入门精讲(二)的相关文章

端口扫描之王——nmap

端口扫描是网络安全工作者的必备的利器,通过对端口的扫描,了解网站中出现的漏洞以及端口的开放情况,对网站安全方面有着不可或缺的贡献,目前在市面上主要的端口扫描工具是X_Scan.SuperScan.nmap,其中在这里主推的是nmap,因为nmap具有以下的这一些优点: 1.多种多样的参数,丰富的脚本库,满足用户的个人定制需求,其中脚本库还提供了很多强大的功能任你选择 2.强大的可移植性,基本上能在所有的主流系统上运行,而且代码是开源的 3.详细的文档说明,和强大的社区团队进行支持,方面新人上手

iOS开发——语法篇OC篇&高级语法精讲二

Objective高级语法精讲二 Objective-C是基于C语言加入了面向对象特性和消息转发机制的动态语言,这意味着它不仅需要一个编译器,还需要Runtime系统来动态创建类和对象,进行消息发送和转发.下面通过分析Apple开源的Runtime代码(我使用的版本是objc4-646.tar)来深入理解Objective-C的Runtime机制. Runtime数据结构 在Objective-C中,使用[receiver message]语法并不会马上执行receiver对象的message方

Lucene入门精讲视频教程

课程目录:1.Lucene-全文检索是什么?2.Lucene-流程之原生文档3.Lucene-流程之创建文档对象4.Lucene-流程之分析文档5.Lucene-流程之创建索引6.Lucene-入门创建索引7.Lucene-全文检索搜索8.Lucene-入门查询索引9.Lucene-中文第3方插件分析器(IK分析器)10.Lucene-索引库删除11.Lucene-索引库修改12.Lucene-索引库查询(Query子类查询)13.Lucene-索引库查询(解析语法查询)14.Lucene-索引

端口扫描命令nmap

转:http://www.osyunwei.com/archives/2004.html 下面教大家在CentOS中用nmap查看主机端口: 一.安装nmap yum install nmap -y 二.使用nmap nmap localhost    #查看主机当前开放的端口      nmap -p 1024-65535 localhost    #查看主机端口(1024-65535)中开放的端口      nmap -PS 192.168.21.163        #探测目标主机开放的端

端口扫描工具nmap

nmap 使用介绍 nmap是目前为止最广为使用的国外端口扫描工具之一.我们可以从[url]http://www.insecure.org/[/url]进行下载,可以很容易的安装到Windows和unix操作系统中,包括mac os x(通过configure.make .make install等命令)也可以直接从http://www.insecure.org/下载windows二进制(包括所需要的winpcap)也可以从http://www.nmapwin.org/获得nmap的图形wind

Hibernate入门精讲

学习Hibernate ,我们首先要知道为什么要学习它?它有什么好处?也就是我们为什么要学习框架技术? 还要知道    什么是Hibernate?    为什么要使用Hibernate?    Hibernate的配置文件的作用是什么?          Hibernate映射文件的作用是什么?     Hibernate持久化对象的状态有哪些? 现在我先上面的问题解决了. 一.我们为什么要学习框架技术? 1.框架技术有哪些? 在Java开发中,我们经常使用Struts.Hibernate和Sp

ModelSim仿真入门 精讲

ModelSim仿真入门之一:软件介绍 编写这个教程之前,为了让不同水平阶段的人都能阅读,我尽量做到了零基础入门这个目标,所有的操作步骤都经过缜密的思考,做到了详细再详细的程度. 如果您是FPGA开发方面的初学者,那么这个教程一定能够帮助你在仿真技术上越过新人的台阶:如果您是FPGA开发的老手,这篇文档也并非对您没有帮助,您可以把教程发给其他刚入门的同事,免去您亲自上阵指导的麻烦,把主要的精力放在更有价值的地方. 一.FPGA设计仿真验证简介 严格来讲,FPGA设计验证包括功能仿真.时序仿真和电

lua函数精讲(二)

Lua中的函数带有词法定界的第一类值. 第一类值: 在Lua中,函数和其他值(数值,字符串)一样,函数可以被存放在变量中,也存放在表中, 可以作为函数的参数,还可以作为函数的返回值. 词法定界:被嵌套的函数可以访问他外部函数的变量. lua的函数也可以是匿名的,当我们提到函数名时,实际上是说一个指向函数的变量. 闭包 词法界定加上第一类函数是一个功能强大的概念. function sortbygrade(names, grades) table.sort(names, function(n1,n

超人学院Hadoop入门精讲免费视频分享

http://edu.csdn.net/lecturer/course_list http://edu.51cto.com/lecturer/index/user_id-3613394.html 更多精彩内容请关注:http://www.crxy.cn 关注超人学院微信: