网络扫描技术的原理、比较、建议

时间:2024-09-27 03:35:51 作者:奋斗拼搏 综合材料 收藏本文 下载本文

【导语】“奋斗拼搏”通过精心收集,向本站投稿了10篇网络扫描技术的原理、比较、建议,以下是小编整理后的网络扫描技术的原理、比较、建议,欢迎阅读分享,希望对您有所帮助。

篇1:网络扫描技术的原理、比较、建议

摘要:随着互联网络的飞速发展,网络入侵行为日益严重,网络安全成为人们的关注点,网络安全扫描技术是网络安全领域的重要技术之一,对其概念、分类进行了概述,并对其中的两种主要技术――端口扫描技术和漏洞扫描技术以及它们的原理分别进行了详细阐述,比较了它们的优缺点,介绍了漏洞扫描各种技术的实现原理,并对漏洞扫描存在的一些问题提出了一些完善化的建议。

关键词:网络安全扫描技术 端口扫描技术 漏洞扫描技术

作者简介:

宋苑,女,硕士研究生,获暨南大学计算机科学系及会计系双学位,获暨南大学计算机软件工程专业硕士学位。助理工程师,毕业后一直在国家计算机网络与信息安全管理中心广州分中心工作,主要从事计算机网络安全研究与管理工作。

卢扬明,男,本科,93年获暨南大学数学系应用数学专业本科学位。高级工程师,毕业后一直在广东省电信科学技术研究院工作,曾经从事通信交换机维护工作,目前主要从事通信网络规划工作。

1、引言

随着Internet的不断发展,信息技术已成为促进经济发展、社会进步的巨大推动力:当今社会高度的计算机化信息资源对任何人无论在任何时候、任何地方都变得极有价值。不管是存储在工作站中、服务器里还是流通于Internet上的信息都已转变成为一个关系事业成败关键的策略点,这就使保证信息的安全变得格外重要。

安全扫描技术是一类重要的网络安全技术。安全扫描技术与防火墙、入侵检测系统互相配合,能够有效提高网络的安全性。通过对网络的扫描,网络管理员可以了解网络的安全配置和运行的应用服务,及时发现安全漏洞,客观评估网络风险等级。网络管理员可以根据扫描的结果更正网络安全漏洞和系统中的错误配置,在 攻击前进行防范。如果说防火墙和网络监控系统是被动的防御手段,那么安全扫描就是一种主动的防范措施,可以有效避免 攻击行为,做到防患于未然。

安全扫描技术主要分为两类:主机安全扫描技术和网络安全扫描技术。网络安全扫描技术主要针对系统中不合适的设置脆弱的口令,以及针对其它同安全规则抵触的对象进行检查等;而主机安全扫描技术则是通过执行一些脚本文件模拟对系统进行攻击的行为并记录系统的反应,从而发现其中的漏洞。

2、网络安全扫描技术简介

2.1 网络安全扫描技术的概述

网络安全扫描技术是一种基于Internet远程检测目标网络或本地主机安全性脆弱点的技术。通过网络安全扫描,系统管理员能够发现所维护的Web服务器的各种TCP/IP端口的分配、开放的服务、Web服务软件版本和这些服务及软件呈现在Internet上的安全漏洞。网络安全扫描技术也是采用积极的、非破坏性的办法来检验系统是否有可能被攻击崩溃。它利用了一系列的脚本模拟对系统进行攻击的行为,并对结果进行分析。这种技术通常被用来进行模拟攻击实验和安全审计。网络安全扫描技术与防火墙、安全监控系统互相配合就能够为网络提供很高的安全性。

2.2 网络安全扫描步骤和分类

一次完整的网络安全扫描分为3个阶段:

(1)第1阶段:发现目标主机或网络。

(2)第2阶段:发现目标后进一步搜集目标信息,包括操作系统类型、运行的服务以及服务软件的版本等。如果目标是一个网络,还可以进一步发现该网络的拓扑结构、路由设备以及各主机的信息。

(3)第3阶段:根据搜集到的信息判断或者进一步测试系统是否存在安全漏洞。

网络安全扫描技术包括有PING扫射(Ping sweeP)、操作系统探测(Operating system identification)、如何探测访问控制规则(firewalking)、端口扫描(Port scan)以及漏洞扫描(vulnerability scan)等。这些技术在网络安全扫描的3个阶段中各有体现。

PING扫射用于网络安全扫描的第1阶段,可以帮助我们识别系统是否处于活动状态。操作系统探测、如何探测访问控制规则和端口扫描用于网络安全扫描的第2阶段,其中操作系统探测顾名思义就是对目标主机运行的操作系统进行识别;如何探测访问控制规则用于获取被防火墙保护的远端网络的资料;而端口扫描是通过与目标系统的TCP/IP端口连接,并查看该系统处于监听或运行状态的服务。网络安全扫描第3阶段采用的漏洞扫描通常是在端口扫描的基础上,对得到的信息进行相关处理,进而检测出目标系统存在的安全漏洞。

端口扫描技术和漏洞扫描技术是网络安全扫描技术中的两种核心技术,并且广泛运用于当前较成熟的网络扫描器中,如著名的Nmap和Nessus。鉴于这两种技术在网络安全扫描技术中起着的举足轻重作用,本文将对这两种技术及相关内容做详细的阐述。

3、端口扫描技术

一个端口就是一个潜在的通信通道,也就是一个入侵通道。对目标计算机进行端口扫描,能得到许多有用的信息。通过端口扫描,可以得到许多有用的信息,从而发现系统的安全漏洞。它使系统用户了解系统目前向外界提供了哪些服务,从而为系统用户管理网络提供了一种手段。

3.1 端口扫描技术的原理

端口扫描向目标主机的TCP/IP服务端口发送探测数据包,并记录目标主机的响应。通过分析响应来判断服务端口是打开还是关闭,就可以得知端口提供的服务或信息。端口扫描也可以通过捕获本地主机或服务器的流入流出IP数据包来监视本地主机的运行情况,它仅能对接收到的数据进行分析,帮助我们发现目标主机的某些内在的弱点,而不会提供进入一个系统的详细步骤,

3.2 各类端口扫描技术

端口扫描主要有经典的扫描器(全连接)以及所谓的SYN(半连接)扫描器。此外还有间接扫描和秘密扫描等。

3.2.1 全连接扫描

全连接扫描是TCP端口扫描的基础,现有的全连接扫描有TCP connect扫描和TCP反向ident扫描等。其中TCP connect()扫描的实现原理如下所述:

扫描主机通过TCP/IP协议的三次握手与目标主机的指定端口建立一次完整的连接。连接由系统调用connect开始。如果端口开放,则连接将建立成功;否则,若返回-1则表示端口关闭。建立连接成功:响应扫描主机的SYN/ACK连接请求,这一响应表明目标端口处于监听(打开)的状态。如果目标端口处于关闭状态,则目标主机会向扫描主机发送RST的响应。

3.2.2 半连接(SYN)扫描

若端口扫描没有完成一个完整的TCP连接,在扫描主机和目标主机的一指定端口建立连接时候只完成了前两次握手,在第三步时,扫描主机中断了本次连接,使连接没有完全建立起来,这样的端口扫描称为半连接扫描,也称为间接扫描。现有的半连接扫描有TCPSYN扫描和IP ID头dumb扫描等。

