端口扫描之王——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来发送数据包
端口扫描之王——nmap入门精讲(二)的更多相关文章
- 端口扫描之王——nmap入门精讲(一)
端口扫描在百度百科上的定义是: 端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并了解其提供的计算机网络服务类型(这些网络服务均与端口号相关),但是端口扫描不但可以为黑客所利 ...
- 端口扫描之王——nmap入门精讲(转)
端口扫描在百度百科上的定义是: 端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并了解其提供的计算机网络服务类型(这些网络服务均与端口号相关),但是端口扫描不但可以为黑客所利 ...
- 端口扫描之王-----------nmap
[root@ok data]# nmap -F -sT -v nmap.org Starting Nmap 5.51 ( http://nmap.org ) at 2016-10-23 12:46 C ...
- 《VC++ 6简明教程》即VC++ 6.0入门精讲 学习进度及笔记
VC++6.0入门→精讲 2013.06.09,目前,每一章的“自测题”和“小结”三个板块还没有看(备注:第一章的“实验”已经看完). 2013.06.16 第三章的“实验”.“自测题”.“小结”和“ ...
- iOS开发——语法篇OC篇&高级语法精讲二
Objective高级语法精讲二 Objective-C是基于C语言加入了面向对象特性和消息转发机制的动态语言,这意味着它不仅需要一个编译器,还需要Runtime系统来动态创建类和对象,进行消息发送和 ...
- 端口扫描程序nmap使用手册
其实还是建议看英文的man,对以后学习其他东西很有帮助的:) 摘要 nmap是一个网络探测和安全扫描程序,系统管理者和个人可以使用这个软件扫描大型的网络,获取那台主机正在运行以及提供什么服务等 ...
- 端口扫描命令nmap
转:http://www.osyunwei.com/archives/2004.html 下面教大家在CentOS中用nmap查看主机端口: 一.安装nmap yum install nmap -y ...
- 端口扫描工具nmap
nmap 使用介绍 nmap是目前为止最广为使用的国外端口扫描工具之一.我们可以从[url]http://www.insecure.org/[/url]进行下载,可以很容易的安装到Windows和un ...
- 7.python实现高效端口扫描器之nmap模块
对于端口扫描,使用的最多的就是nmap这个工具,不想python已经强大到,提供了nmap这个扫描端口的模块. 本片文章主要介绍nmap模块的两个常用类: PortScanner()类,实现一个nma ...
随机推荐
- oracle定时任务
一.简介 当我们需要oracle数据库定时自动执行一些脚本,或进行数据库备份.数据库的性能优化,包括重建索引等工作是需要使用到定时任务. 定时任务可以使用以下两种完成. 1.操作系统级的定时任务,wi ...
- PL/SQL之--函数
一.函数 函数是作为数据库对象存储在oracle数据库中,函数又被称为PL/SQL子程序.oracle处理使用系统提供的函数之外,用户还可以自己定义函数.函数通常被作为一个表达式来调用或存储过程的一个 ...
- centos7 新手基本命令
1. yum update 安装系统后,更新yum到最新版本 提示错误 :cannot find a valid baseurl for repo: base/7/x86_64 解决:修改/etc/s ...
- Java读取、创建xml(通过dom方式)
创建一个接口 XmlInterface.java public interface XmlInterface { /** * 建立XML文档 * @ ...
- Windows Log4日志发送到ElasticSearch
处理多行数据到elasticsearch Nxlog 配置 <Input in> Module im_file File "E:\\log\\webapi\\\err.log&q ...
- Spring4定时器 cronTrigger和simpleTrigger实现方法
spring4定时器 cronTrigger和simpleTrigger实现方法 Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制.Quartz 允许 ...
- Astyle编程语言格式化工具的中文说明
Artistic Style 1.23Maintained by: Jim PatteeOriginal Author: Tal Davidson Usage : astyle [options] ...
- 【学习/研发】嵌入式Linux/Android开发有它就够了——迅为4412开发板
网站:http://www.topeetboard.com 光盘资料+网盘资料+配套视频+售后支持,助您加速学习研发的进程 产品介绍 iTOP-Exynos4412开发板采用 Exynos4412的主 ...
- Dubbo架构设计详解(转自shiyanjun.cn)
Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合).从服务模型的角度来看,Dubbo采用的是一种非常简单的模 ...
- 2014 Super Training #10 G Nostop --矩阵快速幂
原题: FZU 2173 http://acm.fzu.edu.cn/problem.php?pid=2173 一开始看到这个题毫无头绪,根本没想到是矩阵快速幂,其实看见k那么大,就应该想到用快速幂什 ...