版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机网络平安中防火墙技术和端口扫描技术钟德懿西南林学院 计算机与信息科学系,云南 昆明 650224摘要:进入21世纪,随着Internet的开展,以Internet为平台的信息技术进入了新的时代,而网络平安技术作为网络技术中的重要组成局部也迎来了新的挑战。网络平安技术是伴随着网络的诞生而出现的, 90年代在国外获得了飞速的开展,近几年频繁出现的平安事故引起了各国计算机平安界的高度重视,计算机网络平安技术也因此出现了日新月异的变化。本文主要针对计算机网络平安中的各种技术作了初步探讨,特别是防火墙技术和端口扫描技术。并在相关理论的指导下自行开发了一个由本地监视,端口扫描,Ping主机等功能组成
2、的程序。此程序是在的环境下开发的,主要应用了WINDOWS操作系统下的网络编程接口和VB6.0里的Winsock控件,程序中调用了大量的WINDOWS API。在文中具体描述了实现过程中采用的有关的技术,并给出了程序中的各个功能模块以及设计思路和重要代码。关键词:网络平安 端口扫描 防火墙 网络协议 WINSOCK WINDOWS API The Technology Of Firewall and Ports-scan in Computer Network SecurityDeyi Zhong(Dept. of Computer and Information Science, South
3、west Forestry College, Kunming, Yunan, 650224, China)Abstract:Entering 21st century, with the development of Internet, The information technology taking Internet as platform entered new era, and network safe practice meet and bring the new challenge as important component of network technology too,T
4、he technology of network security has come forth with the network born. It developed rapidly overseas in the 1990s. The secure accident came recently caused to be placed importance by compute secure filed. So the technology of network security has taken a new look. This paper mainly discusses all ki
5、nds of technology of network security at first, especially about the technology of firewall and ports-scan. Based on correlative theory I develops a simple program about local listening, ports-scan, Ping Host-computer. this Procedure develop under the environment of VB6.0 , Use WINDOWS network progr
6、amming interface and Winsock controlling part of VB6.0 of operating system mainly, have transfered a large amount of WINDOWS APIs in the procedure . Relevant technology adopted in the course of describedding and realizes concretly in the article, and provide each function module and the mentality of
7、 designing and important code in the procedure .Keywords:Network security; Ports-Scan; Firewall; Network Protocol; Winsock; Windows API目 录 TOC o 1-3 h z u HYPERLINK l _Toc75274384 1 前言 PAGEREF _Toc75274384 h 1 HYPERLINK l _Toc75274385 2 网络协议与网络平安中的主要技术简介 PAGEREF _Toc75274385 h 1 HYPERLINK l _Toc7527
8、4386 2.1 网络协议 PAGEREF _Toc75274386 h 1 HYPERLINK l _Toc75274387 2.1.1 TCP/IP协议 PAGEREF _Toc75274387 h 2 HYPERLINK l _Toc75274388 2.1.2 PPTP协议 PAGEREF _Toc75274388 h 2 HYPERLINK l _Toc75274389 L2F协议 PAGEREF _Toc75274389 h 3 HYPERLINK l _Toc75274390 2.1.4 L2TP协议 PAGEREF _Toc75274390 h 3 HYPERLINK l _T
9、oc75274391 2.1.5 IPSec协议 PAGEREF _Toc75274391 h 3 HYPERLINK l _Toc75274392 2.1.6 GRE协议 PAGEREF _Toc75274392 h 4 HYPERLINK l _Toc75274393 2.1.7 SSL协议 PAGEREF _Toc75274393 h 4 HYPERLINK l _Toc75274394 2.2 网络平安中的主要技术 PAGEREF _Toc75274394 h 4 HYPERLINK l _Toc75274395 2.2.1 防火墙技术 PAGEREF _Toc75274395 h 4
10、 HYPERLINK l _Toc75274396 2.2.2 文件加密和数字签名技术 PAGEREF _Toc75274396 h 8 HYPERLINK l _Toc75274397 2.2.3 杀毒软件技术 PAGEREF _Toc75274397 h 9 HYPERLINK l _Toc75274398 3 计算机网络攻击中端口扫描技术 PAGEREF _Toc75274398 h 10 HYPERLINK l _Toc75274399 3.1 端口扫描 PAGEREF _Toc75274399 h 10 HYPERLINK l _Toc75274400 3.2 常用的端口扫描技术介绍
11、 PAGEREF _Toc75274400 h 10 HYPERLINK l _Toc75274401 3.2.1 TCP/IP 相关问题 PAGEREF _Toc75274401 h 10 HYPERLINK l _Toc75274402 3.2.2 TCP Connect() 扫描 PAGEREF _Toc75274402 h 12 HYPERLINK l _Toc75274403 3.2.3 TCP SYN 扫描 PAGEREF _Toc75274403 h 12 HYPERLINK l _Toc75274404 3.2.4 TCP FIN 扫描 PAGEREF _Toc75274404
12、 h 13 HYPERLINK l _Toc75274405 3.2.5 IP 段扫描 PAGEREF _Toc75274405 h 13 HYPERLINK l _Toc75274406 3.2.6 TCP反向Ident扫描 PAGEREF _Toc75274406 h 13 HYPERLINK l _Toc75274407 3.3.1 Ping扫描 PAGEREF _Toc75274407 h 14 HYPERLINK l _Toc75274408 3.3.2 平安扫描 PAGEREF _Toc75274408 h 15 HYPERLINK l _Toc75274409 3.3.3 栈指纹
13、 PAGEREF _Toc75274409 h 15 HYPERLINK l _Toc75274410 3.3.4 秘密扫描技术 PAGEREF _Toc75274410 h 16 HYPERLINK l _Toc75274411 3.3.5 间接扫描 PAGEREF _Toc75274411 h 16 HYPERLINK l _Toc75274412 4. 一个集本地监视,远程端口扫描的程序 PAGEREF _Toc75274412 h 16 HYPERLINK l _Toc75274413 4.1 程序主要界面及功能介绍 PAGEREF _Toc75274413 h 17 HYPERLIN
14、K l _Toc75274414 4.2 主要功能块的实现原理 PAGEREF _Toc75274414 h 19 HYPERLINK l _Toc75274415 4.3 主要功能块的程序设计流程 PAGEREF _Toc75274415 h 20 HYPERLINK l _Toc75274416 4.4 程序主要代码 PAGEREF _Toc75274416 h 21 HYPERLINK l _Toc75274417 总结 PAGEREF _Toc75274417 h 24 HYPERLINK l _Toc75274418 参考文献 PAGEREF _Toc75274418 h 25 HY
15、PERLINK l _Toc75274419 致 谢 PAGEREF _Toc75274419 h 261 前言进入21世纪,随着Internet的开展,以Internet为平台的信息技术进入了新的时代,人们在享受网络给人们带来便利的同时,也在为越来越多的入侵,病毒等而烦恼。网络的平安问题日渐突出而且情况也越来越复杂,网络平安问题已威胁到国家的政治,经济,军事,文化,意识形态等领域1。网络平安技术是伴随着网络的诞生而出现的,但直到80年代末才引起关注,90年代在国外获得了飞速的开展。网络平安需要“攻、防、测、控、管、评等多方面的根底理论和实施技术。 国际上网络平安研究起步早,力度大、积累多、应
16、用广。80年代,美国国防部基于军事计算机系统的保密需要,在70年代的根底理论研究成果计算机保密模型BellLa padula模型的根底上,制订了“可信计算机系统平安评价准那么TCSEC,随后又制订了关于网络系统、数据库等方面的系列平安解释,形成了平安信息系统体系结构的最早原那么。至今美国已研究出到达TCSEC要求平安系统包括平安操作系统、平安数据库、平安网络部件的产品多达100多种。网络平安技术真正出现在中国始于20世纪90年代中后期,经过四到五年的开展以及融合国际先进的技术,在一定的程度上平安技术已趋向于成熟。然而网络的平安技术一直处于滞后状态,这里所说的滞后,只是针对于黑客技术而言,也就是
17、说新的黑客技术的出现之后才有相应的平安技术。所以相比而言,中国的计算机网络的平安水平和管理水平不高除了一些重要的部门外,网络建立时平安方面的问题考虑得较少,投资也少,而对那些拥有大量敏感信息和机密的部门来说,又不宜直接采用国外现有的网络平安技术与产品,因而研制自己的网络平安技术和产品,增强全民的网络平安意识都势在必行3。互联网已经日渐融入到人类社会的各个方面中,网络防护与网络攻击之间的斗争也将更加剧烈。这就对网络平安技术提出了更高的要求。未来的网络平安技术将会涉及到计算机网络的各个层次中。2 网络协议与网络平安中的主要技术简介2.1 网络协议2.1.1 TCP/IP协议TCP/IP协议指的是传
18、输控制协议TCP和互联网协议IP,它们是两个用在因特网上的网络协议或数据传输的方法。这两个协议属于众多的TCP/IP协议族中的一局部2。TCP/IP协议层次结构模型如图2-1所示: 图2-1 TCP/IP协议层结构模型 TCP/IP协议组中的协议保证因特网上的数据的传输,提供了几乎上网所用的所有效劳。TCP/IP通过使用协议栈工作。这个栈是所有用来在两台机器间完成一个传输的所有协议的集合。2.1.2 PPTP协议点到点隧道协议PPTP是由PPTP论坛开发的点到点的平安隧道协议,为使用 上网的用户提供平安VPN业务,1996年成为IETF草案。PPTP是PPP协议的一种扩展,提供了在IP网上建立
19、多协议的平安VPN的通信方式,远端用户能够通过任何支持PPTP的ISP访问企业的专用网络。PPTP提供PPTP客户机和PPTP效劳器之间的保密通信2。PPTP客户机是指运行该协议的PC机,PPTP效劳器是指运行该协议的效劳器。通过PPTP,客户可以采用拨号方式接入公共的IP网。拨号客户首先按常规方式拨号到ISP的接入效劳器NAS,建立PPP连接;在此根底上,客户进行二次拨号建立到PPTP效劳器的连接,该连接称为PPTP隧道,实质上是基于IP协议的另一个PPP连接,其中IP包可以封装多种协议数据,包括TCPIP,IPX和NetBEUI。对于直接连接到IP网的客户那么不需要第一次的PPP拨号连接,
20、可以直接与PPTP效劳器建立虚拟通路。 L2F协议L2FLayer 2 Forwarding是由Cisco公司提出的,可以在多种介质如ATM、帧中继、IP上建立多协议的平安VPN的通信方式。它将链路层的协议如HDLC、PPP、ASYNC等封装起来传送,因此网络的链路层完全独立于用户的链路层协议。L2F远端用户能够通过任何拨号方式接入公共IP网络。首先,按常规方式拨号到ISP的接人效劳器NAS,建立PPP连接;NAS根据用户名等信息发起第二次连接,呼叫用户网络的效劳器。这种方式下,隧道的配置和建立对用户是完全透明的。L2F允许拨号效劳器发送PPP帧,并通过WAN连接到L2F效劳器5。L2F效劳器
21、将包去封装后,把它们接入到企业自己的网络中。与PPTP和PPP所不同的是,L2F没有定义客户。2.1.4 L2TP协议L2TP结合了L2F和PPTP的优点,可以让用户从客户端或接人效劳器端发起VPN连接。L2TP定义了利用公共网络设施封装传输链路层PPP帧的方法。目前用户拨号访问因特网时,必须使用IP协议,并且其动态得到的IP地址也是合法的。L2TP的好处就在于支持多种协议,用户可以保存原来的IPX、AppleTalk等协议或企业原有的IP地址,企业在原来非IP网上的投资不致于浪费7。另外,L2TP还解决了多个PPP链路的捆绑问题。L2TP主要由LAC接入集中器和LNSL2TP网络效劳器构成。
22、LAC支持客户端的L2TP,用于发起呼叫,接收呼叫和建立隧道。LNS是所有隧道的终点。在传统的PPP连接中,用户拨号连接的终点是LAC,L2TP使得PPP协议的终点延伸到LNS。在平安性考虑上,L2TP仅仅定义了控制包的加密传输方式,对传输中的数据并不加密。因此,L2TP并不能满足用户对平安性的需求。如果需要平安的VPN,那么依然需要IPSec协议。2.1.5 IPSec协议利用隧道方式来实现VPN时,除了要充分考虑隧道的建立及其工作过程之外,另外一个重要的问题是隧道的平安。第二层隧道协议只能保证在隧道发生端及终止端进行认证及加密,而隧道在公网的传输过程中并不能完全保证平安。IPSec加密技术
23、那么是在隧道外面再封装,保证了隧道在传输过程中的平安性。IPSec可用两种方式对数据流进行加密:隧道方式和传输方式。隧道方式对整个IP包进行加密,使用一个新的IPSec包打包。这种隧道协议是在IP上进行的,因此不支持多协议。传输方式时,IP包的地址局部不处理,仅对数据净荷进行加密10。2.1.6 GRE协议 通用路由协议封装GRE,GRE规定了如何用一种网络协议去封装另一种网络协议的方法。GRE的隧道由两端的源IP地址和目的IP地址来定义,允许用户使用IP包封装IP、IPX、AppleTalk包,并支持全部的路由协议如RIP2、OSPF等。通过GRE,用户可以利用公共IP网络连接IPX网络、A
24、ppleTalk网络,还可以使用保存地址进行网络互连,或者对公网隐藏企业网的IP地址。GER只提供了数据包的封装,并没有加密功能来防止网络侦听和攻击,所以在实际环境中经常与IPSec在一起使用,由IPSec提供用户数据的加密,从而给用户提供更好的平安性。2.1.7 SSL协议 Secure socket layer(SSL)协议最初由Netscape企业开展,现已成为网络用来鉴别网站和网页浏览者身份,以及在浏览器使用者及网页效劳器之间进行加密通讯的全球化标准。它能够对信用卡和个人信息提供较强的保护。SSL是对计算机之间整个会话进行加密的协议。在SSL中,采用了公开密钥和私有密钥两种加密方法,主
25、要用于提高应用程序之间的数据的平安系数。SSL协议的整个要领可以被总结为:一个保证任何安装了平安套接层的客户和效劳器间事务平安的协议,它涉及所有TCP/IP应用程序。SSL是对计算机之间整个会话进行加密的协议13。在SSL中,采用了公开密钥和私有密钥两种加密方法。2.2 网络平安中的主要技术2.2.1 防火墙技术防火墙有许许多多种形式,有以软件形式运行在普通计算机之上的,也有以固件形式设计在路由器之中的。还有专业的硬件防火墙。防火墙开展史如图2-2所示: 图2-2 防火墙开展史 包过滤防火墙 在互联网这样的TCP/IP网络上,所有往来的信息都被分割成许许多多一定长度的信息包,包中包含发送者的I
26、P地址和接收者的IP地址信息。当这些信息包被送上互联网络时,路由器会读取接收者的IP并选择一条适宜的物理线路发送出去,信息包可能经由不同的路线抵达目的地,当所有的包抵达目的地后会重新组装复原。包过滤式的防火墙会检查所有通过的信息包中的IP地址,并按照系统管理员所给定的过滤规那么进行过滤15。如果对防火墙设定某一IP地址的站点为不适宜访问的话,从这个地址来的所有信息都会被防火墙屏蔽掉。包过滤防火墙的优点是它对于用户来说是透明的,处理速度快而且易于维护,通常做为第一道防线。包过滤路由器通常没有用户的使用记录,这样就不能得到入侵者的攻击记录。而攻破一个单纯的包过滤式防火墙对黑客来说还是有方法的。IP
27、地址欺骗是黑客比拟常用的一种攻击手段。黑客们向包过滤式防火墙发出一系列信息包,这些包中的IP地址已经被替换为一串顺序的IP地址,一旦有一个包通过了防火墙,黑客便可以用这个IP地址来伪装他们发出的信息;在另一种情况下黑客们使用一种他们自己编制的路由攻击程序,这种程序使用动态路由协议来发送伪造的路由信息,这样所有的信息包都会被重新路由到一个入侵者所指定的特别地址;破坏这种防火墙的另一种方法被称之为同步风暴,这实际上是一种网络炸弹。攻击者向被攻击的计算机发出许许多多个虚假的同步请求信息包,目标计算机响应了这种信息包后会等待请求发出者的应答,而攻击者却不做任何的响应。如果效劳器在一定时间里没有收到响应
28、信号的话就会结束这次请求连接,但是当效劳器在遇到成千上万个虚假请求时,它便没有能力来处理正常的用户效劳请求,处于这种攻势下的效劳器表现为性能下降,效劳响应时间变长,严重时效劳器完全停止甚至死机。图2-3,2-4分别显示了静态包过滤防火墙和动态包过滤防火在OSI七层模型中的位。图2-3 静态包过滤防火墙图2-4 动态包过滤防火墙 状态监测防火墙 这种防火墙具有非常好的平安特性,它使用了一个在网关上执行网络平安策略的软件模块,称之为监测引擎。监测引擎在不影响网络正常运行的前提下,采用抽取有关数据的方法对网络通信的各层实施监测,抽取状态信息,并动态地保存起来作为以后执行平安策略的参考。监测引擎支持多
29、种协议和应用程序,并可以很容易地实现应用和效劳的扩充。当用户访问请求到达网关的操作系统前,状态监视器要抽取有关数据进行分析,结合网络配置和平安规定作出接纳、拒绝、身份认证、报警或给该通信加密等处理动作。一旦某个访问违反平安规定,就会拒绝该访问,并报告有关状态作日志记录。状态监测防火墙的另一个优点是它会监测无连接状态的远程过程调用RPC和用户数据报(UDP)之类的端口信息,而包过滤和应用网关防火墙都不支持此类应用。这种防火墙无疑是非常巩固的,但它会降低网络的速度,而且配置也比拟复杂。 代理效劳器防火墙代理效劳器作用于应用层,它用来提供给用层效劳的控制,起到内部网络向外部网络申请效劳时中间转接作用
30、。内部网络只接受代理提出的效劳请求,拒绝外部网络的其他接点直接请求。具体地说,代理效劳器是运行在防火墙主机上的专门的应用程序或者效劳器程序,防火墙主机可以是具体有一个内部网络接口和一个外部网络接口的双重宿主主机,也可以是一些可以访问Internet并被内部主机访问的堡垒主机。这些程序接受用户对Internet效劳的请求(如FTP,Telnet等),并按照一定的平安策略转发它们到实际的效劳,代理提供代替连接并且充当效劳的网关14。图2-3显示了包过滤防火墙和代理防火墙的优缺点。图2-3 包过滤防火墙和代理防火墙的比拟 屏蔽主机防火墙屏蔽主机防火墙强迫所有的外部主机与一个堡垒主机相连接,而不让它们
31、直接与内部主机相连,屏蔽主机防火墙由包过滤路由器和堡垒主机组成。这个防火墙系统提供的平安等级比包过滤防火墙系统要高,因为它实现了网络层平安包过滤和应用层平安代理效劳。所以入侵者在破坏内部网的平安性之前,必须首先渗透两种不同的平安系统,堡垒主机配置在内部网络上,而包过滤路由器那么放置在内部和因特网之间。在路由器上进行规那么配置,使得外部系统只能访问堡垒主机,去往内部系统上其他主机的信息全部被阻塞。由于内部主机与堡垒主机处于同一个网络,内部系统是否允许直接访问因特网,或者是要求使用堡垒主机上的代理效劳来访问因特网由机构的平安策略来决定。对路由器的过滤规那么进行配置,使得其只接受来自堡垒主机的内部数
32、据包,就可以强制内部用户使用代理效劳,在采用屏蔽主机防火墙的情况下,过滤路由器是否正确配置是这种防火墙平安与否的关键,所以过滤路由器的路由表应当受到严格的保护,如果路由表遭到破坏,那么数据包就不会被路由到堡垒主机上,使堡垒主机被越过。屏蔽主机防火墙的实现过程如图2-4所示。图2-4 屏蔽主机防火墙 双宿网关防火墙双宿网关防火墙又称双重宿主主机防火墙,双宿网关是一种拥有两个连接到不同网络上的网络接口的防火墙,例如,一个网络接口连到外部的不可信任的网络上,另一个接口网络连接到内部的可信任的网络上。这种防火墙的最大特点是IP层的通信是被阻止的,两个网络之间的通信可通过应用层数据共享或应用层代理效劳来
33、完成。双宿网关防火墙的实现过程如图2-5所示15。 图2-5 双宿网关防火墙2.2.2 文件加密和数字签名技术 与防火墙配合使用的平安技术还有文件加密与数字签名技术,它是为提高信息系统及数据的平安性和保密性, 防止秘密数据被外部窃取、侦听或破坏所采用的主要技术手段之一。随着信息技术的开展, 网络平安与信息保密日益引起人们的关注。目前各国除了从法律上、管理上加强数据的平安保护外, 从技术上分别在软件和硬件两方面采取措施, 推动着数据加密技术和物理防范技术的不断开展。按作用不同, 文件加密和数字签名技术主要分为数据传输、数据存储、数据完整性的鉴别以及密钥管理技术四种。 数据传输加密技术目的是对传输
34、中的数据流加密, 常用的方针有线路加密和端对端加密两种。前者侧重在线路上而不考虑信源与信宿, 是对保密信息通过各线路采用不同的加密密钥提供平安保护。后者那么指信息由发送者端通过专用的加密软件,采用某种加密技术对所发送文件进行加密,把明文也即原文加密成密文加密后的文件,这些文件内容是一些看不懂的代码, 然后进入TCP/IP数据包封装穿过互联网, 当这些信息一旦到达目的地, 将由收件人运用相应的密钥进行解密, 使密文恢复成为可读数据明文。目前最常用的加密技术有对称加密技术和非对称加密技术,对称加密技术是指同时运用一个密钥进行加密和解密,非对称加密方式就是加密和解密所用的密钥不一样,它有一对密钥,称
35、为“公钥和“私钥两个,这两上密钥必须配对使用,也就是说用公钥加密的文件必须用相应人的么钥才能解密,反之亦然。 数据存储加密技术 这种加密技术的目的是防止在存储环节上的数据失密, 可分为密文存储和存取控制两种。前者一般是通过加密法转换、附加密码、加密模块等方法实现。它不仅可以为互联网上通信的文件进行加密和数字签名,还可以对本地硬盘文件资料进行加密,防止非法访问。这种加密方式不同于OFFICE文档中的密码保护,用加密软件加密的文件在解密前内容都会作一下代码转换,把原来普通的数据转变成一堆看不懂的代码,这样就保护了原文件不被非法阅读、修改。后者那么是对用户资格、权限加以审查和限制, 防止非法用户存取
36、数据或合法用户越权存取数据,这种技术主要应用于NT系统和一些网络操作系统中,在系统中可以对不同工作组的用户赋予相应的权限以到达保护重要数据不被非法访问13。 数据完整性鉴别技术 数据完整性鉴别技术的目的是对介入信息的传送、存取、处理的人的身份和相关数据内容进行验证, 到达保密的要求。 一般包括口令、密钥、身份 、数据等项的鉴别, 系统通过比照验证对象输入的特征值是否符合预先设定的参数, 实现对数据的平安保护。这种鉴别技术主要应用于大型的数据库管理系统中,因为一个单位的数据通常是一个单位的命脉,所以保护好公司数据库的平安通常是一个单位网管、甚至到领导的最重要的责任11。数据库系统会根据不同用户设
37、置不同访问权限,并对其身份及权限的完整性进行严格识别。 密钥管理技术数据的加密技术通常是运用密钥对数据进行加密,这就涉及了一个密钥的管理问题。因为用加密软件进行加密时所用的密钥通常不是平常所用的密码那么仅几位,至多十几位数字或字母,一般情况这种密钥达64bit,有的到达128bit,一般不可能完全用脑来记住这些密钥,只能保存在一个平安的地方,所以这就涉及到了密钥的管理技术。密钥的保存媒体通常有: 磁卡、磁带、磁盘、半导体存储器或IC卡中等,但这些都可能有损坏或丧失的危险。所以现在的主流加密软件都采取第三方认证这第三方可以是个人,也可以是公证机关或采用随机密钥来弥补人们记忆上的缺乏,还是如PGP
38、加密软件,不过现在的WIN2K系统以及其它一些加密软件都在慢慢地往这个方向开展。 2.2.3 杀毒软件技术杀毒软件肯定是人们见的最多,也用得最为普遍的平安技术方案,因为这种技术实现起来最为简单。但人们都知道杀毒软件的主要功能就是杀毒,功能十分有限,不能完全满足网络平安的需要。这种方式对于个人用户或小企业或许还能满足需要,但如果个人或企业有电子商务方面的需求,就不能完全满足了。可喜的是随着杀毒软件技术的不断开展,现在的主流杀毒软件同时对预防木马及其它的一些黑客程序的入侵。还有的杀毒软件开发商同时提供了软件防火墙,具有了一定防火墙功能,在一定程度上能起到硬件防火墙的成效,如KV300、金山防火墙、
39、Norton防火墙等。3 计算机网络攻击中端口扫描技术3.1 端口扫描 根据计算机提供效劳类型的不同,端口也分为了两大类,一种是TCP端口,另一种是UDP端口。而计算机间相互通信也分为两大类,一种是发送方发送信息后需要接受方响应这个信息并给与应答,及有应答方式;另一种那么是发送方在发送信息后不去理会接受方是否收到信息,及无应答方式。这两种计算机通讯方式与上边的两大类端口一一对应,即有应答(TCP端口)与无应答(UDP端口)。而端口扫描有如下几种方式:1对某一特定端口进行指定IP段的检测,以了解该端口在该域段的使用情况。通常使用这种扫描方式是在没有指定目标而针对某一存在漏洞的效劳所进行的整域段的
40、搜索。2对某一特定主机进行全端口或指定端口区间的检测以了解该主机的端口使用情况。通常使用这种扫描方式是在指定目标的前提下,对目标主机效劳开放情况进行的检测分析,这将有助于尽快了解目标主机,并展开入侵。3前两者的综合。通常进行这种扫描也是盲目的,没有具体攻击目标。3.2 常用的端口扫描技术介绍扫描器通过选用远程TCP/IP不同的端口的效劳,并记录目标给予的答复,通过这种方法,可以搜集到很多关于目标主机的各种有用的信息。3.2.1 TCP/IP 相关问题 1连接端及标记 IP地址和端口被称作套接字,它代表一个TCP连接的一个连接端。为了获得TCP效劳,必须在发送机的一个端口上和接收机的一个端口上建
41、立连接。TCP连接用两个连接端来区别,也就是连接端1,连接端2。连接端互相发送数据包。 一个TCP数据包包括一个TCP头,后面是选项和数据。一个TCP头包含6个标志位。它们的意义分别为: SYN:用来建立连接的标志位,让连接双方同步序列号。如果SYN1而ACK=0,那么表示该数据包为连接请求,如果SYN=1而ACK=1那么表示接受连接。 FIN:表示发送端已经没有数据要求传输了,希望释放连接。 RST:用来复位一个连接。RST标志置位的数据包称为复位包。一般情况下,如果TCP收到的一个分段明显不是属于该主机上的任何一个连接,那么向远端发送一个复位包。 URG:为紧急数据标志。如果它为1,表示本
42、数据包中包含紧急数据。此时紧急数据指针有效。 ACK:为确认标志位。如果为1,表示包中确实认号有效的。否那么,包中确实认号无效。 PSH:如果置位,接收端应尽快把数据传送给应用层。 2TCP连接的建立 TCP是一个面向连接的可靠传输协议。面向连接表示两个应用端在利用TCP传送数据前必须先建立TCP连接。 TCP的可靠性通过校验和,定时器,数据序号和应答来提供。通过给每个发送的字节分配一个序号,接收端接收到数据后发送应答,TCP协议保证了数据的可靠传输。数据序号用来保证数据的顺序,剔除重复的数据。在一个TCP会话中,有两个数据流每个连接端从另外一端接收数据,同时向对方发送数据,因此在建立连接时,
43、必须要为每一个数据流分配ISN初始序号。为了了解实现过程,假设客户端C希望跟效劳器端S建立连接,然后分析连接建立的过程通常称作三阶段握手: :C发送一个TCP包SYN 请求给S,其中标记SYN同步序号要翻开。SYN请求指明了客户端希望连接的效劳器端端口号和客户端的ISNXX是一个例子。 :效劳器端发回应答,包含自己的SYN信息ISNYY和对C的SYN应答,应答时返回下一个希望得到的字节序号YY+1。 :C 对从S 来的SYN进行应答,数据发送开始。 大局部TCP/IP实现遵循以下原那么: :当一个SYN或者FIN数据包到达一个关闭的端口,TCP丢弃数据包同时发送一个RST数据包。 :当一个RS
44、T数据包到达一个监听端口,RST被丢弃。 :当一个RST数据包到达一个关闭的端口,RST被丢弃。 :当一个包含ACK的数据包到达一个监听端口时,数据包被丢弃,同时发送一个RST数据包。 :当一个SYN位关闭的数据包到达一个监听端口时,数据包被丢弃。 :当一个SYN数据包到达一个监听端口时,正常的三阶段握手继续,答复一个SYN|ACK数据包。 :当一个FIN数据包到达一个监听端口时,数据包被丢弃。FIN行为关闭的端口返回RST,监听端口丢弃包,在URG和PSH标志位置位时同样要发生。所有的URG,PSH和FIN,或者没有任何标记的TCP数据包都会引起FIN行为。3.2.2 TCP Connect
45、() 扫描这是最根本的TCP扫描。利用操作系统提供的Connect()系统调用,用来与每一个感兴趣的目标计算机的端口进行连接。如果端口处于侦听状态,那么Connect()就能成功。否那么,这个端口是不能用的,即没有提供效劳。这个技术的一个最大的优点是,你不需要任何权限。系统中的任何用户都有权利使用这个调用。另一个好处就是速度。如果对每个目标端口以线性的方式,使用单独的Connect()调用,那么将会花费相当长的时间,你可以通过同时翻开多个套接字,从而加速扫描。使用非阻塞I/O允许你设置一个低的时间用尽周期,同时观察多个套接字。但这种方法的缺点是很容易被觉察,并且被过滤掉。目标计算机的Logs文
46、件会显示一连串的连接和连接是出错的效劳消息,并且能很快的使它关闭。3.2.3 TCP SYN 扫描这种技术通常认为是“半开放扫描,这是因为扫描程序不必要翻开一个完全的TCP连接。扫描程序发送的是一个SYN数据包,好象准备翻开一个实际的连接并等待反响一样。一个Synlack的返回信息表示端口处于侦听状态。一个RST返回,表示端口没有处于侦听态。如果收到一个Synlack,那么扫描程序必须再发送一个RST信号,来关闭这个连接过程。这种扫描技术的优点在于一般不会在目标计算机上留下记录。但这种方法的一个缺点是,必须要有Root权限才能建立自己的SYN数据包。3.2.4 TCP FIN 扫描有的时候有可
47、能SYN扫描都不够秘密。一些防火墙和包过滤器会对一些指定的端口进行监视,有的程序能检测到这些扫描。相反,FIN数据包可能会没有任何麻烦的通过。这种扫描方法的思想是关闭的端口会用适当的RST来回复FIN数据包。另一方面,翻开的端口会忽略对FIN数据包的回复6。这种方法和系统的实现有一定的关系。有的系统不管端口是否翻开,都回复RST,这样,这种扫描方法就不适用了。并且这种方法在区分Unix和NT时,是十分有用的。3.2.5 IP 段扫描这种不能算是新方法,只是其它技术的变化。它并不是直接发送TCP探测数据包,是将数据包分成两个较小的IP段。这样就将一个TCP包头分成好几个数据包,从而过滤器就很难探
48、测到。但必须小心,一些程序在处理这些小数据包时会有些麻烦。3.2.6 TCP反向Ident扫描Ident 协议允许看到通过TCP连接的任何进程的拥有者的用户名,即使这个连接不是由这个进程开始的。举个例子,连接到HTTP端口,然后用Identd来发现效劳器是否正在以Root权限运行。这种方法只能在和目标端口建立了一个完整的TCP连接后才能看到。UDP ICMP端口不能到达扫描,这种方法与上面几种方法的不同之处在于使用的是UDP协议8。由于这个协议很简单,所以扫描变得相比照拟困难。这是由于翻开的端口对扫描探测并不发送一个“确认,关闭的端口也并不需要发送一个错误数据包。幸运的是,许多主机在你向一个未
49、翻开的UDP端口发送一个数据包时,会返回一个“ICMP_PORT_UNREACH错误9。这样你就能发现哪个端口是关闭的。UDP和ICMP错误都不保证能到达,因此这种扫描器必须还实现在一个包看上去是丧失的时候才能重新传输。这种扫描方法是很慢的,因为RFC对ICMP错误消息的产生速率做了规定。同样,这种扫描方法需要具有Root权限。3.2.7 认证扫描和代理扫描 到目前为止,分析的扫描器在设计时都只有一个目的:判断一个主机中哪个端口上有进程在监听。然而,最新扫描器增加了其它的功能,能够获取监听端口的进程的特征和行为。 1认证扫描上面分析的扫描器在设计时都只有一个目的:判断一个主机中哪个端口上有进程
50、在监听。然而,最近的几个新扫描器增加了其它的功能,能够获取监听端口的进程的特征和行为。这种扫描利用认证协议,扫描器能够获取运行在某个端口上进程的用户名userid。认证扫描尝试与一个TCP端口建立连接,如果连接成功,扫描器发送认证请求到目的主机的113TCP端口12。认证扫描同时也被成为反向认证扫描,因为即使最初的RFC建议了一种帮助效劳器认证客户端的协议,然而在实际的实现中也考虑了反向应用即客户端认证效劳器。 2代理扫描 文件传输协议FTP支持一个非常有意思的选项:代理ftp连接。这个选项最初的目的RFC959是允许一个客户端同时跟两个FTP效劳器建立连接,然后在效劳器之间直接传输数据。然而
51、,在大局部实现中,实际上能够使得FTP效劳器发送文件到Internet的任何地方。许多攻击正是利用了这个缺陷。最近的许多扫描器利用这个弱点实现ftp代理扫描。 ftp端口扫描主要使用ftp代理效劳器来扫描tcp端口。扫描步骤如下: :假定S是扫描机,T是扫描目标,F是一个ftp效劳器,这个效劳器支持代理选项,能够跟S和T建立连接。 :S与F建立一个ftp会话,使用PORT命令声明一个选择的端口称之为pT作为代理传输所需要的被动端口。 :然后S使用一个LIST命令尝试启动一个到pT的数据传输。 :如果端口pT确实在监听,传输就会成功返回码150和226被发送回给S。否那么S回收到425无法翻开数
52、据连接的应答。 :S持续使用PORT和LIST命令,直到T上所有的选择端口扫描完毕。 3.3 其它扫描方法 3.3.1 Ping扫描 如果需要扫描一个主机上甚至整个子网上的成千上万个端口,首先判断一个主机是否开机就非常重要了。这就是Ping扫描器的目的。主要由两种方法用来实现Ping扫描。 1真实扫描:例如发送ICMP请求包给目标IP地址,有相应的表示主机开。2TCP Ping:例如发送特殊的TCP包给通常都翻开且没有过滤的端口例如80端口。对于没有root权限的扫描者,使用标准的connect来实现。否那么,ACK数据包发送给每一个需要探测的主机IP。每一个返回的RST说明相应主机开机了。另
53、外,一种类似于SYN扫描端口80或者类似的也被经常使用。 3.3.2 平安扫描平安扫描器是用来自动检查一个本地或者远程主机的平安漏洞的程序。象其它端口扫描器一样,它们查询端口并记录返回结果。但是它们。它们主要要解决以下问题: 1是否允许匿名登录。 2是否某种网络效劳需要认证。 3是否存在平安漏洞。 3.3.3 栈指纹 绝大局部平安漏洞与缺陷都与操作系统相关,因此远程操作系统探测是系统管理员关心的一个问题。 远程操作系统探测不是一个新问题。近年来,TCP/IP实现提供了主机操作系统信息效劳。FTP,TELNET,HTTP和DNS效劳器就是很好的例子。然而,实际上提供的信息都是不完整的,甚至有可能
54、是错误的。最初的扫描器,依靠检测不同操作系统对TCP/IP的不同实现来识别操作系统。由于差异的有限性,现在只能最多只能识别出10余种操作系统。 最近出现的两个扫描器,QueSO和NMAP,在指纹扫描中引入了新的技术。 QueSO第一个实现了使用别离的数据库于指纹。NMAP包含了很多的操作系统探测技术,定义了一个模板数据结构来描述指纹。由于新的指纹可以很容易地以模板的形式参加,NMAP指纹数据库是不断增长的,它能识别的操作系统也越来越多。 这种使用扫描器判断远程操作系统的技术称为TCP/IP栈指纹技术。 另外有一种技术称为活动探测。活动探测把TCP的实现看作一个黑盒子,通过研究TCP对探测的回应
55、,就可以发现 TCP实现的特点。TCP/IP 栈指纹技术是活动探测的一个变种,它适用于整个TCP/IP协议的实现和操作系统。栈指纹使用好几种技术来探测TCP/IP协议栈和操作系统的细微区别。这些信息用来创立一个指纹,然后跟的指纹进行比拟,就可以判断出当前被扫描的操作系统。 栈指纹扫描包含了相当多的技术。下面是一个局部的清单: 1FIN探测 2BOGUS标记探测 3TCP ISN 取样 4TCP 初始窗口 5ACK值 6ICMP错误信息 7ICMP信息 8效劳类型 9TCP选项 3.3.4 秘密扫描技术 由于这种技术不包含标准的TCP三次握手协议的任何局部,所以无法被记录下来,从而使SYN扫描隐
56、蔽得多。另外,FIN数据包能够通过只监测SYN包的包过滤器。 秘密扫描技术使用FIN数据包来探听端口。当一个FIN数据包到达一个关闭的端口,数据包会被丢掉,并且回返回一个RST数据包。否那么,当一个FIN数据包到达一个翻开的端口,数据包只是简单的丢掉不返回RST。 Xmas和Null扫描是秘密扫描的两个变种。Xmas扫描翻开FIN,URG和PUSH标记,而Null扫描关闭所有标记。这些组合的目的是为了通过所谓的FIN标记监测器的过滤。 秘密扫描通常适用于UNIX目标主机,除过少量的应当丢弃数据包却发送reset信号的操作系统包括CISCO,BSDI,HP/UX,MVS和IRIX。在Window
57、s95/NT环境下,该方法无效,因为不管目标端口是否翻开,操作系统都发送RST。 跟SYN扫描类似,秘密扫描也需要自己构造IP 包。 3.3.5 间接扫描 间接扫描的思想是利用第三方的IP欺骗主机来隐藏真正扫描者的IP。由于扫描主时机对欺骗主机发送回应信息,所以必须监控欺骗主机的IP行为,从而获得原始扫描的结果。间接扫描的工作过程如下: 假定参与扫描过程的主机为扫描机,隐藏机,目标机。扫描机和目标记的角色非常明显。隐藏机是一个非常特殊的角色,在扫描机扫描目的机的时候,它不能发送任何数据包除了与扫描有关的包。4. 一个集本地监视,远程端口扫描的程序在以上理论的指导下,结合自己的实际情况,编写了一
58、个集本地监视,远程端口扫描的程序,程序是在VB6.0+WinMe环境下开发的,并在WinMe和WinXP操作系统下调试通过,主要功能有本地监听,端口扫描,Ping主机。 程序主要界面及功能介绍本地监听在本地监视的界面下,用户首先添加需要监听的端口,并通过另一个界面显示出来,点击界面上的监听后,程序就会自动监视连接到本地主机的一切活动连接,可以查看连接到本地主机各端口的主机IP地址及数据交换情况。程序运行后界面如图4-1所示。图4-1 本地监视界面点击监听后的界面如图4-2所示。图4-2 本地监视界面端口扫描待扫描的主机首先必需是可以被Ping通的,这一步可以通过程序的Ping主机这个功能来完成
59、。首先添加需要扫描的主机IP地址,点击右下角的开始后就会对目标主机进行扫描,在默认情况下,会扫描主机的1-32767之间的端口,如果想对指定的端口进行扫描,就先选择高级应用,然后添加指定的端口。为了减少麻烦,如果端口在一定范围内,可以把界面中To选上,然后在开始端口处填入要扫描的开始端口,在终止端口处填入要扫描的终止端口,程序就会自动添加该范围内的端口,当然也可以通过界面上的删除或者清空对已添加的端口进行修改, 当完成以上步骤后,点击开始就可以进行端口扫描了,在程序的左下角会显示当前的扫描进度,当点击右面的清空后,会清空扫描状态内的内容。界面如图4-3所示。Ping主机在Ping主机这一功能模
60、块中,主要提供了Ping同一IP网段内的主机和指定主机,钩选高级应用后,就可以添加指定范围的IP地址,点击开始就可以对目标主机实现Ping操作了,并在右边方框内显示可Ping通的主机。界面如图4-4所示。图4-3 端口扫描图4-4 Ping 主机4.2 主要功能块的实现原理本地监视入侵者通过连接到本机的端口,然后通过是否成功,来获得信息,由于TCP的三次握手原理,他必定会留下自己的IP,本地监视就是利用这一个原理来获得对方的IP。实现:通过对VB中Winsock控件的属性,方法,事件的操作来查看连接信息。Winsock控件的一些重要属性,方法,事件属性: LocalHostName :本地主机
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 总裁写保证协议书
- 岗亭技术协议书
- 2025广东广州市南沙区教育局直属事业单位引进少年宫主任1人备考核心题库及答案解析
- 资料保护协议书
- 资质类合同范本
- 要购销合同范本
- 资源占用协议书
- 志愿者合同范本
- 英语培训协议书
- 诊所欠费协议书
- 寝室用电安全培训总结课件
- 市民热线培训课件下载
- 化工氢化考试题库及答案
- 冠心病的健康宣教及饮食指导
- 2025年全国矿山安全生产事故情况
- 船舶安全奖惩管理制度
- 印刷ctp制版管理制度
- 2024鄂尔多斯市东胜国有资产投资控股集团有限公司招聘26人笔试参考题库附带答案详解
- 外研版(三起)(2024)三年级下册英语Unit 5 单元测试卷(含答案)
- 幼儿园防食物中毒安全主题
- 我的家乡四川南充
评论
0/150
提交评论