SYN扫描的优点在于即使日志中对扫描有所记录,但是尝试进行连接的记录也要比全扫描少得多。缺点是在大部分操作系统下,发送主机需要构造适用于这种扫描的IP包,通常情况下,构造SYN数据包需要超级用户或者授权用户访问专门的系统调用。

4、漏洞扫描技术

4.1 漏洞扫描技术的原理

漏洞扫描主要通过以下两种方法来检查目标主机是否存在漏洞:在端口扫描后得知目标主机开启的端口以及端口上的网络服务,将这些相关信息与网络漏洞扫描系统提供的漏洞库进行匹配,查看是否有满足匹配条件的漏洞存在;通过模拟 的攻击手法,对目标主机系统进行攻击性的安全漏洞扫描,如测试弱势口令等。若模拟攻击成功,则表明目标主机系统存在安全漏洞。

4.2 漏洞扫描技术的分类和实现方法

基于网络系统漏洞库,漏洞扫描大体包括CGI漏洞扫描、POP3漏洞扫描、FTP漏洞扫描、SSH漏洞扫描、HTTP漏洞扫描等。这些漏洞扫描是基于漏洞库,将扫描结果与漏洞库相关数据匹配比较得到漏洞信息;漏洞扫描还包括没有相应漏洞库的各种扫描,比如Unicode遍历目录漏洞探测、FTP弱势密码探测、OPENRelay邮件转发漏洞探测等,这些扫描通过使用插件(功能模块技术)进行模拟攻击,测试出目标主机的漏洞信息。下面就这两种扫描的实现方法进行讨论:

(1)漏洞库的匹配方法

基于网络系统漏洞库的漏洞扫描的关键部分就是它所使用的漏洞库。通过采用基于规则的匹配技术,即根据安全专家对网络系统安全漏洞、攻击案例的分析和系统管理员对网络系统安全配置的实际经验,可以形成一套标准的网络系统漏洞库,然后再在此基础之上构成相应的匹配规则,由扫描程序自动的进行漏洞扫描的工作。

这样,漏洞库信息的完整性和有效性决定了漏洞扫描系统的性能,漏洞库的修订和更新的性能也会影响漏洞扫描系统运行的时间。因此,漏洞库的编制不仅要对每个存在安全隐患的网络服务建立对应的漏洞库文件,而且应当能满足前面所提出的性能要求。

(2)插件(功能模块技术)技术

插件是由脚本语言编写的子程序,扫描程序可以通过调用它来执行漏洞扫描,检测出系统中存在的一个或多个漏洞。添加新的插件就可以使漏洞扫描软件增加新的功能,扫描出更多的漏洞。插件编写规范化后,甚至用户自己都可以用perl、c或自行设计的脚本语言编写的插件来扩充漏洞扫描软件的功能。这种技术使漏洞扫描软件的升级维护变得相对简单,而专用脚本语言的使用也简化了编写新插件的编程工作,使漏洞扫描软件具有强的扩展性。

4.3 漏洞扫描中的问题及完善建议

现有的安全隐患扫描系统基本上是采用上述的两种方法来完成对漏洞的扫描,但是这两种方法在不同程度上也各有不足之处。下面将说明这两种方法中存在的问题,并针对这些问题给出相应的完善建议:

(1)系统配置规则库问题

网络系统漏洞库是基于漏洞库的漏洞扫描的灵魂所在,而系统漏洞的确认是以系统配置规则库为基础的。但是,这样的系统配置规则库存在其局限性:

①如果规则库设计的不准确,预报的准确度就无从谈起;

②它是根据已知的安全漏洞进行安排和策划的,而对网络系统的很多危险的威胁却是来自未知的漏洞,这样,如果规则库要新不及时,预报准确度也会逐渐降低;

③受漏洞库覆盖范围的限制,部分系统漏洞也可能不会触发任何一个规则,从而不被检测到。

完善建议:系统配置规则库应能不断地被扩充和修正,这样也是对系统漏洞库的扩充和修正,这在目前仍需要专家的指导和参与才能够实现。

(2)漏洞库信息要求

漏洞库信息是基于网络系统漏洞库的漏洞扫描的主要判断依据。如果漏洞库信息不全面或得不到即时的更新,不但不能发挥漏洞扫描的作用,还会给系统管理员以错误的引导,从而对系统的安全隐患不能采取有效措施并及时的消除。

完善建议:漏洞库信息不但应具备完整性和有效性,也应具有简易性的特点,这样即使是用户自己也易于对漏洞库进行添加配置,从而实现对漏洞库的即时更新。比如漏洞库在设计时可以基于某种标准(如CVE标准)来建立,这样便于扫描者的理解和信息交互,使漏洞库具有比较强的扩充性,更有利于以后对漏洞库的更新升级。

5、结束语

网络安全扫描技术和主机安全扫描技术都是新兴的技术,与防火墙、入侵检测等技术相比,它们从另一个角度来解决网络安全上的问题。本文就网络安全扫描技术与其包含的端口扫描技术和漏洞扫描技术的一些具体内容进行了阐述和分析。随着网络的发展和内核的进一步修改,新的端口扫描技术及对入侵性的端口扫描的新防御技术还会诞生,而到目前为止还没有一种完全成熟、高效的端口扫描防御技术;同时,漏洞扫描面向的漏洞包罗万象,而且漏洞的数目也在继续的增加。就目前的漏洞扫描技术而言,自动化的漏洞扫描无法得以完全实现,而且新的难题也将不断涌现,因此网络安全扫描技术仍有待更进一步的研究和完善。

篇2:高级扫描技术及原理

声明:本文只是作技术方面的探讨,目的是让大家更好的防范来自各方的攻击,确保网络安全,本文不提供任何程序和软件的下载信息。

Scan,是一切入侵的基础,扫描探测一台主机包括是为了确定主机是否活动、主机系统、正在使用哪些端口、提供了哪些服务、相关服务的软件版本等等,对这些内容的探测就是为了对症下药。对主机的探测工具非常多,比如大名鼎鼎的nmap、netcat、superscan,以及国内的X-Scanner等等。

ICMP协议PING是最常用的,也是最简单的探测手段,用来判断目标是否活动。实际上Ping是向目标发送一个要求回显(Type = 8)的ICMP数据报,当主机得到请求后,再返回一个回显(Type = 0)数据报。而且Ping 程序一般是直接实现在系统内核中的,而不是一个用户进程。Ping是最基本的探测手段,Ping Sweep(Ping扫射)就是对一个网段进行大范围的Ping,由此确定这个网段的网络运作情况,比如著名的fping工具就是进行Ping扫射的。

不过现在连基本的个人防火墙都对Ping做了限制,这个也太基本了。如果透过防火墙,如何获得最理想的目标图,也是很多人整天思考的问题。我们这里介绍的一些扫描技术就是要尽可能地绕过一些安全防护设备,并且尽量保护自己,同时达到我们需要的目的。

一、高级ICMP扫描技术

Ping就是利用ICMP协议走的,高级的ICMP扫描技术主要是利用ICMP协议最基本的用途:报错。根据网络协议,如果按照协议出现了错误,那么接收端将产生一个ICMP的错误报文。这些错误报文并不是主动发送的,而是由于错误,根据协议自动产生。

当IP数据报出现checksum和版本的错误的时候,目标主机将抛弃这个数据报,如果是checksum出现错误,那么路由器就直接丢弃这个数据报了。有些主机比如AIX、HP-UX等,是不会发送ICMP的Unreachable数据报的。

我们利用下面这些特性:

