当前位置:文档之家› http网络数据包截获与还原

http网络数据包截获与还原

http网络数据包截获与还原
http网络数据包截获与还原

摘要:在因特网日益发展壮大的今天,万维网在其上的通信量已经超过90%,万维网信息的安全问题已经越来越被人们所重视,而作为万维网应用层核心协议的http协议是基础。当网络发生异常时,对网络上传输的数据进行监视和分析,是网管人员解决网络故障的一种常用方法。

本文介绍应用层HTTP数据包的截获与还原技术的实现,并简要介绍其中所涉及的数据包截获、数据包分析、应用数据重组以及数据包解码等关键技术。该系统可以监听网管人员感兴趣的数据包,通过对其进行分析和研究,分析出其遵守的协议以及其应用层数据,恢复到被监视用户所看到数据的格式。该系统的实现,为网管人员有效地管理网络提供了一种直观的工具。

关键词:http数据包;截获;还原

Abstract: With the increasing development and expansion of Internet, the traffic of World-Wide-Web has occupied more than 90 percent on Internet at present. Therefore, people have attached more and more importance to the security of the WWW information. While HTTP (Hypertext Transfer Protocol) as the central protocol of WWW’s application layer forms the foundation of it.Monitoring and analysing the data transferred on network is the daily works for network manager The writer of this paper introduced the design and implementation for capturing a part of http data packets, recovering the captured http data packets,and analyzed some key technologies about capturing data packet brief,packet analyzing, reconstructing application data and packet decoding and so on.This system can monitor the packages which network manager is interested in,analyze the protocols which the packet uses,recover the format which the end user see.The implementation of the system provides a visual tool for network managers.

Key W ords:http packets;capture;recover

目录

前言 (1)

第一章HTTP网络数据包截获与还原的理论基础 (2)

1.1网络体系结构 (2)

1.1.1 网络参考模型概述 (2)

1.1.2 TCP/IP协议族 (3)

1.2 HTTP协议概述 (4)

1.2.1 http协议的几个重要概念 (5)

1.2.2 http协议结构 (6)

1.2.3 http协议的运作方式 (12)

1.3基于HTTP协议的网络行为监视 (16)

1.3.1 http协议的安全因素 (16)

1.3.2 基于http协议监视的实现 (17)

第二章开发工具与环境配置 (19)

2.1JAVA语言介绍 (19)

2.1.1 平台无关性 (19)

2.1.2 面向对象 (20)

2.1.3 安全稳定 (21)

2.1.4 支持多线程 (21)

2.2JDK概述 (22)

2.2.1 Java开发工具JDK 介绍 (22)

2.2.2 开发环境配置 (23)

第三章HTTP数据包截获 (24)

3.1 HTTP数据包截获模块设计 (24)

3.1.1 体系结构设计 (24)

3.1.2 WinPcap工具 (25)

3.1.3 Packet.dll (26)

3.1.4 Jpcap类库 (28)

3.2数据包的存储 (29)

3.3数据包捕获和存储流程图 (32)

3.4数据包捕获和存储程序片断 (32)

第四章 HTTP数据包信息的分析与还原 (35)

4.1字符编码的信息概述 (35)

4.1.1 ASCALL字符编码 (35)

4.1.2 GB2312字符编码 (36)

4.1.3 BIG5字符编码 (36)

4.1.4 UNICODE(UTF-8)字符编码 (36)

4.2捕获数据包信息的分析 (38)

4.2.1 捕获数据数据包的重组分析 (38)

4.2.2 捕获数据包编码格式的分析 (40)

4.2.3 捕获数据的分析的程序片段 (40)

4.3对捕获数据包信息的部分还原 (41)

4.3.1 捕获数据包信息还原的流程图 (41)

4.3.2 捕获数据包的信息还原算法 (42)

第五章总结 (52)

参考文献 (54)

谢辞 (55)

前言

在短短的二十几年时间里,万维网(Word Wide Web)从一种发布高能物理数据的方式演变为如今人们头脑中的因特网,它之所以如此流行是由于它有一个丰富多彩的界面,初学者很容易使用,并且提供了大量的信息资源,几乎涉及人们所能想象的所有主题。

HTTP是一个属于应用层的面向对象的协议,而http协议作为www的主要协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(NextGenerationofHTTP)的建议已经提出。

但HTTP协议存在许多安全漏洞,比如说允许远程用户向远程服务器请求连接,并且执行远程命令.这个安全漏洞可以以许多方式损坏Web服务器和客户机,这些危害信息还包括对远程请求的武断认证;破坏请求和应答的保密性;滥用服务器功能和资源等。而在网络上传送的不良信息,也影响人们的身心健康,包括色情、迷信和暴力等信息。对危害信息和不良信息在应用层的还原可以很明确的知道该信息传送的具体信息,具有很直观的效果,可以帮助网络管理人员较好的监视网络。对于网络数据包的截获和还原是网络行为监视的一部分,本文主要介绍HTTP数据包的截获与还原技术,该技术涉及到数据包截获、数据包分析、应用数据重组和字符编码解码等关键技术。该技术的实现可以帮助网管人员监听感兴趣的HTTP数据包,分析出其遵守的协议以及其应用层数据,同时将应用层数据进行重组,恢复到原始的数据格式,达到与被监视用户相同的显示效果。该系统的实现,为网管人员有效地管理网络提供了一种直观的工具。

本文所介绍的基于HTTP协议的截获和还原信息主要是万维网信息,而这些信息包括文本、图象和声音等,本文主要是针对文本信息的还原,而大多数的嗅探器并不支持的数据在应用层的还原。本文所提出的应用层数据的还原技术是针对大多数嗅探器的局限性提出来的。

第一章http网络数据包截获与还原的理论基础

1.1 网络体系结构

1.1.1 网络参考模型概述

OSI的七层协议体系结构既复杂又不实用,但其概念清楚,体系结构理论较完整。TCP/IP的协议现在得到了广泛的应用,但它原先并没有一个明确的体系结构。TCP/IP是一个四层的体系结构,它包含应用层、运输层、网际层和网络结构层。不过从实质上讲,TCP/IP只有三层,即应用层、运输层和网际层,因为最下面的网络接口层并没有什么具体内容。

下面的图片反应了两台计算机进行通信时的各层数据流结构。

图1.1

应用层应用层是体系结构中的最高层。应用层确定进程之间通信的性质以满足用户的需要。应用层不仅要提供应用进程所需要的信息交换和远地操作,而且还要作为相互作用的应用进程的用户代理,来完成一些为进行语义上有意义的信息交换所必须的功能。应用层直接为用户的应用进程提供服务。在因特网中的应用层协议很多,如支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,支持文件传输的FTP协议等等。

运输层运输层的任务就是负责主机中两个进程之间的通信。

因特网的运输层可使用两种不同协议。即面向连接的传输控制协议TCP,和无连接的用户数据报协议UDP。面向连接的服务能够提供可靠的交付,但无连接服务则不保证提供可靠的交付,它只是“尽最大努力交付”。这两种服务方式都很有用,各有其优缺点。

在分组交换网内的各个交换接点机都没有运输层。运输层只能存在于分组交换网外面的主机之中。运输层以上的各层就不再关心信息传输的问题了。正因为如此,运输层就成为计算机网络体系结构中非常重要的一层。

网络层网络层负责为分组交换网上的不同主机提供通信。在发送数据时,网络层将运输层产生的报文段或用户数据报封装成分组或包进行传送。在TCP/IP体系中,分组也叫作IP数据报,或简称为数据报。

因特网是一个很大的互联网,它由大量的异构网络通过路由器相互连接起来。因特网主要的网络协议是无连接的网际协议IP和许多路由选择协议,因此因特网的网络层也叫网际层或IP层。

数据链路层在发送数据时,数据链路层的任务是将在网络层交下来的IP数据报组装成帧,在两个相邻接点间的链路上传送以帧为单位的数据。每一帧包括数据和必要的控制信息。控制信息使接受端能够知道一个帧从哪个比特开始和到哪个比特结束。控制信息还使接受端能够检测到所收到的帧中有无差错。如发现有差错,数据链路层就丢弃这个出了差错的帧。

