端口扫描的扫描方式_端口扫描快

hacker|
119

如何提高 nmap端口扫描速度

Zenmap安装完毕后,你随时可以对自己的 *** 运行全面的端口扫描。 *** 规模将决定运行扫描所花的时间。如果使用Zenmap,你可以运行非常笼统的扫描和非常具体的扫描。不妨先运行非常笼统的扫描,大致了解我们所处理的对象。我们将在整个192.168.1.x *** 上运行扫描。1. 打开Zenmap。2. 在Target(目标)部分,输入192.168.1.1/24(或者你想要扩展的任何庞大的目标)。3. 从Profile(配置文件)中选择Intense Scan(精细扫描)。4. 点击Scan(扫描)按钮。你应该会立马看到结果批量装入到Nmap Output(输出)选项卡;结果显示 *** 中机器上的开放端口(图A)。精细扫描要花很长时间,但是如果你想要获得 *** 方面的最详细信息,就应该进行精细扫描。想知道更多具体 *** ,可以百度这文:如何通过扫描工具Nmap列出开放端口和监听服务

一般情况下,采用端口扫描可以比较快速了解某台主机上提供了哪些 *** 服务

 通过135端口入侵实际上是利用RPC漏洞来攻击计算机的。一般情况下135端口主要用于使用RPC(Remote Procedure Call,远程过程调用)

协议并提供DCOM(分布式组件对象模型)服务,通过RPC可以保证在一台计算机上运行的程序可以顺利地 执行远程计算机上的代码;

使用DCOM可以通过 *** 直接进行通信,能够跨包括HTTP协议在内的多种 *** 传输。RPC本身在处理通过TCP/IP的消息交换部分有一个漏洞,该漏洞是由于错误地处理格式不正确的消息造成的。会影响到RPC与DCOM之间的一个接口,该接口侦听的端口就是135。

下面我就来介绍一下通过135端口入侵的 *** 。

(1)通过135端口入侵,攻击者首先需要查找 *** 上存在135端口漏洞的主机地址,在查找此类主机过程中,可以使用一些扫描工具,比如SuperScan就是典型的端口工具之一。在SuperScan逗开始地文本框中输入需要扫描的起始地址,然后在逗结束地文本框里填写好扫描结束的IP地址,在逗扫描类型地选项中选择逗所有端口定义地单选按钮,并在右侧的文本框中输入逗135地。再点击逗开始地按钮即可开始扫描。扫描结束后,在下方的列表中可以查看目标主机打开的端口。然后再点击逗Save地按钮选好保存路径,把里面有漏洞的IP整理下即可。

(2)得到有漏洞后,我们还有一个功能强大的扫描工具,比如NTSscn汉化版。然后在逗主机文件逗处点击逗打开地按钮找到我们刚才保存的IP路径,在连接共享$处选择逗WMI扫描地,在逗扫描打开端口的主机地处填写135端口。最后点击逗开始地即可。要不了多久就会有结果显示。

(3)获得漏洞主机用户名以后,我们需要一个开启的工具,那就是Recton v2.5。好了,万事具备之欠那逗东风地拉。把刚刚扫描的IP输入TELNET界面的逗远程主机地处,以及用户名和密码,不过一般情况下密码都是空。下一步点击逗开始执行地按钮等待把TELNET打开吧。打开后按WIN+R输入CMD进入再输入Telnet IP 回车,会提示让你输入用户名,把用户名输入后,回车即可进入主机。而且得到的还是SYSTEM权限。

下一步就是为我们加了拥有管理员权限的用户,看看我杰作。最后我们可以上传一些远程性木马软件作为后门,比如灰鸽子,冰河等。在这里我就不在展示。我还是喜欢3389端口,那我就给他上传个开启3389的脚本,不过对于开启3389端口的工具网上还真的不少,比如Recton v2.5就有这个功能。好了3389端口已经成功开启大家看我连接的。怎么样,就这么轻松得到了一台。是不是很过瘾啊。

在unix环境下常用的端口扫描工具是

InternetScanner。在unix环境下常用的端口扫描工具是InternetScanner,它容易配置,扫描速度快,并且能产生综合报告。InternetScanner是可得到的最快和功能最全的安全扫描工具,用于UNIX和WindowsNT。

Python 实现端口扫描

一、常见端口扫描的原理

0、秘密扫描

秘密扫描是一种不被审计工具所检测的扫描技术。

它通常用于在通过普通的防火墙或路由器的筛选(filtering)时隐藏自己。

秘密扫描能躲避IDS、防火墙、包过滤器和日志审计,从而获取目标端口的开放或关闭的信息。由于没有包含TCP 3次握手协议的任何部分,所以无法被记录下来,比半连接扫描更为隐蔽。

但是这种扫描的缺点是扫描结果的不可靠性会增加,而且扫描主机也需要自己构造IP包。现有的秘密扫描有TCP FIN扫描、TCP ACK扫描、NULL扫描、XMAS扫描和SYN/ACK扫描等。

1、Connect()扫描

此扫描试图与每一个TCP端口进行“三次握手”通信。如果能够成功建立接连,则证明端口开发,否则为关闭。准确度很高,但是最容易被防火墙和IDS检测到,并且在目标主机的日志中会记录大量的连接请求以及错误信息。

TCP connect端口扫描服务端与客户端建立连接成功(目标端口开放)的过程:

① Client端发送SYN;

② Server端返回SYN/ACK,表明端口开放;

③ Client端返回ACK,表明连接已建立;

④ Client端主动断开连接。

建立连接成功(目标端口开放)