1、向目标主机发送一个只有IP头的IP数据包,目标将返回Destination Unreachable的ICMP错误报文。

2、向目标主机发送一个坏IP数据报,比如,不正确的IP头长度,目标主机将返回Parameter Problem的ICMP错误报文。

3、当数据包分片但是,却没有给接收端足够的分片,接收端分片组装超时会发送分片组装超时的ICMP数据报。

向目标主机发送一个IP数据报,但是协议项是错误的,比如协议项不可用,那么目标将返回Destination Unreachable的ICMP报文,但是如果是在目标主机前有一个防火墙或者一个其他的过滤装置,可能过滤掉提出的要求,从而接收不到任何回应。可以使用一个非常大的协议数字来作为IP头部的协议内容,而且这个协议数字至少在今天还没有被使用,应该主机一定会返回Unreachable,如果没有Unreachable的ICMP数据报返回错误提示,那么就说明被防火墙或者其他设备过滤了,我们也可以用这个办法来探测是否有防火墙或者其他过滤设备存在。

利用IP的协议项来探测主机正在使用哪些协议,我们可以把IP头的协议项改变,因为是8位的,有256种可能。通过目标返回的ICMP错误报文,来作判断哪些协议在使用。如果返回Destination Unreachable,那么主机是没有使用这个协议的,相反,如果什么都没有返回的话,主机可能使用这个协议,但是也可能是防火墙等过滤掉了。NMAP的IP Protocol scan也就是利用这个原理。

利用IP分片造成组装超时ICMP错误消息,同样可以来达到我们的探测目的。当主机接收到丢失分片的数据报,并且在一定时间内没有接收到丢失的数据报,就会丢弃整个包,并且发送ICMP分片组装超时错误给原发送端。我们可以利用这个特性制造分片的数据包,然后等待ICMP组装超时错误消息。可以对UDP分片,也可以对TCP甚至ICMP数据包进行分片,只要不让目标主机获得完整的数据包就行了,当然,对于UDP这种非连接的不可靠协议来说,如果我们没有接收到超时错误的ICMP返回报,也有可能时由于线路或者其他问题在传输过程中丢失了。

我们能够利用上面这些特性来得到防火墙的ACL(access list),甚至用这些特性来获得整个网络拓扑结构。如果我们不能从目标得到Unreachable报文或者分片组装超时错误报文,可以作下面的判断:

1、防火墙过滤了我们发送的协议类型

2、防火墙过滤了我们指定的端口

3、防火墙阻塞ICMP的Destination Unreachable或者Protocol Unreachable错误消息,

4、防火墙对我们指定的主机进行了ICMP错误报文的阻塞。

二、高级TCP扫描技术

最基本的利用TCP扫描就是使用connect,这个很容易实现,如果目标主机能够connect,就说明一个相应的端口打开。不过,这也是最原始和最先被防护工具拒绝的一种。

在高级的TCP扫描技术中主要利用TCP连接的三次握手特性和TCP数据头中的标志位来进行,也就是所谓的半开扫描。

先认识一下TCP数据报头的这六个标志位。

URG:(Urgent Pointer field significant)紧急指针。用到的时候值为1,用来处理避免TCP数据流中断

ACK:(Acknowledgment field significant)置1时表示确认号(Acknowledgment Number)为合法,为0的时候表示数据段不包含确认信息,确认号被忽略。

PSH:(Push Function),PUSH标志的数据,置1时请求的数据段在接收方得到后就可直接送到应用程序,而不必等到缓冲区满时才传送。

RST:(Reset the connection)用于复位因某种原因引起出现的错误连接,也用来拒绝非法数据和请求。如果接收到RST位时候,通常发生了某些错误。

SYN:(Synchronize sequence numbers)用来建立连接,在连接请求中,SYN=1,ACK=0,连接响应时,SYN=1,ACK=1。即,SYN和ACK来区分Connection Request和Connection Accepted。

FIN:(No more data from sender)用来释放连接,表明发送方已经没有数据发送了。

TCP协议连接的三次握手过程是这样的:

首先客户端(请求方)在连接请求中,发送SYN=1,ACK=0的TCP数据包给服务器端(接收请求端),表示要求同服务器端建立一个连接;然后如果服务器端响应这个连接,就返回一个SYN=1,ACK=1的数据报给客户端,表示服务器端同意这个连接,并要求客户端确认;最后客户端就再发送SYN=0,ACK=1的数据包给服务器端,表示确认建立连接。

我们就利用这些标志位和TCP协议连接的三次握手特性来进行扫描探测。

SYN 扫描

这种扫描方式也被称为半打开 扫描,因为利用了TCP协议连接的第一步,并且没有建立一个完整的TCP连接。

实现办法是向远端主机某端口发送一个只有SYN标志位的TCP数据报,如果主机反馈一个SYN ││ ACK数据包,那么,这个主机正在监听该端口,如果反馈的是RST数据包,说明,主机没有监听该端口。在X-Scanner 上就有SYN的选择项。

ACK 扫描

发送一个只有ACK标志的TCP数据报给主机,如果主机反馈一个TCP RST数据报来,那么这个主机是存在的。也可以通过这种技术来确定对方防火墙是否是简单的分组过滤,还是一个基于状态的防火墙。

FIN

对某端口发送一个TCP FIN数据报给远端主机。如果主机没有任何反馈,那么这个主机是存在的,而且正在监听这个端口;主机反馈一个TCP RST回来,那么说明该主机是存在的,但是没有监听这个端口。

NULL

即发送一个没有任何标志位的TCP包,根据RFC793,如果目标主机的相应端口是关闭的话,应该发送回一个RST数据包。

FIN+URG+PUSH

向目标主机发送一个Fin、URG和PUSH分组,根据RFC793,如果目标主机的相应端口是关闭的,那么应该返回一个RST标志。

上面这些办法可以绕过一些防火墙,从而得到防火墙后面的主机信息,当然,是在不被欺骗的情况下的。这些方法还有一个好处就是比较难于被记录,有的办法即使在用netstat命令上也根本显示不出来,而且一般的安全防护设备也根本不记录这些内容,这样能够更好地隐藏自己。

三、高级UDP扫描技术

在UDP实现的扫描中,多是了利用和ICMP进行的组合进行,这在ICMP中以及提及了。还有一些特殊的就是UDP回馈,比如SQL SERVER,对其1434端口发送x02或者x03就能够探测得到其连接端口

篇3:高级扫描技术以及原理介绍

Scan,是一切入侵的基础,扫描探测一台主机包括是为了确定主机是否活动、主机系统、正在使用哪些端口、提供了哪些服务、相关服务的软件版本等等,对这些内容的探测就是为了对症下药,对主机的探测工具非常多,比如大名鼎鼎的nmap、netcat、superscan,以及国内的X-Scanner等等。

ICMP协议PING是最常用的,也是最简单的探测手段,用来判断目标是否活动。实际上Ping是向目标发送一个要求回显(Type = 8)的ICMP数据报,当主机得到请求后,再返回一个回显(Type = 0)数据报。而且Ping 程序一般是直接实现在系统内核中的,而不是一个用户进程。Ping是最基本的探测手段,Ping Sweep(Ping扫射)就是对一个网段进行大范围的Ping,由此确定这个网段的网络运作情况,比如著名的fping工具就是进行Ping扫射的。