物理层物理层的任务是透明地传送比特流。在物理层上所传数据的单位是比特。传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆,并不在物理层之内而是在物理层的下面。

1.1.2 TCP/IP协议族

TCP/IP协议族(如下图所示),它的特点是上下两头大而中间小:应用层和网络接口层都有多种协议,而中间的IP层很小,上层的各种协议都向下汇聚到一个IP协议中。这种很象沙漏计时器形状的TCP/IP协议族表明:TCP/IP 可以为各式各样的应用提供服务,同时也可以连接到各式各样的网络上。正因为如此,因特网才会发展到今天的这种全球规模。

图1.2

整个通信网络的任务,可以划分成不同的功能块,即抽象成所谓的 ” 层” 。用于互联网的协议可以比照TCP/IP 参考模型进行分类。TCP/IP 协议栈起始于第三层协议IP(互联网协议) 。所有这些协议都在相应的RFC 文档中讨论及标准化。重要的协议在相应的RFC 文档中均标记了状态: “必须“ (required) ,“推荐“ (recommended) ,“可选“ (elective) 。其它的协议还可能有“ 试验“(experimental) 或“ 历史“(historic) 的状态。

1.2 http 协议概述

我们在浏览器的地址栏里输入的网站地址叫做URL(UniformResourceLocator ,统一资源定位符)。就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet 地址。当你在浏览器的地址框中输入一个URL 或是单击一个超级链接时,URL 就确定了要浏览的地址。浏览器通过超文本传输协议(HTTP),将Web 服务器上站点的网页代码提取出来,并翻译成漂亮的网页。

网际层 运输层 应用层 3

Internet的基本协议是TCP/IP协议,然而在TCP/IP模型最上层的是应用层(Applicationlayer),它包含所有高层的协议。高层协议有:文件传输协议FTP、电子邮件传输协议SMTP、域名系统服务DNS、网络新闻传输协议NNTP和HTTP协议等。