TCP connect端口扫描服务端与客户端未建立连接成功(目标端口关闭)过程:

① Client端发送SYN;

② Server端返回RST/ACK,表明端口未开放。

优点:实现简单,对操作者的权限没有严格要求(有些类型的端口扫描需要操作者具有root权限),系统中的任何用户都有权力使用这个调用,而且如果想要得到从目标端口返回banners信息,也只能采用这一 *** 。

另一优点是扫描速度快。如果对每个目标端口以线性的方式,使用单独的connect()调用,可以通过同时打开多个套接字,从而加速扫描。

缺点:是会在目标主机的日志记录中留下痕迹,易被发现,并且数据包会被过滤掉。目标主机的logs文件会显示一连串的连接和连接出错的服务信息,并且能很快地使它关闭。

2、SYN扫描

扫描器向目标主机的一个端口发送请求连接的SYN包,扫描器在收到SYN/ACK后,不是发送的ACK应答而是发送RST包请求断开连接。这样,三次握手就没有完成,无法建立正常的TCP连接,因此,这次扫描就不会被记录到系统日志中。这种扫描技术一般不会在目标主机上留下扫描痕迹。但是,这种扫描需要有root权限。

·端口开放:(1)Client发送SYN;(2)Server端发送SYN/ACK;(3)Client发送RST断开(只需要前两步就可以判断端口开放)

·端口关闭:(1)Client发送SYN;(2)Server端回复RST(表示端口关闭)

优点:SYN扫描要比TCP Connect()扫描隐蔽一些,SYN仅仅需要发送初始的SYN数据包给目标主机,如果端口开放,则相应SYN-ACK数据包;如果关闭,则响应RST数据包;

3、NULL扫描

反向扫描—-原理是将一个没有设置任何标志位的数据包发送给TCP端口,在正常的通信中至少要设置一个标志位,根据FRC 793的要求,在端口关闭的情况下,若收到一个没有设置标志位的数据字段,那么主机应该舍弃这个分段,并发送一个RST数据包,否则不会响应发起扫描的客户端计算机。也就是说,如果TCP端口处于关闭则响应一个RST数据包,若处于开放则无相应。但是应该知道理由NULL扫描要求所有的主机都符合RFC 793规定,但是windows系统主机不遵从RFC 793标准,且只要收到没有设置任何标志位的数据包时,不管端口是处于开放还是关闭都响应一个RST数据包。但是基于Unix(*nix,如Linux)遵从RFC 793标准,所以可以用NULL扫描。 经过上面的分析,我们知道NULL可以辨别某台主机运行的操作系统是什么操作系统。

端口开放:Client发送Null,server没有响应

端口关闭:(1)Client发送NUll;(2)Server回复RST

说明:Null扫描和前面的TCP Connect()和SYN的判断条件正好相反。在前两种扫描中,有响应数据包的表示端口开放,但在NUll扫描中,收到响应数据包表示端口关闭。反向扫描比前两种隐蔽性高些,当精确度也相对低一些。

用途:判断是否为Windows系统还是Linux。

4、FIN扫描

与NULL有点类似,只是FIN为指示TCP会话结束,在FIN扫描中一个设置了FIN位的数据包被发送后,若响应RST数据包,则表示端口关闭,没有响应则表示开放。此类扫描同样不能准确判断windows系统上端口开 *** 况。

·端口开放:发送FIN,没有响应

·端口关闭:(1)发送FIN;(2)回复RST

5、ACK扫描

扫描主机向目标主机发送ACK数据包。根据返回的RST数据包有两种 *** 可以得到端口的信息。 *** 一是: 若返回的RST数据包的TTL值小于或等于64,则端口开放,反之端口关闭。

6、Xmas-Tree扫描

通过发送带有下列标志位的tcp数据包。

·URG:指示数据时紧急数据,应立即处理。

·PSH:强制将数据压入缓冲区。

·FIN:在结束TCP会话时使用。

正常情况下,三个标志位不能被同时设置,但在此种扫描中可以用来判断哪些端口关闭还是开放,与上面的反向扫描情况相同,依然不能判断windows平台上的端口。

·端口开放:发送URG/PSH/FIN,没有响应

·端口关闭:(1)发送URG/PSH/FIN,没有响应;(2)响应RST

XMAS扫描原理和NULL扫描的类似,将TCP数据包中的ACK、FIN、RST、SYN、URG、PSH标志位置1后发送给目标主机。在目标端口开放的情况下,目标主机将不返回任何信息。

7、Dump扫描

也被称为Idle扫描或反向扫描,在扫描主机时应用了第三方僵尸计算机扫描。由僵尸主机向目标主机发送SYN包。目标主机端口开发时回应SYN|ACK,关闭时返回RST,僵尸主机对SYN|ACK回应RST,对RST不做回应。从僵尸主机上进行扫描时,进行的是一个从本地计算机到僵尸主机的、连续的ping操作。查看僵尸主机返回的Echo响应的ID字段,能确定目标主机上哪些端口是开放的还是关闭的。

二、Python 代码实现

1、利用Python的Socket包中的connect *** ,直接对目标IP和端口进行连接并且尝试返回结果,而无需自己构建SYN包。

2、对IP端口进行多线程扫描,注意的是不同的电脑不同的CPU每次最多创建的线程是不一样的,如果创建过多可能会报错,需要根据自己电脑情况修改每次扫描的个数或者将seelp的时间加长都可以。

看完了吗?感觉动手操作一下把!

python学习网,免费的在线学习python平台,欢迎关注!

本文转自:

0条大神的评论

发表评论