不过现在连基本的个人防火墙都对Ping做了限制,这个也太基本了。如果透过防火墙,如何获得最理想的目标图,也是很多人整天思考的问题。我们这里介绍的一些扫描技术就是要尽可能地绕过一些安全防护设备,并且尽量保护自己,同时达到我们需要的目的。

一、高级ICMP扫描技术

Ping就是利用ICMP协议走的,高级的ICMP扫描技术主要是利用ICMP协议最基本的用途:报错,

根据网络协议,如果按照协议出现了错误,那么接收端将产生一个ICMP的错误报文。这些错误报文并不是主动发送的,而是由于错误,根据协议自动产生。

当IP数据报出现checksum和版本的错误的时候,目标主机将抛弃这个数据报,如果是checksum出现错误,那么路由器就直接丢弃这个数据报了。有些主机比如AIX、HP-UX等,是不会发送ICMP的Unreachable数据报的。

我们利用下面这些特性:

1、向目标主机发送一个只有IP头的IP数据包,目标将返回Destination Unreachable的ICMP错误报文。

2、向目标主机发送一个坏IP数据报,比如,不正确的IP头长度,目标主机将返回Parameter Problem的ICMP错误报文。

3、当数据包分片但是,却没有给接收端足够的分片,接收端分片组装超时会发送分片组装超时的ICMP数据报。

向目标主机发送一个IP数据报,但是协议项是错误的,比如协议项不可用,那么目标将返回Destination Unreachable的ICMP报文,但是如果是在目标主机前有一个防火墙或者一个其他的过滤装置,可能过滤掉提出的要求,从而接收不到任何回应。可以使用一个非常大的协议数字来作为IP头部的协议内容,而且这个协议数字至少在今天还没有被使用,应该主机一定会返回Unreachable,如果没有Unreachable的ICMP数据报返回错误提示,那么就说明被防火墙或者其他设备过滤了,我们也可以用这个办法来探测是否有防火墙或者其他过滤设备存在。

篇4:高级扫描技术及入侵原理

Scan,是一切入侵的基础,对主机的探测工具非常多,比如大名鼎鼎的nmap,

高级扫描技术及入侵原理

我这里没有什么新鲜技术,都是一些 老话题,即使参考的Phrack文档也甚至是的老文档,我只是拾人牙慧而已。 最基本的探测就是Ping,不过现在连基本的个人防火墙都对Ping做了限

篇5:高级扫描技术及原理介绍(1)

Scan,是一切入侵的基础,对主机的探测工具非常多,比如大名鼎鼎的nmap,我这里没有什么新鲜技术,都是一些 老话题,即使参考的Phrack文档也甚至是96年的老文档,我只是拾人牙慧而已。

最基本的探测就是Ping,不过现在连基本的个人防火墙都对Ping做了限制,这个也太基本了。如果透过防火墙,如何获得最理想的目标图,也是很多人整天思考的问题。

一、高级ICMP扫描技术

Ping就是利用ICMP协议走的,我们在这里主要是利用ICMP协议最基本的用途:报错,根据网络协议,如果按照协议出现了错误,那么接收端将产生一个ICMP的错误报文。这些错误报文并不是主动发送的,而是由于错误,根据协议自动产生。

当IP数据报出现checksum和版本的错误的时候,目标主机将抛弃这个数据报,如果是checksum出现错误,那么路由器就直接丢弃这个数据报了。有些主机比如AIX、HP-UX等,是不会发送ICMP的Unreachable数据报的。

我们利用下面这些特性:

1、向目标主机发送一个只有IP头的IP数据包,目标将返回Destination Unreachable的ICMP错误报文。

2、向目标主机发送一个坏IP数据报,比如,不正确的IP头长度,目标主机将返回Parameter Problem的ICMP错误报文。

3、当数据包分片但是,却没有给接收端足够的分片,接收端分片组装超时会发送分片组装超时的ICMP数据报。

向目标主机发送一个IP数据报,但是协议项是错误的,比如协议项不可用,那么目标将返回Destination Unreachable的ICMP报文,但是如果是在目标主机前有一个防火墙或者一个其他的过滤装置,可能过滤掉提出的要求,从而接收不到任何回应。可以使用一个非常大的协议数字来作为IP头部的协议内容,而且这个协议数字至少在今天还没有被使用,应该主机一定会返回Unreachable,如果没有Unreachable的ICMP数据报返回错误提示,那么就说明被防火墙或者其他设备过滤了,我们也可以用这个办法来探测是否有防火墙或者其他过滤设备存在,

利用IP的协议项来探测主机正在使用哪些协议,我们可以把IP头的协议项改变,因为是8位的,有256种可能。通过目标返回的ICMP错误报文,来作判断哪些协议在使用。如果返回Destination Unreachable,那么主机是没有使用这个协议的,相反,如果什么都没有返回的话,主机可能使用这个协议,但是也可能是防火墙等过滤掉了。NMAP的IP Protocol scan也就是利用这个原理。

利用IP分片造成组装超时ICMP错误消息,同样可以来达到我们的探测目的。当主机接收到丢失分片的数据报,并且在一定时间内没有接收到丢失的数据报,就会丢弃整个包,并且发送ICMP分片组装超时错误给原发送端。我们可以利用这个特性制造分片的数据包,然后等待ICMP组装超时错误消息。可以对UDP分片,也可以对TCP甚至ICMP数据包进行分片,只要不让目标主机获得完整的数据包就行了,当然,对于UDP这种非连接的不可靠协议来说,如果我们没有接收到超时错误的ICMP返回报,也有可能时由于线路或者其他问题在传输过程中丢失了。

我们能够利用上面这些特性来得到防火墙的ACL(access list),甚至用这些特性来获得整个网络拓扑结构。如果我们不能从目标得到Unreachable报文或者分片组装超时错误报文,可以作下面的判断:

1、防火墙过滤了我们发送的协议类型

2、防火墙过滤了我们指定的端口

3、防火墙阻塞ICMP的Destination Unreachable或者Protocol Unreachable错误消息。

4、防火墙对我们指定的主机进行了ICMP错误报文的阻塞。

篇6:高级扫描技术及原理介绍(2)

二、高级TCP扫描技术

最基本的利用TCP扫描就是使用connect,这个很容易实现,如果目标主机能够connect,就说明一个相应的端口打开,不过,这也是最原始和最先被防护工具拒绝的一种。

在高级的TCP扫描技术中主要利用TCP连接的三次握手特性来进行,也就是所谓的半开扫描。这些办法可以绕过一些防火墙,而得到防火墙后面的主机信息。当然,是在不被欺骗的情况下的。下面这些方法还有一个好处就是比较难于被记录,有的办法即使在用netstat命令上也根本显示不出来。 SYN

向远端主机某端口发送一个只有SYN标志位的TCP数据报,如果主机反馈一个SYN ACK数据包,那么,这个主机正在监听该端口,如果反馈的是RST数据包,说明,主机没有监听该端口,

在X-Scanner 上就有SYN的选择项。

ACK

发送一个只有ACK标志的TCP数据报给主机,如果主机反馈一个TCP RST数据报来,那么这个主机是存在的。

FIN

对某端口发送一个TCP FIN数据报给远端主机。如果主机没有任何反馈,那么这个主机是存在的,而且正在监听这个端口;主机反馈一个TCP RST回来,那么说明该主机是存在的,但是没有监听这个端口。

NULL

即发送一个没有任何标志位的TCP包,根据RFC793,如果目标主机的相应端口是关闭的话,应该发送回一个RST数据包。

FIN+URG+PUSH