HTTP协议(Hypertext Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。这就是你为什么在浏览器中看到的网页地址都是以“http://”开头的原因。

自WWW诞生以来,一个多姿多彩的资讯和虚拟的世界便出现在我们眼前,可是我们怎么能够更加容易地找到我们需要的资讯呢?当决定使用超文本作为WWW文档的标准格式后,于是在1990年,科学家们立即制定了能够快速查找这些超文本文档的协议,即HTTP协议。经过几年的使用与发展,得到不断的完善和扩展,目前在WWW中使用的是HTTP/1.0的第六版。

1.2.1 http协议的几个重要概念

1.连接(Connection):一个传输层的实际环流,它是建立在两个相互通讯的应用程序之间。

2.消息(Message):HTTP通讯的基本单位,包括一个结构化的八元组序列并通过连接传输。

3.请求(Request):一个从客户端到服务器的请求信息包括应用于资源的方法、资源的标识符和协议的版本号

4.响应(Response):一个从服务器返回的信息包括HTTP协议的版本号、请求的状态(例如“成功”或“没找到”)和文档的MIME类型。

5.资源(Resource):由URI标识的网络数据对象或服务。

6.实体(Entity):数据资源或来自服务资源的回映的一种特殊表示方法,它可能被包围在一个请求或响应信息中。一个实体包括实体头信息和实体的本身内容。

7.客户机(Client):一个为发送请求目的而建立连接的应用程序。

8.用户代理(Useragent):初始化一个请求的客户机。它们是浏览器、编辑器或其它用户工具。

9.服务器(Server):一个接受连接并对请求返回信息的应用程序。

10.源服务器(Originserver):是一个给定资源可以在其上驻留或被创建的服务器。

11.代理(Proxy):一个中间程序,它可以充当一个服务器,也可以充当一个客户机,为其它客户机建立请求。请求是通过可能的翻译在内部或经过传递到其它的服务器中。一个代理在发送请求信息之前,必须解释并且如果可能重写它。

代理经常作为通过防火墙的客户机端的门户,代理还可以作为一个帮助应用来通过协议处理没有被用户代理完成的请求。

12.网关(Gateway):一个作为其它服务器中间媒介的服务器。与代理不同的是,网关接受请求就好象对被请求的资源来说它就是源服务器;发出请求的客户机并没有意识到它在同网关打交道。

网关经常作为通过防火墙的服务器端的门户,网关还可以作为一个协议翻译器以便存取那些存储在非HTTP系统中的资源。

13.通道(Tunnel):是作为两个连接中继的中介程序。一旦激活,通道便被认为不属于HTTP通讯,尽管通道可能是被一个HTTP请求初始化的。当被中继的连接两端关闭时,通道便消失。当一个门户(Portal)必须存在或中介(Intermediary)不能解释中继的通讯时通道被经常使用。

14.缓存(Cache):反应信息的局域存储。

1.2.2 http协议结构

HTTP报文由从客户机到服务器的请求和从服务器到客户机的响应构成。

请求报文格式如下:

表3.1

请求行以方法字段开始,后面分别是 URL 字段和 HTTP 协议版本字段,并以 CRLF 结尾。SP 是分隔符。除了在最后的 CRLF 序列中 CF 和 LF 是必需的之外,其他都可以不要。有关通用信息头,请求头和实体头方面的具体内容可以参照相关文件。

响应报文格式如下:

表3.2

状态码元由3位数字组成,表示请求是否被理解或被满足。原因分析是对原文的状态码作简短的描述,状态码用来支持自动操作,而原因分析用来供用户使用。客户机无需用来检查或显示语法。有关通用信息头,响应头和实体头方面的具体内容可以参照相关文件。

HTTP(HyperTextTransferProtocol)

HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。

通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可选的消息体组成。HTTP的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。域名是大小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。

通用头域

通用头域包含请求和响应消息都支持的头域,通用头域包含Cache-Control、Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via。对通用头域的扩展要求通讯双方都支持此扩展,如果存在不支持的通用头

域,一般将会作为实体头域处理。下面简单介绍几个在UPnP消息中使用的通用头域。

Cache-Control头域

Cache-Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached,响应消息中的指令包括public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age。各个消息中的指令含义如下:

Public指示响应可被任何缓存区缓存。

Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效。

no-cache指示请求或响应消息不能缓存

no-store用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。

max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应。

min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应。

max-stale指示客户机可以接收超出超时期间的响应消息。如果指定max-stale

息的值,那么客户机可以接收超出超时期指定值之内的响应消息。

Date头域

Date头域表示消息发送的时间,时间的描述格式由rfc822定义。例如,Date:Mon,31Dec200104:25:57GMT。Date描述的时间表示世界标准时,换算成本地时间,需要知道用户所在的时区。

Pragma头域

Pragma头域用来包含实现特定的指令,最常用的是Pragma:no-cache。在HTTP/1.1协议中,它的含义和Cache-Control:no-cache相同。

请求消息

请求消息的第一行为下面的格式:

MethodSPRequest-URISPHTTP-VersionCRLFMethod表示对于Request-URI完成的方法,这个字段是大小写敏感的,包括OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE。方法GET和HEAD应该被所有的通用WEB服务器支持,其他所有方法的实现是可选的。GET方法取回由Request-URI标识的信息。HEAD方法也是取回由Request-URI标识的信息,只是可以在响应时,不返回消息体。POST方法可以请求服务器接收包含在请求中的实体信息,可以用于提交表单,向新闻组、BBS、邮件群组和数据库发送消息。

SP表示空格。Request-URI遵循URI格式,在此字段为星号(*)时,说明请求并不用于某个特定的资源地址,而是用于服务器本身。HTTP-Version表示支持的HTTP版本,例如为HTTP/1.1。CRLF表示换行回车符。请求头域允许客户端向服务器传递关于请求或者关于客户机的附加信息。

请求头域可能包含下列字段Accept、Accept-Charset、Accept-Encoding、Accept-Language、Authorization、From、Host、If-Modified-Since、If-Match、If-None-Match、If-Range、If-Range、If-Unmodified-Since、Max-Forwards、Proxy-Authorization、Range、Referer、User-Agent。对请求头域的扩展要求通讯双方都支持,如果存在不支持的请求头域,一般将会作为实体头域处理。

典型的请求消息:

GEThttp://class/download.microtool.de:80/somedata.exe

Host:download.microtool.de

Accept:*/*

Pragma:no-cache

Cache-Control:no-cache

Referer:http://class/download.microtool.de/

User-Agent:Mozilla/4.04[en](Win95;I;Nav)

Range:bytes=554554-

Host头域

Host头域指定请求资源的Intenet主机和端口号,必须表示请求url的原始服务器或网关的位置。HTTP/1.1请求必须包含主机头域,否则系统会以400状态码返回。

Referer头域

Referer头域允许客户端指定请求uri的源资源地址,这可以允许服务器生成回退链表,可用来登陆、优化cache等。他也允许废除的或错误的连接由于维护的目的被追踪。如果请求的uri没有自己的uri地址,Referer不能被发送。如果指定的是部分uri地址,则此地址应该是一个相对地址。

Range头域

Range头域可以请求实体的一个或者多个子范围。例如,

表示头500个字节:bytes=0-499

表示第二个500字节:bytes=500-999

表示最后500个字节:bytes=-500

表示500字节以后的范围:bytes=500-

第一个和最后一个字节:bytes=0-0,-1

同时指定几个范围:bytes=500-600,601-999

但是服务器可以忽略此请求头,如果无条件GET包含Range请求头,响应会以状态码206(PartialContent)返回而不是以200(OK)。

User-Agent头域

User-Agent头域的内容包含发出请求的用户信息。

响应消息

响应消息的第一行为下面的格式:

HTTP-VersionSPStatus-CodeSPReason-PhraseCRLF

HTTP-Version表示支持的HTTP版本,例如为HTTP/1.1。Status-Code是一个三个数字的结果代码。Reason-Phrase给Status-Code提供一个简单的文本描述。Status-Code主要用于机器自动识别,Reason-Phrase主要用于帮助用户理解。Status-Code的第一个数字定义响应的类别,后两个数字没有分类的作用。第一个数字可能取5个不同的值:

1xx:信息响应类,表示接收到请求并且继续处理

2xx:处理成功响应类,表示动作被成功接收、理解和接受

3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理

4xx:客户端错误,客户请求包含语法错误或者是不能正确执行

5xx:服务端错误,服务器不能正确执行一个正确的请求

响应头域允许服务器传递不能放在状态行的附加信息,这些域主要描述服务器的信息和Request-URI进一步的信息。响应头域包含Age、Location、Proxy-Authenticate、Public、Retry-After、Server、Vary、Warning、WWW-Authenticate。对响应头域的扩展要求通讯双方都支持,如果存在不支持的响应头域,一般将会作为实体头域处理。

典型的响应消息:

HTTP/1.0200OK

Date:Mon,31Dec200104:25:57GMT

Server:Apache/1.3.14(Unix)

Content-type:text/html

Last-modified:Tue,17Apr200106:46:28GMT

Etag:"a030f020ac7c01:1e9f"

Content-length:39725426

Content-range:bytes554554-40279979/40279980

Location响应头

Location响应头用于重定向接收者到一个新URI地址。

Server响应头

Server响应头包含处理请求的原始服务器的软件信息。此域能包含多个产品标识和注释,产品标识一般按照重要性排序。

实体

请求消息和响应消息都可以包含实体信息,实体信息一般由实体头域和实体组成。实体头域包含关于实体的原信息,实体头包括Allow、Content-Base、Content-Encoding、Content-Language、Content-Length、Content-Location、Content-MD5、Content-Range、Content-Type、Etag、Expires、Last-Modified、extension-header。extension-header允许客户端定义新的实体头,但是这些

域可能无法未接受方识别。实体可以是一个经过编码的字节流,它的编码方式由Content-Encoding或Content-Type定义,它的长度由Content-Length或Content-Range定义。

Content-Type实体头

Content-Type实体头用于向接收方指示实体的介质类型,指定HEAD方法送到接收方的实体介质类型,或GET方法发送的请求介质类型Content-Range实体头Content-Range实体头用于指定整个实体中的一部分的插入位置,他也指示了整个实体的长度。在服务器向客户返回一个部分响应,它必须描述响应覆盖的范围和整个实体长度。一般格式:

Content-Range:bytes-unitSPfirst-byte-pos-last-byte-pos/entity-leg th

例如,传送头500个字节次字段的形式:Content-Range:bytes0-499/1234如果一个http消息包含此节(例如,对范围请求的响应或对一系列范围的重叠请求),Content-Range表示传送的范围,Content-Length表示实际传送的字节数。Last-modified实体头

Last-modified实体头指定服务器上保存内容的最后修订时间。

1.2.3 http协议的运作方式

HTTP协议是基于请求/响应范式的。一个客户机与服务器建立连接后,发送一个请求给服务器,请求方式的格式为,统一资源标识符、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式为一个状态行包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。

许多HTTP通讯是由一个用户代理初始化的并且包括一个申请在源服务器上资源的请求。最简单的情况可能是在用户代理(UA)和源服务器(O)之间通过一个单独的连接来完成(见图1.1)。

图1.1

当一个或多个中介出现在请求/响应链中时,情况就变得复杂一些。中介由三种:代理(Proxy)、网关(Gateway)和通道(Tunnel)。一个代理根据URI的绝对格式来接受请求,重写全部或部分消息,通过URI的标识把已格式化过的请求发送到服务器。网关是一个接收代理,作为一些其它服务器的上层,并且如果必须的话,可以把请求翻译给下层的服务器协议。一个通道作为不改变消息的两个连接之间的中继点。当通讯需要通过一个中介(例如:防火墙等)或者是中介不能识

别消息的内容时,通道经常被使用。

图1.2

上面的图1.2表明了在用户代理(UA)和源服务器(O)之间有三个中介(A,B和C)。一个通过整个链的请求或响应消息必须经过四个连接段。这个区别是重要的,因为一些HTTP通讯选择可能应用于最近的连接、没有通道的邻居,应用于链的终点或应用于沿链的所有连接。尽管图1.2是线性的,每个参与者都可能从事多

重的、并发的通讯。例如,B可能从许多客户机接收请求而不通过A,并且/或者不通过C把请求送到A,在同时它还可能处理A的请求。

任何针对不作为通道的汇聚可能为处理请求启用一个内部缓存。缓存的效果是请求/响应链被缩短,条件是沿链的参与者之一具有一个缓存的响应作用于那个请求。下图说明结果链,其条件是针对一个未被UA或A加缓存的请求,B有一个经过C来自O的一个前期响应的缓存拷贝。

图1.3

在Internet上,HTTP通讯通常发生在TCP/IP连接之上。缺省端口是TCP80,但其它的端口也是可用的。但这并不预示着HTTP协议在Internet或其它网络的其它协议之上才能完成。HTTP只预示着一个可靠的传输。

以上简要介绍了HTTP协议的宏观运作方式,下面介绍一下HTTP协议的内部操作过程。

首先,简单介绍基于HTTP协议的客户/服务器模式的信息交换过程,如图1.4所示,它分四个过程,建立连接、发送请求信息、发送响应信息、关闭连接。图1.4

图1.4

在WWW中,“客户”与“服务器”是一个相对的概念,只存在于一个特定的连接期间,即在某个连接中的客户在另一个连接中可能作为服务器。WWW服务器运行时,一直在TCP80端口(WWW的缺省端口)监听,等待连接的出现。

下面,讨论HTTP协议下客户/服务器模式中信息交换的实现。

1.建立连接连接的建立是通过申请套接字(Socket)实现的。客户打开一个套接字并把它约束在一个端口上,如果成功,就相当于建立了一个虚拟文件。以后就可以在该虚拟文件上写数据并通过网络向外传送。

2.发送请求

打开一个连接后,客户机把请求消息送到服务器的停留端口上,完成提出请求动作。

HTTP/1.0请求消息的格式为:

请求消息=请求行(通用信息|请求头|实体头)CRLF[实体内容]

请求行=方法请求URL HTTP版本号CRLF

方法=GET|HEAD|POST|扩展方法

U R L=协议名称+宿主名+目录与文件名

请求行中的方法描述指定资源中应该执行的动作,常用的方法有GET、HEAD和POST。不同的请求对象对应GET的结果是不同的,对应关系如下:对象GET的结果

文件文件的内容

程序该程序的执行结果

数据库查询查询结果

HEAD——要求服务器查找某对象的元信息,而不是对象本身。

POST——从客户机向服务器传送数据,在要求服务器和CGI做进一步处理时会用到POST方法。POST主要用于发送HTML文本中FORM的内容,让CGI 程序处理。

一个请求的例子为:

GEThttps://www.doczj.com/doc/466676331.html,/zju/index.htmHTTP/1.0

头信息又称为元信息,即信息的信息,利用元信息可以实现有条件的请求或应答。

请求头——告诉服务器怎样解释本次请求,主要包括用户可以接受的数据类型、压缩方法和语言等。

实体头——实体信息类型、长度、压缩方法、最后一次修改时间、数据有效期等。

实体——请求或应答对象本身。

3.发送响应

服务器在处理完客户的请求之后,要向客户机发送响应消息。

HTTP/1.0的响应消息格式如下:

响应消息=状态行(通用信息头|响应头|实体头)CRLF〔实体内容〕

状态行=HTTP版本号状态码原因叙述

状态码表示响应类型

1××保留

2××表示请求成功地接收

3××为完成请求客户需进一步细化请求

4××客户错误

5××服务器错误

响应头的信息包括:服务程序名,通知客户请求的URL需要认证,请求的资源何时能使用。

4.关闭连接

客户和服务器双方都可以通过关闭套接字来结束TCP/IP对话

1.3 基于http协议的网络行为监视

1.3.1 http协议的安全因素

HTTP协议存在许多的安全漏洞,这些安全漏洞之一就是允许远程用户向远程服务器请求连接,并且执行远程命令。这个安全漏洞可以以许多方式损坏web 服务器和客户机,包括但不局限于如下这些:

对远程请求的武断认证。

网络数据包的拦截技术

武汉工程大学邮电与信息工程学院 毕业设计(论文) 网络数据包的检测及过滤 Network Packet Inspection And Filtering Research 学生姓名林煦东 学号0845050513 专业班级通信工程0805 指导教师金振坤 2012年5月

作者声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果,除了文中特别加以标注的地方外,没有任何剽窃、抄袭、造假等违反学术道德、学术规范的行为,也没有侵犯任何其他人或组织的科研成果及专利。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。如本毕业设计(论文)引起的法律结果完全由本人承担。 毕业设计(论文)成果归武汉工程大学邮电与信息工程学院所有。 特此声明。 作者专业: 作者学号: 作者签名: ____年___月___日

摘要 随着信息化发展,要求通信系统处理能力提高的同时,系统的连接能力也在不断的提高。但在信息连接能力、数据流通能力提高的同时,由于网络数据的脆弱性等网络安全问题日渐突出,网络接口信息安全就变得尤为重要。此外,网络不仅给我们带来了巨大的社会和经济效益,但网络安全问题也变得日益严重,计算机网络的设计、维护难度日益增加,安全问题正威胁着每一个网络用户,对网络安全的研究也越来越重要。面对这一严峻形势,如何正确分析并及时处理网络数据包已成为大多IT人员研究的一项重要课题。对于网络数据包的过滤和检测现在也有很多的实现方法,存在着很多开源的软件供我们参考,但是其中的某些细节还是有一些问题的存在,在效果和效率上都有一些问题,分析上也不是很方便。所以尝试选择了这个课题。 本课题是使用Visual C++6.0研发平台利用多线程技术实现。主线程负责寻找和选择网络接口、设置分析过滤器、分析检测数据包。子线程负责打开选择的接口并将其设为混杂模式、检测数据包并将其保存在文件中。本设计实现的这个系统可以监听局域网内流经所有主机的数据包,并分析了每个包的协议、源/目的MAC地址、源/目的IP地址、数据包长度和包内的数据。既可以管理和维护网络健康运行,还可以检测网络入侵,甚至可以学习网络协议知识。 关键词:网络接口信息;数据包过滤;数据包检测

高速网络环境下数据包捕获技术的分析

龙源期刊网 https://www.doczj.com/doc/466676331.html, 高速网络环境下数据包捕获技术的分析 作者:王亚 来源:《数字技术与应用》2011年第12期 摘要:互联网的迅猛发展,网络带宽飞速增长,在高速网络环境下,传统的网络数据包捕获已经成为制约整个系统的性能提升的瓶颈,为了满足高速网络的数据包捕获的需求,对传统的网络数据包捕获存在的问题进行分析,在此基础上提出了改进措施,为后期研究高速网络下高性能的数据包捕获技术奠定基础。 关键词:高速网数据包捕获 Libpcap 中图分类号:TP393 文献标识码:A 文章编号:1007-9416(2011)12-0194-02 The Analysis of Packet Capture Technology in High Speed Network wangya (Fuyang Teachers College of computer and Information engineering Fuyang 236041) Abstract:The rapid development of the Internet and the rapid growth of network bandwidth,in high-speed network environment,the traditional network data packet capture has become the constraints of the system performance bottleneck. In order to satisfy the high speed network packet capture demand,to analysis the existing problems of the traditional network packet capture,and put forward on this foundation improvement measures.,It lays the foundation for later research of high-speed network and high performance packet capture technology. Keywords:high speed network;packet capture;Libpcap 1、引言 目前,对网络信息监控与检测的软件都是基于数据包捕获技术,如:入侵检测程序Snort、嗅探器Tcpdump等。数据包捕获技术是一种对网络上的数据包进行监听并截取的技术,可以将数据包原封不动的拷贝到捕包端的系统中。数据包捕获是入侵检测系统、网络协议

网络数据包的捕获与分析毕业设计

网络数据包的捕获与分析 【摘要】网络数据包的捕获对于网络安全有着巨大的作用,为我们更好的分析网络中的数据流提供了帮助。本论文是基于Windows下开发一个网络监听工具,侧重点在于实现网络数据包的捕获,然后分析并显示捕获到的数据包信息这部分功能的实现,如分析:IP首部协议类型、源IP、目的IP和端口号等。采用的是Winpcap(Windows Packet Capture)来实现的抓包功能。通过VC++6.0中MFC编程实现通过一个完整界面来控制调用Winpcap中的函数来实现对网卡信息的捕获和循环捕获数据包,然后通过预先对于IP、TCP、UDP等数据包的定义和TCP/IP等协议来解析其中包含的内容并返回显示捕获到数据包的信息,当然也可以保存捕获到的数据包到指定地点以便进一步分析。 【关键词】Winpcap;数据包;捕获;分析

The Capture and Analysis of Network Data Packets Wang Hang (Grade 11,Class 1, Major Network Engineering, Scho ol of Mathematics and Computer Science Dept, Shaanxi University of Technology, Hanzhong 723003, Shaanxi) Tutor: Jia Wei Abstract: The capture of network data packets plays an important part in network security, which is helpful for our better analysis of network data flow.This paper is about a network monitoring tool based on Windows system, which emphasizes particularly on realizing the capture and analysis of network data packets and then displays them. Take analysis as an example, it will check the type of the IP protocol, the source address of IP, the destination address of IP and the port https://www.doczj.com/doc/466676331.html,e the Winpcap(Windows Packet Capture)to capture of data packets. In MFC programming of VC++6.0, the capture of network data packets can be realized via the invoking and control of the functions through a full control panel, and then the analysis of IP ,TCP,UDP and TCP/IP will be done before they are displayed. Certainly the information captured can be saved to the appointed destination in order to go through an advanced analysis. Key words:Winpcap;Data Packets;Capture;Analysis

入侵实验二网络数据包的捕获及协议的简单分析

实验二 网络数据包的捕获及协议的简单分析 一、实验目的 网络数据包的捕获及协议的简单分析。网络数据包是基于网络的入侵检测系统的重要数据源,网络数据包的捕获是基于网络的入侵检测系统实现的第一步。通过该实验,熟悉并掌握Linux环境下基于Lipbcap的网络数据包的捕获方法,理解和掌握基于网络入侵检测系统的源数据的捕获、协议分析的基本原理和实现方法。能够熟练应用Libcap开发包中的函数完成网络环境下功能较为简单的网络捕获包和分析程序。 二、实验内容 1、学习libpcap开发包的功能,并在linux下配置好libpcap环境。 2、在linux系统下基于Libpcap编写C程序,实现对数据包的捕获、过滤和简单分析。 三、了解libpcap编程 Libpcap的抓包流程 1.查找网络设备:目的是发现可用的网卡,实现的函数为pcap_lookupdev(),如果当前有多个网卡,函数就会返回一个网络设备名的指针列表。 2.打开网络设备:利用上一步中的返回值,可以决定使用哪个网卡,通过函数pcap_open_live()打开网卡,返回用于捕捉网络数据包的秒数字。 3.获得网络参数:这里是利用函数pcap_lookupnet(),可以获得指定网络设备的IP地址和子网掩码。 4.编译过滤策略:Lipcap的主要功能就是提供数据包的过滤,函数pcap_compile()来实现。 5.设置过滤器:在上一步的基础上利用pcap_setfilter()函数来设置。 6.利用回调函数,捕获数据包:函数pcap_loop()和pcap_dispatch()来抓去数据包,也可以利用函数pcap_next()和pcap_next_ex()来完成同样的工作。 7.关闭网络设备:pcap_close()函数关系设备,释放资源。 libpcap利用BPF来过滤数据包

利用网络还原系统(远志)快速维护机房

利用网络还原系统(远志)快速维护机房 摘要本文介绍一款集网络克隆和网络还原为一体网络还原系统――远志网络还精灵,来安装一个只有网络环境但没有硬件还原卡机房 关键词网络拷贝;克隆;远志;还原 保护卡的全名为“硬盘保护还原卡”,是用来保护的操作系统一种设备。保护硬盘里的资料的,不管你作如何改动,重启后都能恢复原样,任何对硬盘的分区和数据的修改都不起作用,这样就对硬盘的数据起到了保护的作用。对维护在公共使用的电脑有很大的作用,所以大部分学校的计算机房,电子阅览室还有网吧等地方都使用硬盘保护卡。 外面常见的的保护卡有增霸卡、小哨兵、海光蓝卡、三茗卫士等。目前,大部分的品牌电脑都把还原卡集成到主板,能够起网络还原、网络拷贝等功能。如联想、方正、惠普等。但是不是品牌电脑、没有网络还原卡的情况下该怎样快速网络拷贝和还原保护操作系统呢?网络上有很多都利用pxe和ghost组合的网络克隆,如maxdos、深度网吧GHOST等等。下面介绍一款集网络克隆和网络还原为一体网络还原系统――远志网络还精灵,来安装一个只有网络环境但没有硬件还原卡机房。 1准备工作 先要准备两台计算机,一台管理机和一台客户机。管理机和客户机在安装软件前要注意 1)确认计算机在安装网络还原精灵之前操作系统运作正常并符合硬件系统的要求。 2)如果电脑上已经安装过老版本或是其它的还原产品,请先将其移除,并最好是全新安装操作系统。 3)建议安装前对计算机进行杀毒,确认计算机没有病毒后关闭防毒软件,因为少数杀毒软件会将网络还原精灵的安装过程误报为病毒。 下面还在做一项工作就是要把网络还原精灵自带的网络拷贝软件由软盘版改成网络版(注:非常有用啊,可以作为网络克隆工具),因为网络还原精灵自带的软件,后缀名是img,只能在管理机上制作成一张1.44M的软盘,再通过客户机上软盘驱动器一台一台的读取,现在大多数的计算机都不带软盘驱动器了,所以这一步非常重要。下载一个3M的IMGEDIT的软件和Tftpd32。打开IMGEDIT选择你要的修改的IMG文件,修改让IMG文件支持无盘启动后缀名称变成PXE。具体怎样修改网上有很多教程,这里不再详细介绍。下一步是打开Tftpd32,Tftpd32是一个集成DHCP,TFTP,SNTP、PXE启动和Syslog

数据包捕获与解析

数据包捕获与解析课程设计报告 学生姓名:董耀杰 学号:1030430330 指导教师:江珊珊

数据包捕获与分析 摘要本课程设计通过Ethereal捕捉实时网络数据包,并根据网络协议分析流程对数据包在TCP/IP各层协议中进行实际解包分析,让网络研究人员对数据包的认识上升到一个感性的层面,为网络协议分析提供技术手段。最后根据Ethereal的工作原理,用Visual C++编写一个简单的数据包捕获与分析软件。 关键词协议分析;Ethereal;数据包;Visual C++ 1引言 本课程设计通过技术手段捕获数据包并加以分析,追踪数据包在TCP/IP各层的封装过程,对于网络协议的研究具有重要的意义。Ethereal是当前较为流行的图形用户接口的抓包软件,是一个可以用来监视所有在网络上被传送的包,并分析其内容的程序。它通常被用来检查网络工作情况,或是用来发现网络程序的bugs。通过ethereal对TCP、UDP、SMTP、telnet和FTP等常用协议进行分析,非常有助于网络故障修复、分析以及软件和协议开发。,它以开源、免费、操作界面友好等优点广为世界各地网络研究人员使用为网络协议分析搭建了一个良好的研究平台。 1.1课程设计的内容 (1)掌握数据包捕获和数据包分析的相关知识; (2)掌握Ethreal软件的安装、启动,并熟悉用它进行局域网数据捕获和分析的功能; (3)设计一个简单的数据包捕获与分析软件。 1.2课程设计的要求 (1)按要求编写课程设计报告书,能正确阐述设计结果。 (2)通过课程设计培养学生严谨的科学态度,认真的工作作风和团队协作精神。 (3)学会文献检索的基本方法和综合运用文献的能力。 (4)在老师的指导下,要求每个学生独立完成课程设计的全部内容。

实验三 网络数据包的捕获与分析

实验三 网络数据包的捕获与分析 一、实验目的和要求 通过本次实验,了解sniffer 的基本作用,并能通过sniffer 对指定的网络行为所产生的数据包进行抓取,并分析所抓取的数据包。 二、实验内容 A :1、首先打开sniffer 软件,对所要监听的网卡进行选择 2、选择网卡按确定后,进入sniffer 工作主界面,对主界面上的操作按钮加以熟悉。 B :设置捕获条件进行抓包 基本的捕获条件有两种: 1、链路层捕获,按源MAC 和目的MAC 地址进行捕获,输入方式为十六进制连续输入,如:00E0FC123456。 2、IP 层捕获,按源IP 和目的IP 进行捕获。输入方式为点间隔方式,如:10.107.1.1。如果选择IP 层捕获条件则ARP 等报文将被过滤掉。 任意捕协议捕缓冲区基本捕获条件数据流链路层捕获获条件编辑 获编辑 编辑 链路层捕获IP 层捕获 方向 地址条件 高级捕获条件

在“Advance ”页面下,你可以编辑你的协议捕获条件,如图: 选择要捕捕获帧长错误帧是保存过滤获的协议 度条件 否捕获 规则条件 高级捕获条件编辑图 在协议选择树中你可以选择你需要捕获的协议条件,如果什么都不选,则表示忽略该条件,捕获所有协议。 在捕获帧长度条件下,你可以捕获,等于、小于、大于某个值的报文。 在错误帧是否捕获栏,你可以选择当网络上有如下错误时是否捕获。 在保存过滤规则条件按钮“Profiles ”,你可以将你当前设置的过滤规则,进行保存,在捕获主面板中,你可以选择你保存的捕获条件。 C :捕获报文的察看: Sniffer 软件提供了强大的分析能力和解码功能。如下图所示,对于捕获的报文提供了一个Expert 专家分析系统进行分析,还有解码选项及图形和表格的统计信息。 专家分析专家分析捕获报文的捕获报文的其他 系统 系统图形分析 统计信息 专家分析 专家分分析系统提供了一个只能的分析平台,对网络上的流量进行了一些分析对于分析出的

sniffer数据包捕获

实训报告 一、sniffer的功能认知; 1. 实时网络流量监控分析 Sniffer Portable LAN能够对局域网网络流量进行实时监控和统计分析,对每个链路上的网络流量根据用户习惯,可以提供以表格或图形(条形图、饼状图和矩阵图等)方式显示的统计分析结果,内容包括: ·网络总体流量实时监控统计:如当前和平均网络利用率、总的和当前的帧数、字节数、总网络节点数和激活的网络节点数、当前和总的平均帧长等。 ·协议使用和分布统计:如协议类型、协议数量、协议的网络利用率、协议的字节数以及每种协议中各种不同类型的帧的数量等。Sniffer包含通用的TCP和UDP网络应用协议如HTTP, Telnet, SNMP, FTP等。同时,Sniffer 也具有特有的灵活性允许增加自定义的应用。一旦应用协议加入Sniffer,针对应用的所有的监控、报警和报告便自动生效;

·包尺寸分布统计:如某一帧长的帧所占百分比,某一帧长的帧数等。 ·错误信息统计:如错误的CRC校验数、发生的碰撞数、错误帧数等; ·主机流量实时监控统计:如进出每个网络节点的总字节数和数据包数、前x个最忙的网络 节点等;

话节点对等;

·Sniffer还提供历史统计分析功能,可以使用户看到网络中一段时间内的流量运行状况,帮助用户更好的进行流量分析和监控。

2.应用响应时间监控和分析 Sniffer 在监控网络流量和性能的同时,更加关注在网络应用的运行状况和性能管理,应用响应时间(ART)功能是Sniffer中重要的组成部分,不仅提供了对应用响应时间的实时监控,也提供对于应用响应时间的长期监控和分析能力。 首先ART监控功能提供了整体的应用性能响应时间,让用户以多种方式把握当前网络通讯中的各类应用响应时间的对比情况,如客户机/服务器响应时间、服务器响应时间,最 快响应时间、最慢响应时间、平均响应时间和90%的请求的响应时间等。

IP及IPSEC协议数据包的捕获与分析分析

IP及IPSEC协议数据包的捕获与分析 为了掌握掌握IP和IPSEC协议的工作原理及数据传输格式,熟悉网络层的协议。我进行了以下实验:首先用两台PC互ping并查看其IP报文,之后在两台PC上设置IPSEC互ping并查看其报文。最终分析两者的报文了解协议及工作原理。 一、用两台PC组建对等网: 将PC1与PC2连接并分别配置10.176.5.119和10.176.5.120的地址。如图1-1所示。 图1-1 二、两PC互ping: IP数据报结构如图1-2所示。 图1-2 我所抓获的报文如图1-3,图1-4所示:

图1-3 请求包 图1-4 回应包 分析抓获的IP报文: (1)版本:IPV4 (2)首部长度:20字节 (3)服务:当前无不同服务代码,传输忽略CE位,当前网络不拥塞

(4)报文总长度:60字节 (5)标识该字段标记当前分片为第1367分片 (6)三段标志分别指明该报文无保留、可以分段,当前报文为最后一段 (7)片偏移:指当前分片在原数据报(分片前的数据报)中相对于用户数据字段 的偏移量,即在原数据报中的相对位置。 (8)生存时间:表明当前报文还能生存64 (9)上层协议:1代表ICMP (10)首部校验和:用于检验IP报文头部在传播的过程中是否出错 (11)报文发送方IP:10.176.5.120 (12)报文接收方IP:10.176.5.119 (13)之后为所携带的ICMP协议的信息:类型0指本报文为回复应答,数据部分 则指出该报文携带了32字节的数据信息,通过抓获可看到内容为:abcdefghijklmnopqrstuvwabcdefghi 三、IPSec协议配置: 1、新建一个本地安全策略。如图1-5。 图1-5 2、添加IP安全规则。如图1-6.

网络数据捕获方法

一、使用的函数库:libpcap(Packet Capture library)即数据包捕获函数库。支持Linux 系统,采用分组捕获机制的分组捕获函数库,用于访问数据链路层,在不同的平台上采用统一的编程接口,使用Libpcap编写的程序可自由的跨平台使用 Libcap 捕获数据包的方法流程 二、Winpcap:是基于win32的捕获数据包和网络分析的体系结构,包括一个内核级的包过滤器,一个底层的动态链接库(Packet.dll)一个高层并且与系统无关的库(Wpcap.dll)它可以从网卡捕获或者放送原始数据,同时能够过滤并且存储数据包主要功能有以下四项:

(1)捕获原始数据报,包括共享网络上各主机发送/接收的以及相互之间交换的数据报(2)在数据报发往应用程序之前,按照自定义的规则将某些特殊的数据报过滤掉 (3)在网络上发送原始的数据报 (4)手机网络通信过程中的统计信息 主要的优势:提供了一套标准的抓包接口,并且与libpcap兼容 Wincap抓包流程: 1.得到网络驱动列表,第一步就是要得到本地网卡列表 2.打开网卡捕获数据报,将网卡设置为混杂模式(处于混杂模式下的网卡将接收所有 流经它的数据报) 3.数据流的过滤 4.解析数据报 5.处理脱机的堆文件(可以做到从指定接口上捕获数据包并将它们存储到一个指定的 文件) 6.收集并统计网络流量 三、Raw Socket 方法 套接字:源IP地址和目的ip地址以及源端口号和目的端口号的组合称为套接字,用于标示客户端请求的服务器和服务。 Raw Socket 允许对较低层的协议直接访问,如IP,ICMP等。Raw Socket可以自如地控制Windows下的多种协议,能够对网络底层的传输机制进行控制,所以可以通过原始套接字来操纵网络层和传输层的应用。(如通过RS来接收发向本机的ICMP,IGMP协议包。也可以用来发送一些自定包头或自定协议的IP包)

网络还原精灵使用教程

对于有盘机房来说(还有就是每个教室都有电脑),计算机软件系统的维护工作异常繁重。网络还原精灵恰到好处的解决了管理员这些问题。通过给学生机安装客户端,教师机安装主控端,从而实现通过教师机控制学生机的数据还原、定时还原、资料转储、关机、重启、下发文件、发送信息等目的,有效保护学生机CMOS信息安全,保护硬盘免受病毒侵害,让意外被删除或覆盖的文件失而复得,让安装失败的应用软件彻底自动清除,免除由于系统意外死机所带来的资料丢失等问题。以下我使用后安装、使用该网络版还原精灵时,须注意的问题: 1.建议安装前请先扫瞄电脑确认电脑没有病毒,然后关闭防毒软件,并将CMOS 中关于 Virus Warning 设置为Disable。 2.若您的系统安装有多重开机软件,请慎重安装网络还原精灵,否则可能会破坏您的操作系统。目前网络还原精灵可以支持的多重开机软件主要有System Command, PQMagic。 3.安装网络还原精灵的硬盘无法作为 ghost 的源盘,要作 ghost 操作请先移除网络还原精灵。如果要将装有网络还原精灵的硬盘作为目标盘,则须整盘克隆。 4.在 Windows NT,Windows 2000操作系统下安装与使用被控端,必须以具有Administrator权限的用户登录。 5.如果在第一个硬盘上有多种操作系统,则必须在每一个操作系统上都安装网络还原精灵。具体操作如下: (1)在安装网络还原精灵被控端过程中,选择"是的,我有多个。"选项。 (2)如果此时网络还原精灵还未安装在其它操作系统上,请同时选择"不,这不是最后一个操作系统。" 选项。然后按「下一步」按钮直到在这个操作系统下安装完成。

实验1:网络数据包的捕获与协议分析

实验报告 ( 2014 / 2015 学年第二学期) 题目:网络数据包的捕获与协议分析 专业 学生姓名 班级学号 指导教师胡素君 指导单位计算机系统与网络教学中心 日期2015.5.10

实验一:网络数据包的捕获与协议分析 一、实验目的 1、掌握网络协议分析工具Wireshark的使用方法,并用它来分析一些协议; 2、截获数据包并对它们观察和分析,了解协议的运行机制。 二、实验原理和内容 1、tcp/ip协议族中网络层传输层应用层相关重要协议原理 2、网络协议分析工具Wireshark的工作原理和基本使用规则 三、实验环境以及设备 Pc机、双绞线、局域网 四、实验步骤 1.用Wireshark观察ARP协议以及ping命令的工作过程: (1)打开windows命令行,键入“ipconfig -all”命令获得本机的MAC地址和缺省路由器的IP地址;结果如下: (2)用“arp -d”命令清空本机的缓存;结果如下 (3)开始捕获所有属于ARP协议或ICMP协议的,并且源或目的MAC地址是本机的包。(4)执行命令:ping https://www.doczj.com/doc/466676331.html,,观察执行后的结果并记录。

此时,Wireshark所观察到的现象是:(截图表示) 2.设计一个用Wireshark捕获HTTP实现的完整过程,并对捕获的结果进行分析和统计。(截 图加分析) 3.设计一个用Wireshark捕获ICMP实现的完整过程,并对捕获的结果进行分析和统计。要求:给出捕获某一数据包后的屏幕截图。以16进制形式显示其包的内容,并分析该ICMP 报文。(截图加分析) 4. 设计一个用Wireshark捕获IP数据包的过程,并对捕获的结果进行分析和统计(截图加分析) 要求:给出捕获某一数据包后的屏幕截图。以16进制形式显示其包的内容,并分析在该数据包中的内容:版本首部长度、服务类型、总长度、标识、片偏移、寿命、协议、源Ip地址、目的地址 五、实验总结

网络数据包捕获工具的实现

本文来自中国协议分析网技术论坛,转载请注明 sniffer tcp http ospf rtp dhcp Sniffer EtherealWinpcap 其它技术返回首页当前位置: 网站首页>>协议分析>>Winpcap>> 利用WinPcap技术捕获数据包时间:2006-11-14 来源: 作者: 点击:849次收藏到: 前言随着网络入侵的不断发展,网络安全变得越来越重要,于是网络入侵取证系统的研究也变得日益重要。在网络入侵取证系统中,对网络上传送的数据包进行有效的监听即捕获包是目前取证的关键技术,只有进行高效的数据包捕获,网络管理员才能对所捕获的数据进行一系列 前言 随着网络入侵的不断发展,网络安全变得越来越重要,于是网络入侵取证系统的研究也变得日益重要。在网络入侵取证系统中,对网络上传送的数据包进行有效的监听即捕获包是目前取证的关键技术,只有进行高效的数据包捕获,网络管理员才能对所捕获的数据进行一系列的分析,从而进行可靠的网络安全管理。 1winpcap简介 WinPcap 是由伯克利分组捕获库派生而来的分组捕获库,它是在Windows 操作平台上来实现对底层包的截取过滤。WinPcap 为用户级的数据包提供了Windows 下的一个平台。WinPcap 是BPF 模型和Libpcap 函数库在Windows 平台下网络数据包捕获和网络状态分析的一种体系结构,这个体系结构是由一个核心的包过滤驱动程序,一个底层的动态连接库Packet.dll 和一个高层的独立于系统的函数库Libpcap 组成。底层的包捕获驱动程序实际为一个协议网络驱动程序,通过对NDIS 中函数的调用为Win95、Win98、WinNT、和Win2000 提供一类似于UNIX 系统下Berkeley Packet Filter 的捕获和发送原始数据包的能力。Packet.dll 是对这个BPF 驱动程序进行访问的API 接口,同时它有一套符合Libpcap 接口(UNIX 下的捕获函数库)的函数库。WinPcap的结构图如图1。 WinPcap 包括三个部分:第一个模块NPF(Netgroup Packet Filter),是一个虚拟设备驱动程序文件。它的功能是过滤数据包,并把这些数据包原封不动地传给用户态模块,这个过程中包括了一些操作系统特有的代码。第二个模块packet.dll为win32平台提供了一个公共的接口。不同版本的Windows系统都有自己的内核模块和用户层模块。Packet.dll用于解决这些不同。调用Packet.dll的程序可以运行在不同版本的Windows平台上,而无需重新编译。第三个模块Wpcap.dll是不依赖于操作系统的。它提供了更加高层、抽象的函数。 packet.dll和Wpcap.dll:packet.dll直接映射了内核的调用。Wpcap.dll提供了更加友好、功能更加强大的函数调用。WinPcap的优势提供了一套标准的抓包接口,与libpcap兼容,可使得原来许多UNIX平台下的网络分析工具快速移植过来便于开发各种网络分析工具,充分考虑了各种性能和效率的优化,包括对于NPF内核层次上的过滤器支持,支持内核态的统计模式,提供了发送数据包的能力。 2网络数据包捕获的原理 以太网(Ethernet)具有共享介质的特征,信息是以明文的形式在网络上传输,当网络适配器设置为监听模式(混杂模式,Promiscuous)时,由于采用以太网广播信道争用的方式,使得监听系统与正常通信的网络能够并联连接,并可以捕获任何一个在同一冲突域上传输的数据包。IEEE802.3 标准的以太网采用的是持续CSMA 的方式,正是由于以太网采用

计算机网络实验八 Sniffer Pro数据包捕获与协议分析汇编

惠州学院《计算机网络》实验报告 实验08 Sniffer Pro数据包捕获与协议分析 1. 实验目的 (1)了解Sniffer的工作原理。 (2)掌握SnifferPro工具软件的基本使用方法。 (3)掌握在非交换以太网环境下侦测、记录、分析数据包的方法。 2. 实验原理 数据在网络上是以很小的被称为“帧”或“包”的协议数据单元(PDU)方式传输的。以数据链路层的“帧”为例,“帧”由多个部分组成,不同的部分对应不同的信息以实现相应的功能,例如,以太网帧的前12个字节存放的是源MAC地址和目的MAC地址,这些数据告诉网络该帧的来源和去处,其余部分存放实际用户数据、高层协议的报头如TCP/IP 的报头或IPX报头等等。帧的类型与格式根据通信双方的数据链路层所使用的协议来确定,由网络驱动程序按照一定规则生成,然后通过网络接口卡发送到网络中,通过网络传送到它们的目的主机。目的主机按照同样的通信协议执行相应的接收过程。接收端机器的网络接口卡一旦捕获到这些帧,会告诉操作系统有新的帧到达,然后对其进行校验及存储等处理。 在正常情况下,网络接口卡读入一帧并进行检查,如果帧中携带的目的MAC地址和自己的物理地址一致或者是广播地址,网络接口卡通过产生一个硬件中断引起操作系统注意,然后将帧中所包含的数据传送给系统进一步处理,否则就将这个帧丢弃。 如果网络中某个网络接口卡被设置成“混杂”状态,网络中的数据帧无论是广播数据帧还是发向某一指定地址的数据帧,该网络接口卡将接收所有在网络中传输的帧,这就形成了监听。如果某一台主机被设置成这种监听(Snfffing)模式,它就成了一个Sniffer。 一般来说,以太网和无线网被监听的可能性比较高,因为它们是一个广播型的网络,当然无线网弥散在空中的无线电信号能更轻易地截获。 3. 实验环境与器材 本实验在虚拟机中安装SnifferPro4.7版本,要求虚拟机开启FTP、HTTP等服务,即虚拟机充当服务器,物理机充当工作站。 物理机通过Ping命令、FTP访问及网页访问等操作实验网络数据帧的传递。 4. 实验内容 介绍最基本的网络数据帧的捕获和解码,详细功能请参阅本教材辅助材料。 (1)Sniffer Pro 4.7的安装与启动 1)启动Sniffer Pro 4.7。在获取Sniffer Pro 4.7软件的安装包后,运行安装程序,按要求输入相关信息并输入注册码,若有汉化包请在重启计算机前进行汉化。完成后重启计算机,点击“开始”→“程序”→“Sniffer Pro”→“Sniffer”,启动“Sniffer Pro 4.7”程序。 2)选择用于Sniffer的网络接口。如果计算机有多个网络接口设备,则可通过菜单“File”→“Select Settings”,选择其中的一个来进行监测。若只有一块网卡,则不必进行此步骤。

网络中心灾难恢复计划

目录

1.目的 (4) 2.适用范围 (4) 3.启动条件 (4) 4.恢复计划目标 (4) 4.1完成时间: (4) 4.2既定恢复的网络服务: (4) 4.3覆盖范围及容量: (4) 5.恢复计划方针 (4) 6.恢复计划时间表 (5) 6.1临时恢复计划小组 (5) 6.2火灾消除后 (5) 7.人员组织及职责 (6) 8.资源需求: (6) 8.1外部援助 (6) 8.2公司内部 (7) 8.3硬件设备 (7) 8.4软件 (7) 8.5配置文件与数据 (8) 9.恢复步骤: (8) 9.1命令下达后 (8) 9.2火灾消除之际 (8) 9.3恢复计划正式启动同时 (8) 9.4现场勘察工作结束后 (8) 10.公司因特网专线服务恢复 (9) 11.邮件系统恢复步骤 (11) 12.点对点专线恢复 (11) 13.恢复确认 (12)

1. 目的 确保公司网络中心在遭受灾难性事故十,公司关键业务运作的连续性,消除或减少灾难对紧要业务流程的影响。适用范围 2. 适用范围 本应急响应预案适用于公司所有客户的应急处理过程。 3. 启动条件 重大灾难或故障导致位于公司的网络中心物理场所损毁、设备及网络线路失效、正常网络服务全部中断。 4. 恢复计划目标 4.1 完成时间: 根据《业务连续性管理方案》定义,本计划所指网络中心灾难为大规模灾难。而在遭受大规模灾难后,公司关键业务应在36小时内恢复运作,因此相应的网络中心临时恢复计划应在24小时内完成。 4.2 既定恢复的网络服务: 公司现有关键业务赖以支持的主要网络服务,即为:公司因特网专线、邮件服务、客户点对点专线、以及远程文件传输服务(FTP)等。 4.3 覆盖范围及容量: 重建的网络服务应能覆盖公司所有部门的关键业务,且为每部门提供至少不低于5个网络节点。 5. 恢复计划方针 本计划将恢复工作按业务重要程度依次排序,优先级排序依据分别为服务等级协议(SLA)、客户战略关系、项目直接效益等。由此而推断出的的网络服务恢复顺序依次为:因特网专线→邮件服务→客户点对点专线→远程文件传输服务。恢复计划小组为用户开通相关网络服务的优先顺序参见下图:黄色部分业务→绿色部分业务→红色部分业务,即以紧要网络服务与重要部门为中心依次递进扩展恢复工作。(这部分的的恢复顺序应该与修改后的业务连续性管理方案一致。

ip数据包的捕获与解析代码

// PackCaptureDlg.h:header file #define IPV4_WERSION 4 #define IPV6_WERSION 6 #define ICMP_PACKET 1 #define IGMP_PACKET 2 #define TCP_PACKET 6 #define EGP_PACKET 8 #define UDP_packet 17 #define OSPF_PACKET 89 class CPackCaptureDlg:public CDialog { public: //{{AFX_DATA(CFindHostDlg) enum {IDO=IDO_PACKCAPTURE_DIALOG}; int m_Count; CString m_Packet; //}}AFX_DATA protected: //{{AFX_MSG(CFindHostDlg) afx_msg void OnCapture(); //}}AFX_MSG private: typedef struct IP_HEAD //IP头部结构 { union { unsigned char Version; //版本(字节前四位) unsigned char HeadLen; //头部长度(字节后四位) }; unsigned char ServiceType; //服务类型 unsigned short TotalLen; //总长度 unsigned short Identifier; //标识符 union { unsigned short Flags; //标志位(字前三位) unsigned short FragOffset;

http网络数据包截获与还原

摘要:在因特网日益发展壮大的今天,万维网在其上的通信量已经超过90%,万维网信息的安全问题已经越来越被人们所重视,而作为万维网应用层核心协议的http协议是基础。当网络发生异常时,对网络上传输的数据进行监视和分析,是网管人员解决网络故障的一种常用方法。 本文介绍应用层HTTP数据包的截获与还原技术的实现,并简要介绍其中所涉及的数据包截获、数据包分析、应用数据重组以及数据包解码等关键技术。该系统可以监听网管人员感兴趣的数据包,通过对其进行分析和研究,分析出其遵守的协议以及其应用层数据,恢复到被监视用户所看到数据的格式。该系统的实现,为网管人员有效地管理网络提供了一种直观的工具。 关键词:http数据包;截获;还原

Abstract: With the increasing development and expansion of Internet, the traffic of World-Wide-Web has occupied more than 90 percent on Internet at present. Therefore, people have attached more and more importance to the security of the WWW information. While HTTP (Hypertext Transfer Protocol) as the central protocol of WWW’s application layer forms the foundation of it.Monitoring and analysing the data transferred on network is the daily works for network manager The writer of this paper introduced the design and implementation for capturing a part of http data packets, recovering the captured http data packets,and analyzed some key technologies about capturing data packet brief,packet analyzing, reconstructing application data and packet decoding and so on.This system can monitor the packages which network manager is interested in,analyze the protocols which the packet uses,recover the format which the end user see.The implementation of the system provides a visual tool for network managers. Key W ords:http packets;capture;recover

系统备份和恢复完全解决方案

系统备份和恢复完全解决方案 许计算机用户都会有这样的经历,在使用电脑过程中敲错了一个键,几个小时,甚至是几天的工作成果便会付之东流。就是不出现操作错误,也会因为病毒、木马等软件的攻击,使你的电脑出现无缘无故的死机、运行缓慢等症状。随着计算机和网络的不断普及,确保系统数据信息安全就显得尤为重要。在这种情况下,系统软件数据备份和恢复就成为我们平时日常操作中一个非常重要的措施,本文从系统软件备份和恢复、常用软件备份和恢复两个方面提供了完整的解决方案。 一、Windows XP系统备份/恢复方案 数据备份/恢复:顾名思义,就是将数据以某种方式加以保留,以便在系统遭受破坏或其他特定情况下,重新加以利用的一个过程。概念虽然简单,但真正实现起来却是件繁琐的事情,下文笔者利用windows自带的备份、恢复工具创建系统还原点,并利用还原点进行系统恢复的一套系统软件备份/恢复解决方案。 1、创建还原点 使用系统还原的第一步是创建系统还原点,它的作用就像用户没病时存钱,一旦生病才需要用钱那样-“防微杜渐”。 使用前提:为了确保系统还原功能的有效性,安装Windows XP系统分区不能关闭系统还原功能,但可以调整用于系统还原的磁盘空间。 方法:点击“控制面板”中的“系统”对话框的“系统还原”标签项(图1),确保“在所有驱动器上关闭系统还原”复选项不被勾选;再确定“可用的驱动器”下的Windows XP 分区状态是否为“监视”;最后点击“设置”按钮打开设置对话框(图2),根据分区剩余磁盘空间情况拖动滑块确定“要使用的磁盘空间大小”。 小提示:非系统分区一般情况下是不需要启动系统还原功能的,为了节约磁盘空间,可以在图2中勾选“关闭这个驱动器上的“系统还原””选项即可。

任务三计算机网络试验IP数据报捕获与分析

任务三网络编程 一、实验目的 捕获本机网卡的IP包,对捕获的IP包进行解析。要求必须输出以下字段:版本号、总长度、标志位、片偏移、协议、源地址和目的地址。 二、实验环境 平台:Windows 编程环境:VC 6.0 语言:C++ 三、实验原理 3.1 数据报格式 以太帧由一个包含三个字段的帧头开始,前两个字段包含了物理地址,各六个字节,头部的第三个字段包含了 16 位的以太帧类型,帧头后面是数据区。根据帧类型可以判断是哪种数据包,一般常用的有 0X0080(IP 数据包)、 0X0806(ARP 请求/应答)和 0X8035(RARP 请求/应答)三种类型。TCP/IP 协议簇中位于网络层的协议,也是最为核心的协议。所有的 TCP, UDP, ICMP及 IGMP 数据都以 IP 数据报格式传输。IP 协议提供了无连接的、不可靠的数据传输服务。同时IP 协议的一个重要功能是为网络上的包传递提供路由支持。TCP/IP 协议使用 IP 数据报这个名字来指代一个互联网数据包。IP 数据报由两部分组成,前面的头部和后面的数据区,头部含有描述该数据报的信息,包括源 IP 地址和目的 IP 地址等。在 IP 数据报的报头中的众多信息可根据协议类型字段区分出该数据包的类型,常用的有TCP 包、 UDP 包、 ICMP 包等,各格式分别如下所示: IP数据报格式 TCP数据报格式 ICMP数据报格式 数据报格式UDP. 3.2 捕获数据包方法 目前常用的捕获数据包的方法有原始套接字、LibPcap、WinPcap和JPcap等方法。本次实验选用套接字方法。套接字是网络应用编程接口。应用程序可以使用

相关主题
文本预览
相关文档 最新文档