向目标主机发送一个Fin、URG和PUSH分组,根据RFC793,如果目标主机的相应端口是关闭的,那么应该返回一个RST标志。

篇7:网络安全技术漏洞扫描

1 引言

网洛扫瞄,是基于Internetde、探测远端网洛或主机信息de一种技术,也是保证系统和网洛安全必不可少de一种手段。主机扫瞄,是指对计算机主机或者其它网洛设备进行安全性检测,以找出安全隐患和系统漏洞。总体而言,网洛扫瞄和主机扫瞄都可归入漏洞扫瞄一类。漏洞扫瞄本质上是一把双刃剑:黑客利用它来寻找对网洛或系统发起攻击de途径,而系统管理员则利用它来有效防范黑客入侵。通过漏洞扫瞄,扫瞄者能够发现远端网洛或主机de配置信息、TCP/UDP端口de分配、提供de网洛服务、服务器de具体信息等。

2 漏洞扫瞄原理

漏洞扫瞄可以划分为ping扫瞄、端口扫瞄、OS探测、脆弱点探测、防火墙扫瞄五种主要技术,每种技术实现de目标和运用de原理各不相同。按照 TCP/IP协议簇de结构,ping扫瞄工作在互联网洛层:端口扫瞄、防火墙探测工作在传输层;0S探测、脆弱点探测工作在互联网洛层、传输层、应用层。 ping扫瞄确定目标主机deIP地址,端口扫瞄探测目标主机所开放de端口,然后基于端口扫瞄de结果,进行OS探测和脆弱点扫瞄。

2.1 Ping扫瞄

ping扫瞄是指侦测主机IP地址de扫瞄。ping扫瞄de目de,就是确认目标主机deTCP/IP网洛是否联通,即扫瞄deIP地址是否分配了主机。对没有任何预知信息de黑客而言,ping扫瞄是进行漏洞扫瞄及入侵de第一步;对已经了解网洛整体IP划分de网洛安全人员来讲,也可以借助 ping扫瞄,对主机deIP分配有一个精确de定位。大体上,ping扫瞄是基于ICMP协议de。其主要思想,就是构造一个ICMP包,发送给目标主机,从得到de响应来进行判断。根据构造ICMP包de不同,分为ECH0扫瞄和non—ECHO扫瞄两种。

2.1.1 ECH0扫瞄

向目标IP地址发送一个ICMP ECHOREQUEST(ICMP type 8)de包,等待是否收至UICMP ECHO REPLY(ICMP type 0)。如果收到了ICMP ECHO REPLY,就表示目标IP上存在主机,否则就说明没有主机。值得注意de是,如果目标网洛上de防火墙配置为阻止ICMP ECH0流量,ECH0扫瞄不能真实反映目标IP上是否存在主机。

此外,如果向广播地址发送ICMPECHO REQUEST,网洛中deunix主机会响应该请求,而windows主机不会生成响应,这也可以用来进行OS探测。

2.1.2 non-ECH0扫瞄

向目deIP地址发送一个ICMP TIMESTAMP REQUEST(ICMP type l3),或ICMP ADDRESS MASK REQUEST (ICMP type l7)de包,根据是否收到响应,可以确定目de主机是否存在。当目标网洛上de防火墙配置为阻止ICMP ECH0流量时,则可以用non.ECH0扫瞄来进行主机探测。

2.2端口扫瞄

端口扫瞄用来探测主机所开放de端口。端口扫瞄通常只做最简单de端口联通性测试,不做进一步de数据分析,因此比较适合进行大范围de扫瞄:对指定 IP地址进行某个端口值段de扫瞄,或者指定端口值对某个IP地址段进行扫瞄。根据端口扫瞄使用de协议,分为TCP扫瞄和UDP扫瞄。

2.2.1 TCP扫瞄

主机间建立TCP连接分三步(也称三次握手):

(1)请求端发送一个SYN包,指明打算连接de目de端口。

(2)观察目de端返回de包:

返回SYN/ACK包,说明目de端口处于侦听状态;

返回RST/ACK包,说明目de端口没有侦听,连接重置。

(3)若返回SYN/ACK包,则请求端向目de端口发送ACK包完成3次握手,TCP连接建立。

根据TCP连接de建立步骤,TCP扫瞄主要包含两种方式:

(1)TCP全连接和半连接扫瞄

全连接扫瞄通过三次握手,与目de主机建立TCP连接,目de主机delog文件中将记录这次连接。而半连接扫瞄(也称TCP SYN扫瞄)并不完成TCP三次握手de全过程。扫瞄者发送SYN包开始三次握手,等待目de主机de响应。如果收到SYN/ACK包,则说明目标端口处于侦听状态,扫瞄者马上发送RST包,中止三次握手。因为半连接扫瞄并没有建立TCP连接,目de主机delog文件中可能不会记录此扫瞄。

(2)TCP隐蔽扫瞄

根据TCP协议,处于关闭状态de端口,在收到探测包时会响应RST包,而处于侦听状态de端口则忽略此探测包。根据探测包中各标志位设置de不同,TCP隐蔽扫瞄又分为SYN/ACK扫瞄、FIN扫瞄、XMAS(圣诞树)扫瞄和NULL扫瞄四种。

SYN/ACK扫瞄和FIN扫瞄均绕过TCP三次握手过程de第一步,直接给目de端口发送SYN/ACK包或者FIN包。因为TCP是基于连接de 协议,目标主机认为发送方在第一步中应该发送deSYN包没有送出,从而定义这次连接过程错误,会发送一个RST包以重置连接。而这正是扫瞄者需要de结果— 只要有响应,就说明目标系统存在,且目标端口处于关闭状态。

XMAS扫瞄和NULL扫瞄:这两类扫瞄正好相反,XMAS扫瞄设置TCP包中所有标志位(URG、ACK、RST、PSH、SYN、FIN),而NULL扫瞄则关闭TCP包中de所有标志位。

2.2.2 UDP端口扫瞄

UDP协议是数据包协议,为了要发现正在服务deUDP端口,通常de扫瞄方式是构造一个内容为空deUDP数据包送往目de端口。若目de端口上有服务正在等待,则目de端口返回错误de消息;若目de端口处于关闭状态,则目de主机返回ICMP端口不可达消息。因为UDP端口扫瞄软件要计算传输中丢包de数量,所以UDP端口扫瞄de速度很慢。

2.3 0S探测

OS探测有双重目de:一是探测目标主机de0S信息,二是探测提供服务de计算机程序de信息。比如OS探测de结果是:OS是Windows XP sp3,服务器平台是IIS 4.0。

2.3.1二进制信息探测

通过登录目标主机,从主机返回debanner中得知OS类型、版本等,这是最简单de0S探测技术。

图1 二进制信息

从图l可以看出,在telnet连上FTP服务器后,服务器返回debanner已经提供了serverde信息,在执行ftpdesyst命令后可得到更具体de信息。

2.3.2 HTTP响应分析

在和目标主机建立HTTP连接后,可以分析服务器de响应包得出OS类型。比如响应包中可能包含如下信息:

图2 响应包分析

从图2中对响应包中de数据分析,可以得到serverde信息。

2.3.3栈指纹分析

网洛上de主机都会通过TCP/IP或类似de协议栈来互通互联。由于0S开发商不唯一,系统架构多样,甚至是软件版本de差异,都导致了协议栈具体实现上de不同。对错误包de响应,默认值等都可以作为区分0Sde依据。

(1)主动栈指纹探测

主动栈指纹探测是主动向主机发起连接,并分析收到de响应,从而确定OS类型de技术。

1)FIN探测。跳过TCP三次握手de顺序,给目标主机发送一个FIN包。RFC793规定,正确de处理是没有响应,但有些OS,如MS Windows,CISC0,HP/UX等会响应一个RST包。

2)Bogus标志探测。某些OS会设置SYN包中TCP头de未定义位(一般为64或128),而某些0S在收到设置了这些Bogus位deSYN包后,会重置连接。

3)统计ICMP ERROR报文。RFCl812中规定了ICMP ERROR消息de发送速度。Linux设定了目标不可达消息上限为80个/4秒。0S探测时可以向随机de高端UDP端口大量发包,然后统计收到de目标不可达消息。用此技术进行OS探测时时间会长一些,因为要大量发包,并且还要等待响应,同时也可能出现网洛中丢包de情况。

4)ICMPERROR报文引用。RFC文件中规定,ICMP ERROR消息要引用导致该消息deICMP消息de部分内容。例如对于端口不可达消息,某些OS返回收到deIP头及后续de8个字节,Solaris 返回de ERROR消息中则引用内容更多一些,而Linux比Solaris还要多。

(2)被动栈指纹探测

被动栈指纹探测是在网洛中监听,分析系统流量,用默认值来猜测0S类型de技术。

1)TCP初始化窗口尺寸。通过分析响应中de初始窗口大小来猜测OSde技术比较可靠,因为很多0Sde初始窗口尺寸不同。比如AIX设置de初始窗口尺寸是0x3F25,而Windows NT5、OpenBSD、FreeBSD设置de值是0x402E。

2)Don’t Fragment位。为了增进性能,某些0S在发送de包中设置了DF位,可以从DF位de设置情况中做大概de判断。

3)TCPISN采样。建立TCP连接时,SYN/ACK中初始序列号ISNde生成存在规律,比如固定不变、随机增加 (Solaris,FreeBSD等),真正de随机(Linux 2.0.*),而Windows使用de是时间相关模型,ISN在每个不同时间段都有固定de增量。

2.4脆弱点扫瞄

从对黑客攻击行为de分析和脆弱点de分类,绝大多数扫瞄都是针对特定操作系统中特定de网洛服务来进行,即针对主机上de特定端口。脆弱点扫瞄使用de技术主要有基于脆弱点数据库和基于插件两种。

2.4.1基于脆弱点数据库de扫瞄

首先构造扫瞄de环境模型,对系统中可能存在de脆弱点、过往黑客攻击案例和系统管理员de安全配置进行建模与分析。其次基于分析de结果,生成一套标准de脆弱点数据库及匹配模式。最后由程序基于脆弱点数据库及匹配模式自动进行扫瞄工作。脆弱点扫瞄de准确性取决于脆弱点数据库de完整性及有效性。

2.4.2基于插件de扫瞄

插件是由脚本语言编写de子程序模块,扫瞄程序可以通过调用插件来执行扫瞄。添加新de功能插件可以使扫瞄程序增加新de功能,或者增加可扫瞄脆弱点 de类型与数量。也可以升级插件来更新脆弱点de特征信息,从而得到更为准确de结果。插件技术使脆弱点扫瞄软件de升级维护变得相对简单,而专用脚本语言de使用也简化了编写新插件de编程工作,使弱点扫瞄软件具有很强de扩展性。

2.5防火墙规则探测

采用类似于traceroutedeIP数据包分析法,检测能否给位于过滤设备后de主机发送一个特定de包,目de是便于漏洞扫瞄后de入侵或下次扫瞄de顺利进行。通过这种扫瞄,可以探测防火墙上打开或允许通过de端口,并且探测防火墙规则中是否允许带控制信息de包通过,更进一步,可以探测到位于数据包过滤设备后de路由器。

3 常见漏洞扫瞄程序

通常在制定漏洞扫瞄策略时,扫瞄者会考虑程序de操作系统、所应用de技术、易用性、准确性等因素。其中,程序de可用性是最重要de,也是最基本de,但是可控性和准确性同样不容忽视。

3.1 Unix/Linux平台

3.1.1 hping

hping支持TCP、UDP、ICMP、RAW-IP多种协议。特点在于能进行ping扫瞄、端口扫瞄、0S探测、防火墙探测等多种扫瞄,并能自定义发送deICMP/UDP/TCP包到目标地址并且显示响应信息。

3.1.2 icmpush&icmpquery

icmpush&icmpqueryde特点在于完全应用了ICMP协议,可以定制ICMP包de结构以及种类。扫瞄者可以用这套工具把目标网洛de各个子网全部查找出来,从而可以撇开广播地址而集中扫瞄某几个特定de子网。

3.1.3 Xprobe 2

是专业de端口扫瞄、OS探测程序。特点在于自身de0S特征数据库详细,进行OS探测de可靠性较好。

3.1.4 THC-Anap

OS探测程序。特点在于扫瞄速度快,扫瞄结果可靠。

3.1.5 Whisker

针对CGIde脆弱点探测程序。应用了多线程、多文件扫瞄技术,脆弱点数据库更新频繁,对扫瞄结果自行复核,从而扫瞄结果可靠性好。

3.1.6 Nessus

脆弱点探测程序。应用了主动扫瞄、高速扫瞄技术,可设置扫瞄过程。特点在于支持DMZ区以及多物理分区网洛de大范围扫瞄。

3.1.7 Firewalk

防火墙探测程序。使用类似traceroutede技术来分析IP包de响应,从而测定防火墙de访问控制列表和绘制网洛拓扑图。

3.2 Windows平台

3.2.1 Pinger

是一个图形化deping扫瞄工具。特点在于可以指定要pingdeIP地址,以图形de形式显示扫瞄结果,并保存至文本文件。

3.2.2 Fport

是端口扫瞄程序。特点在于可以把扫瞄出de端口与使用该端口de程序相匹配,扫瞄速度快,匹配程度较好。

3.2.3 SuperScan

可以进行ping扫瞄、端口扫瞄、0S探测,并且白带一个木马端口列表,可以检测目标计算机是否有木马。

3.2.4 GFILANguard

脆弱点探测程序。特点在于集成了网洛审计、补丁管理功能,可以自动生成网洛拓扑图、自动补丁管理。

上述漏洞扫瞄程序及特点如表1所示。

4 结论

一般而言,综合地应用多种扫瞄方法或扫瞄程序可以得到比较满意de结果。但是漏洞扫瞄从其技术原理上分析,有不可忽视de副作用。比如对大范围de IP地址或者端口进行某种扫瞄,反复高速de发出特定de连接请求,所造成de结果就是目标网洛及主机上存在大量de连接请求数据包,可以造成网洛拥塞,主机无法正常使用,这正是DoS攻击de方法及表现。因此若要防范漏洞扫瞄以及可能deDoS攻击,要做到以下三点:

1.在防火墙及过滤设备上采用严格de过滤规则,禁止扫瞄de数据包进入系统。

2.主机系统除了必要de网洛服务外,禁止其它de网洛应用程序。

3.对于只对内开放de网洛服务,更改其提供服务de端口。

此外,网洛扫瞄时发送de数据或多或少都会含有扫瞄者自身相关信息,从而也可以抓取扫瞄时de数据包,对扫瞄者进行反向追踪,这也是一个值得研究de方向。

篇8:新手必读路由技术原理网络知识

当IP子网中的一台主机发送IP分组给同一IP子网的另一台主机时,它将直接把IP分组送到 网络 上,对方就能收到,而要送给不同IP于网上的主机时,它要选择一个能到达目的子网上的路由器,把IP分组送给该路由器,由路由器负责把IP分组送到目的地。 如果没有找到这

当IP子网中的一台主机发送IP分组给同一IP子网的另一台主机时,它将直接把IP分组送到网络上,对方就能收到。而要送给不同IP于网上的主机时,它要选择一个能到达目的子网上的路由器,把IP分组送给该路由器,由路由器负责把IP分组送到目的地。

如果没有找到这样的路由器,主机就把IP分组送给一个称为“缺省网关(default gateway)”的路由器上。“缺省网关”是每台主机上的一个配置参数,它是接在同一个网络上的某个路由器端口的IP地址。

路由器转发IP分组时,只根据IP分组目的IP地址的网络号部分,选择合适的端口,把IP分组送出去。同主机一样,路由器也要判定端口所接的是否是目的子网,如果是,就直接把分组通过端口送到网络上,否则,也要选择下一个路由器来传送分组。路由器也有它的缺省网关,用来传送不知道往哪儿送的IP分组。

这样,通过路由器把知道如何传送的IP分组正确转发出去,不知道的IP分组送给“缺省网关”路由器,这样一级级地传送,IP分组最终将送到目的地,送不到目的地的IP分组则被网络丢弃了。

目前TCP/IP网络,全部是通过路由器互连起来的,Inte.net就是成千上万个IP子网通过路由器互连起来的国际性网络,

这种网络称为以路由器为基础的网络(router based network),形成了以路由器为节点的“网间网”。在“网间网”中,路由器不仅负责对IP分组的转发,还要负责与别的路由器进行联络,共同确定“网间网”的路由选择和维护路由表。

路由动作包括两项基本内容:寻径和转发。寻径即判定到达目的地的最佳路径,由路由选择算法来实现。由于涉及到不同的路由选择协议和路由选择算法,要相对复杂一些。为了判定最佳路径,路由选择算法必须启动并维护包含路由信息的路由表,其中路由信息依赖于所用的路由选择算法而不尽相同。

路由选择算法将收集到的不同信息填入路由表中,根据路由表可将目的网络与下一站(nexthop)的关系告诉路由器。路由器间互通信息进行路由更新,更新维护路由表使之正确反映网络的拓扑变化,并由路由器根据量度来决定最佳路径。这就是路由选择协议(routing protocol),例如路由信息协议(RIP)、开放式最短路径优先协议(OSPF)和边界网关协议(BGP)等。

转发即沿寻径好的最佳路径传送信息分组。路由器首先在路由表中查找,判明是否知道如何将分组发送到下一个站点(路由器或主机),如果路由器不知道如何发送分组,通常将该分组丢弃;否则就根据路由表的相应表项将分组发送到下一个站点,如果目的网络直接与路由器相连,路由器就把分组直接送到相应的端口上。这就是路由转发协议(routed protocol)。

路由转发协议和路由选择协议是相互配合又相互独立的概念,前者使用后者维护的路由表,同时后者要利用前者提供的功能来发布路由协议数据分组。下文中提到的路由协议,除非特别说明,都是指路由选择协议,这也是普遍的习惯

原文转自:www.ltesting.net

篇9:了解DDNS网络通的工作原理及其技术特色

什么是DDNS网络通?

经过统计,对于绝大多数的企业专线用户,每天在专线上有数据流动的时间的总和不超过8个小时。这意味着专线用户每天有2/3的时间是不在使用网络资源而却不得不交费的。专线的价钱居高不下,使普通企业用户望而却步。因此,一般企业的理想上网方式是仅当其网站被访问的时候,或者是自身要上网的时候才接入Internet,这样就可以免去大量的企业上网费用。 DDNS网络通系统正是提供这一动态接入服务的系统。

DDNS网络通由哪些部分组成?

DDNS网络通是一个有三部分组成的综合解决方案,包括:

·DDNS服务器

运行在互联网上的一个经过改造的域名服务器软件,它负责接收互联网上的域名请求,接收用户上网后的在线登记。

·拨号服务器

拨号服务器负责接收DDNS发出的拨号请求,并通过公用电话网呼叫被访问用户。

·DDNS客户

接收由拨号服务器发出的呼叫请求,拨号上网,并到DDNS服务器上进行在线登记。

DDNS网络通是怎样工作的?

假设局域网1并不在Internet上。而局域网2需要与局域网1连接,并建立虚拟局域网。

1) 局域网2中的DDNS客户首先发起对www.mynet1.com的请求。www.mynet1.com是局域网1的DDNS客户的域名。

2) DDNS服务器收到www.mynet1.com的域名请求后,先看该域名对应的用户是否在Internet上。如果没有,就请求拨号服务器呼叫局域网1的DDNS客户。

3) 拨号服务器呼叫在局域网1中DDNS客户。

4) 局域网1中DDNS客户接到呼叫请求,拨号上网。

5) 局域网1中DDNS客户到DDNS服务器上登记,并把拨号上网后的 IP地址告诉DDNS服务器。

6) DDNS服务器响应局域网2发出的DNS请求。

7) 两个局域网连通,建立VPN连接。

注:由于局域网2中也同样可以实施按需要拨号上网(DOD)的功能,因此,也需要一台DDNS客户端的支持。

与VPN应用的过程相仿,浏览器用户(例如一个使用手提电脑的业务员)可以通过DDNS系统直接与局域网中的计算机实施数据交换。企业与起供应商与客户之间的网络互联也可以采用这种方案。

DDNS技术特点

节省用户费用

·上网主机无须申请固定IP地址,无须一直接入互联网。

·利用Dial On Demand技术,实现按需接入Internet的功能,大大节省接入费用。

使用简单

·DDNS接通服务的整个过程都由设备自动完成,用户不须任何人为操作。

提供多种增值服务

·DDNS系统中带有NAT、VPN、Webserver等软件模块,可以实现远IP电话、netmeeting等增殖功能

篇10:网络监听的原理、实现技术与防范方法

局域网具有设备共享、信息共享、可进行高速数据通讯和多媒体信息通信、分布式处理、具有较高的兼容性和安全性等基本功能和特点,目前局域网主要用于办公室自动化和校园教学及管理,一般可根据具体情况采用总线形、环形、树形及星形的拓扑结构。

一、网络监听

网络监听技术本来是提供给网络安全管理人员进行管理的工具,可以用来监视网络的状态、数据流动情况以及网络上传输的信息等。当信息以明文的形式在网络上传输时,使用监听技术进行攻击并不是一件难事,只要将网络接口设置成监听模式,便可以源源不断地将网上传输的信息截获。网络监听可以在网上的任何一个位置实施,如局域网中的一台主机、网关上或远程网的调制解调器之间等。

二、在局域网实现监听的基本原理

对于目前很流行的以太网协议,其工作方式是:将要发送的数据包发往连接在一起的所有主机,包中包含着应该接收数据包主机的正确地址,只有与数据包中目标地址一致的那台主机才能接收。但是,当主机工作监听模式下,无论数据包中的目标地址是什么,主机都将接收(当然只能监听经过自己网络接口的那些包)。

在因特网上有很多使用以太网协议的局域网,许多主机通过电缆、集线器连在一起。当同一网络中的两台主机通信的时候,源主机将写有目的的主机地址的数据包直接发向目的主机。但这种数据包不能在IP层直接发送,必须从TCP/IP协议的IP层交给网络接口,也就是数据链路层,而网络接口是不会识别IP地址的,因此在网络接口数据包又增加了一部分以太帧头的信息。在帧头中有两个域,分别为只有网络接口才能识别的源主机和目的主机的物理地址,这是一个与IP地址相对应的48位的地址。

传输数据时,包含物理地址的帧从网络接口(网卡)发送到物理的线路上,如果局域网是由一条粗缆或细缆连接而成,则数字信号在电缆上传输,能够到达线路上的每一台主机。当使用集线器时,由集线器再发向连接在集线器上的每一条线路,数字信号也能到达连接在集线器上的每一台主机。当数字信号到达一台主机的网络接口时,正常情况下,网络接口读入数据帧,进行检查,如果数据帧中携带的物理地址是自己的或者是广播地址,则将数据帧交给上层协议软件,也就是IP层软件,否则就将这个帧丢弃。对于每一个到达网络接口的数据帧,都要进行这个过程。

然而,当主机工作在监听模式下,所有的数据帧都将被交给上层协议软件处理。而且,当连接在同一条电缆或集线器上的主机被逻辑地分为几个子网时,如果一台主机处于监听模式下,它还能接收到发向与自己不在同一子网(使用了不同的掩码、IP地址和网关)的主机的数据包。也就是说,在同一条物理信道上传输的所有信息都可以被接收到。另外,现在网络中使用的大部分协议都是很早设计的,许多协议的实现都是基于一种非常友好的、通信的双方充分信任的基础之上,许多信息以明文发送。因此,如果用户的账户名和口令等信息也以明文的方式在网上传输,而此时一个 或网络攻击者正在进行网络监听,只要具有初步的网络和TCP/IP协议知识,便能轻易地从监听到的信息中提取出感兴趣的部分。同理,正确的使用网络监听技术也可以发现入侵并对入侵者进行追踪定位,在对网络犯罪进行侦查取证时获取有关犯罪行为的重要信息,成为打击网络犯罪的有力手段。

三、局域网监听的简单实现

要使主机工作在监听模式下,需要向网络接口发出I/O控制命令,将其设置为监听模式。在Unix系统中,发送这些命令需要超级用户的权限。在Windows系列操作系统中,则没有这个限制。要实现网络监听,可以自己用相关的计算机语言和函数编写出功能强大的网络监听程序,也可以使用一些现成的监听软件,在很多 网站或从事网络安全管理的网站都有。

1. 一个使用sniffer pro进行监听并解析IPv4协议头部的例子

(1)IP头部概述

对于上图中各个字段的含义以及IPv4和IPv6报头的区别,RFC文档和一些计算机网络基础的书籍中都有详细的说明,在此不再赘述。

(2)实例解析

是用sniffer pro进行监听时捕获的IPv4协议报头。

第一部分显示的是关于IP的版本信息,它的当前版本号为4;然后是头部的长度,其单位是32-bit的字,本例中值为20bytes,

第二部分是有关服务类型的信息。

第三部分为头部长度字段,本例中IP报头长为56字节。

第四部分是关于分段的内容。

第五部分是生存时间字段,一般为64或128,本例为128seconds/hops。

第六部分是协议部分,说明了上层使用的服务类型,本例中为UDP。

第七部分以下各字段分别为校验和、源地址、目的地址等。

2. 一个使用sniffer pro进行监听获取邮箱密码的例子

通过对用监听工具捕获的数据帧进行分析,可以很容易的发现敏感信息和重要信息。例如,对一些明码传输的邮箱用户名和口令可以直接显示出来。

gao-jian2001为邮箱用户名,12345为邮箱密码,都以明码显示,由此也可以看到局域网监听技术如果用于不正当的目的会有多大的危害。

在以上各部分中还有更详细的信息,在此不作更多的分析。通过这个例子想说明的是通过网络监听可以获得网络上实时传输的数据中的一些非常重要的信息,而这些信息对于网络入侵或入侵检测与追踪都会是很关键的。

四、如何检测并防范网络监听

网络监听是很难被发现的,因为运行网络监听的主机只是被动地接收在局域局上传输的信息,不主动的与其他主机交换信息,也没有修改在网上传输的数据包。

1. 对可能存在的网络监听的检测

(1)对于怀疑运行监听程序的机器,用正确的IP地址和错误的物理地址ping,运行监听程序的机器会有响应。这是因为正常的机器不接收错误的物理地址,处理监听状态的机器能接收,但如果他的IP stack不再次反向检查的话,就会响应。

(2)向网上发大量不存在的物理地址的包,由于监听程序要分析和处理大量的数据包会占用很多的CPU资源,这将导致性能下降。通过比较前后该机器性能加以判断。这种方法难度比较大。

(3)使用反监听工具如antisniffer等进行检测

2. 对网络监听的防范措施

(1)从逻辑或物理上对网络分段

网络分段通常被认为是控制网络广播风暴的一种基本手段,但其实也是保证网络安全的一项措施。其目的是将非法用户与敏感的网络资源相互隔离,从而防止可能的非法监听。

(2)以交换式集线器代替共享式集线器

对局域网的中心交换机进行网络分段后,局域网监听的危险仍然存在。这是因为网络最终用户的接入往往是通过分支集线器而不是中心交换机,而使用最广泛的分支集线器通常是共享式集线器。这样,当用户与主机进行数据通信时,两台机器之间的数据包(称为单播包Unicast Packet)还是会被同一台集线器上的其他用户所监听。

因此,应该以交换式集线器代替共享式集线器,使单播包仅在两个节点之间传送,从而防止非法监听。当然,交换式集线器只能控制单播包而无法控制广播包(Broadcast Packet)和多播包(Multicast Packet)。但广播包和多播包内的关键信息,要远远少于单播包。

(3)使用加密技术

数据经过加密后,通过监听仍然可以得到传送的信息,但显示的是乱码。使用加密技术的缺点是影响数据传输速度以及使用一个弱加密术比较容易被攻破。系统管理员和用户需要在网络速度和安全性上进行折中。

(4)划分VLAN

运用VLAN(虚拟局域网)技术,将以太网通信变为点到点通信,可以防止大部分基于网络监听的入侵。

五、结束语

网络监听技术作为一种工具,总是扮演着正反两方面的角色。对于入侵者来说,最喜欢的莫过于用户的口令,通过网络监听可以很容易地获得这些关键信息。而对于入侵检测和追踪者来说,网络监听技术又能够在与入侵者的斗争中发挥重要的作用。鉴于目前的网络安全现状,我们应该进一步挖掘网络监听技术的细节,从技术基础上掌握先机,才能在与入侵者的斗争中取得胜利。

网络防御技术论文

介词by用法扫描

网络信息处理技术与应用

网络路由技术基础网络知识

网络监听概念 以太网中进行监听的原理

基于电化学反应原理的含铬工业废水处理技术

扫描员求职简历

几种网络R7K技术的比较分析

浅析网络商务信息采集技术的发展趋势

网络防御技术安全防护论文

网络扫描技术的原理、比较、建议(通用10篇)

欢迎下载DOC格式的网络扫描技术的原理、比较、建议,但愿能给您带来参考作用!
推荐度: 推荐 推荐 推荐 推荐 推荐
点击下载文档 文档为doc格式
点击下载本文文档