搜档网
当前位置:搜档网 › 基于DPI的应用层协议解析

基于DPI的应用层协议解析

摘要

随着互联网在中国的迅速发展,全国各大网络运营商的网络规模都在不断扩张,网络结构日渐复杂,网络业务日趋丰富,网络流量高速增长,这使得网络管理的要求和难度都大大提高。因此,网络运营商需要利用协议分析对网络进行可靠、有效的监测与控制,而传统依靠端口识别的协议分析已经无法实现对协议的准确识别。在这种情况下,如何通过一种新的协议分析方法对网络进行流量控制、网络计费、内容过滤、以及流量管理,为用户提供一个良好的网络环境成为了一个热门的研究课题。

首先,对应用层协议解析的研究现状和已有的检测方法进行了分析和介绍,在此基础上采用了深度包检测(DPI)技术对应用层协议解析;其次,对应用层协议解析系统的系统架构及各子系统的功能做了概要介绍,同时将协议分析模块(包括HTTP分析、DHCP分析)作为核心模块详细加以说明;再次,对整个应用层协议解析做了详细设计,阐述了各个模块的设计原理及实现流程,并通过系统测试,证实了系统设计方案的可行性和正确性。最后,对研究工作进行了总结与展望,肯定了其研究意义和价值,同时也指出了系统存在的不足及今后的改进方向。

关键词:深度包检测,应用层协议解析,数据包捕获函数库,

超文本传输协议

Abstract

With the rapid development of Internet in China, the major network operators, network size in the ever-expanding, increasingly complex network structure, network operations are becoming increasingly rich, high-speed network traffic growth, which makes network management requirements and greatly increase thedifficulty. Therefore, network operators need to network a reliable effective monitoring and control, in this case, how to protocol analysis of network flow control, network billing, content filtering, and traffic management, to provide users with a good network environment has become a hot research topic.

First ,the artical has analysised on the research present situation and the existing detection method on the application layer protocol analysis, and based on this, it used the depth inspection packet (DPI) technology for application layer protocol analysis; Second, the article given an overview on the system architecture of the application layer protocol analysis system and subsystem functions,and at the same time, it gaven a detailed description on the analysis of hypertext transfer protocol (HTTP: hypertext transport protocol) as the core module; Three, the article given a detailed design on the application layer protocol analysis system, described the design principles and processes of each module, and system testing, confirmed the feasibility of the system design. Finally, this paper summarized the research work and looking, ensured its significance and value, and also pointed out the shortcomings of the system and the future direction of the improvement.

Keywords:deep packet inspection, the application layer protocol analysis, libpcap, hypertext transfer protocol analysis

目录

摘要 ........................................................................................................................... I Abstract ......................................................................................................................... II 1 绪言

1.1 课题背景及研究的目的和意义 (1)

1.2深度数据包检测(DPI)国内外研究概况 (2)

1.3 应用层协议概述 (3)

1.4论文的组织结构 (11)

2 应用层协议解析系统设计方案的研究

2.1 系统需求分析 (13)

2.2 基于DPI的应用层协议解析系统设计方案 (14)

2.3 协议分析系统设计方案 (15)

2.4 系统开发语言、工具及环境 (16)

3 基于DPI的应用层协议解析与设计

3.1数据包捕获模块 (17)

3.2 HTTP分析模块 (23)

3.3 DHCP分析模块 (25)

4 系统测试

4.1 测试指标 (28)

4.2 测试环境 (28)

4.3 测试步骤及结果分析 (28)

5 总结与展望 (30)

致谢 (31)

参考文献 (32)

1 绪言

1.1 课题背景及研究的目的和意义

1.1.1 课题背景

在如今Internet高速发展,网络的内容安全是网络安全的重要组成部分。对于网络管理来说,最重要的就是识别和区分网络流量,通过协议识别可以对网络进行流量控制、网络计费、内容过滤、以及流量管理。

传统的协议识别采用的是端口识别,如检测到端口号为80时,则认为该应用代表着普通上网应用。这种识别能达到较高的速率,但是现在大量的应用层协议为了避免识别,逃避防火墙的检查,不使用固定的端口进行通信。这不仅包括众多近年新出现的P2P协议,而且包括了越来越多的传统协议,比如BitTorrent、eMule等P2P协议,其采用动态端口进行通信;而Skype、QQ等协议则共用80端口。并且当前网络上的一些非法应用会采用隐藏或假冒端口号的方式躲避检测和监管,造成仿冒合法报文的数据流侵蚀着网络[2]。越来越多诸如此类协议的产生,采用L2~L4层的传统检测方法已无能为力了,因此近年来很多的研究工作都致力于开发新的方法来识别应用层协议。

1.1.2 课题研究的目的和意义

DPI(Deep Packet Inspection,深度包检测)技术就是近年来出现的一种协议识别技术。DPI技术不同于传统的协议(如图1.1)。

传统报文检测仅仅分析IP包的四层以下的内容,包括源地址、目的地址、源端口、目的端口以及协议类型。而是在在分析包头的基础上,增加了对应用层的分析,是一种基于应用层的流量检测和控制技术,当IP数据包、TCP或UDP数据流经过基于DPI技术的网络设备时,DPI引擎通过深入读取IP包载荷的内容来对OSI 7层协议中的应用层信息进行重组,从识别出IP包的应用层协议。

随着对应用层协议解析的要求越来越高,对基于DPI的应用层协议解析技术的研究也变得越来越重要。

图1.1 两种报文检测的区别

1.2深度数据包检测(DPI)国内外研究概况

深度数据包检测(DPI)是一项已经在流量管理、安全和网络分析等方面获得成功的技术,同时该技术能够对网络数据包进行内容分析,但又与header 或者基于元数据的数据包检测有所不同,这两种检测通常是由交换机、防火墙和入侵检测系统IPS设备来执行的。通常的DPI解决方案能够为不同的应用程序提供深度数据包检测。只针对header的处理限制了能够从数据包处理过程中看到的内容,并且不能够检测基于内容的威胁或者区分使用共同通信平台的应用程序。DPI能够检测出数据包的内容及有效负载并且能够提取出内容级别的信息,如恶意软件、具体数据和应用程序类型。

随着网络运营商、互联网服务提供商(ISP)以及类似的公司越来越依赖于其网络以及网络上运行的应用程序的效率,管理带宽和控制通信的复杂性以及安全的需要变得越来越重要。DPI恰好能够提供这些要求[3],寻求更好的网络管理以及合规的用户企业应该把DPI作为一项重要的技术。

DPI技术能够将数据包组装到网络的流量中[20,23],数据处理(包括协议分类)接着可以从流量内容中提取信息,流量重组和内容提取都需要大量处理能力,尤其是在高流量的数据流中。成功的DPI技术必须能够提供基本功能,如高性能计算和对分析任务的灵活的支持。

DPI的识别技术可以分为三大类:基于“特征字”的识别技术,应用层网关

识别技术和行为模式识别技术。

(1)基于“特征字”的识别技术[1]。不同的应用通常依赖于不同的协议,而不同的协议都有其特殊的指纹,这些指纹可能是特定的端口、特定的字符串或者特定的Bit 序列。基于“特征字”的识别技术通过对业务流中特定数据报文中的“指纹”信息的检测以确定业务流承载的应用。

根据具体检测方式的不同,基于“特征字”的识别技术又可以被分为固定位置特征字匹配、变动位置的特征匹配以及状态特征匹配三种技术。通过对“指纹”信息的升级,基于特征的识别技术可以很方便的进行功能扩展,实现对新协议的检测。

(2)应用层网关识别技术。某些业务的控制流和业务流是分离的,业务流没有任何特征。这种情况下,我们就需要采用应用层网关识别技术。应用层网关需要先识别出控制流,并根据控制流的协议通过特定的应用层网关对其进行解析,从协议内容中识别出相应的业务流。对于每一个协议,需要有不同的应用层网关对其进行分析。

(3)行为模式识别技术。行为模式识别技术基于对终端已经实施的行为的分析,判断出用户正在进行的动作或者即将实施的动作。行为模式识别技术通常用于无法根据协议判断的业务的识别。

1.3 应用层协议概述

应用层(Application layer)是七层OSI模型[4,5](如图1.2所示)的第七层。应用层直接和应用程序接口并提供常见的网络应用服务。下面对几种常见的应用层协议的通信过程进行简单的分析。

1.3.1 HTTP协议

HTTP协议[6,7](hypertext transport protocol,超文本传输协议)是一个属于应用层的面对对象协议,它是工作在TCP/IP协议体系的TCP(Transfer Control Protocol, 传输控制协议)之上可靠传输,采用的是C/S(客户端/服务器)的工作模式,如图1.3所示。

图1.2 OSI七层网络模型

HTTP协议的通信过程如下:

(1)由客户端向服务器发起建立链接的请求,请求过程通过TCP三次握手来完成;

(2)客户端继续向服务器发出请求,告知服务器自己的请求信息;

(3)服务器通过响应向客户端返回其需要的信息;

(4)最后通过TCP 四次握手关闭链接,从而完成一次基本的通信过程。

图1.3 HTTP工作模式图

在HTTP通信过程中,HTTP 的请求报文分为请求行、请求头部和请求数据三部分组成,一般格式如图 1.4 所示。

图1.4 HTTP 请求报文一般格式

其中请求方法是指当前 HTTP 请求报文中对所请求的资源的操作类型,常用的方法[8]包括 GET 、POST 、HEAD 、PUT 、CONNECT 、DELETE 、TRACE 和 OPTION ;URL (Uniform Resource Locator, 统一资源定位符)是统一资源定位符,用来指出请求资源的路径;请求头部说明了浏览器、服务器或者报文主体的一些信息。

而HTTP 响应报文的格式如图 1.5 所示。

图1.5 HTTP 相应报文一般格式

响应报文的一部分内容跟请求报文一致,不同的主要是状态码和解释状态码的短语。状态码是用来表示当服务器收到客户端的请求报文之后返回的一个响应状态,表示请求是否被理解或被满足。解释状态的短语是对前面状态码的进一步的说明。HTTP 协议有固定的状态码以及其表达的信息,分别是:1xx 表示信息类,2xx 表示成功类,3xx 表示重定向类,4xx 表示客户端错误类, 5xx 表示服务器错误类。

请求行

请求行

1.3.2 DHCP协议

DHCP(Dynamic Host Configuration Protocol, 动态主机设置协议) 是TCP/IP 协议簇中的一种,主要是用来给网络客户机分配动态的IP地址。DHCP协议的通信过程如下:

(1)发现阶段,即dhcp客户端寻找dhcp服务器的阶段。客户端以广播方式发送dhcp_discover报文,只有dhcp服务器才会对此响应。

(2)提供阶段,即dhcp服务器提供ip地址的阶段。dhcp服务器接收到客户端的dhcp_discover报文后,从ip地址池中挑选一个尚未分配的ip地址

分配给客户端,向该客户端发送包含出租ip地址和其它设置的

dhcp_offer报文。服务器在发送dhcp_offer报文之前,会以广播的方式

发送arp报文进行地址探测,以保证发送给客户端的ip地址的唯一性。(3)选择阶段,即dhcp客户端选择ip地址的阶段。如果有多台dhcp服务器向该客户端发来dhcp_offer报文,客户端只接受第一个收到的

dhcp_offer报文,然后以广播方式向各dhcp服务器回应dhcp_request

报文,该信息中包含dhcp服务器在dhcp_offer报文中分配的ip地址。(4)确认阶段,即dhcp客户端确认所提供ip地址的阶段。客户端收到dhcp_ack确认报文后,广播arp报文,目的地址是被分配的ip地址。

如果在规定的时间内没有收到回应,客户端才使用此地址。

DHCP协议中传输的报文由链路层头(承载链路层信息),IP头(标准IP协议头,20B),UDP头(8B)和DHCP报文四部分组成。其中DHCP报文格式如图1.6所示。

其中各字段的说明如下:

op:报文的操作类型,分为请求报文和响应报文,1为请求报文;2为响应报文。具体的报文类型在option字段中标识。

htype:硬件地址类型。

hlen:硬件地址长度。系统目前只对以太网支持,硬件地址长度固定为6。

hops:DHCP 报文经过的DHCP 中继的数目。DHCP 请求报文每经过一个DHCP中继,该字段就会增加1。

图1.6 DHCP报文格式

xid:由客户端软件产生的随机数,用于匹配请求和应答报文。

secs:客户端进入IP 地址申请进程的时间或者更新IP 地址进程的时间;

由客户端软件根据情况设定。目前没有使用,固定为0。

flags:标志字段。第一个比特为广播响应标识位,用来标识DHCP 服务器响应报文是采用单播还是广播方式发送,0 表示采用单播方式,1 表

示采用广播方式。其余比特保留不用。

ciaddr:DHCP客户端的IP地址。

yiaddr:DHCP服务器分配给客户端的IP地址。

siaddr:DHCP客户端获取IP地址等信息的服务器IP地址。

giaddr:DHCP客户端发出请求报文后经过的第一个DHCP中继的IP地址。chaddr:DHCP客户端的硬件地址。

sname:DHCP客户端获取IP地址等信息的服务器名称。

file:DHCP服务器为DHCP客户端指定的启动配置文件名称及路径信息。options:可选变长选项字段,包含报文的类型、有效租期、DNS 服务器的IP地址、WINS服务器的IP地址等配置信息。

1.3.3 FTP协议

FTP [9](File Transfer Protocol,文件传输协议)支持两种模式:

(1)Standard 模式(也就是PORT,主动模式), 由FTP 的客户端发送PORT 命令到FTP 服务器

(2)Passive 模式(也就是PASV,被动模式),由FTP 的客户端发送PASV 命令到FTP 服务器。

两种模式的数据和控制链路都是分开传输的,但不同的地方在于主动模式由服务器端发起数据链路的链接请求,而被动模式由客户端发起数据链路的链接请求。

FTP 的一个完整的通信过程[10]如图 1.7 所示。

图1.7 FTP通信过程

从图中可以看出FTP 通信过程中,控制链路和数据链路并不在同一个端口进行通信,而是通过两个不同的端口来独立地进行通信。

主动模式下,FTP的通信过程如下:

(1)由客户端通过TCP三次握手向服务器发起控制链接的请求;

(2)当和服务器建立控制链接成功之后,在主动模式下客户端将会发一个端口号给服务器,告诉当前这次传输服务器所使用的数据传输端口;

(3)服务器收到这个信息后就向客户端发起数据链接请求,并开始传递数据;

(4)数据传输完成后,该数据链路就被拆除了,如果客户端进行一次新的传输,则向服务器发送一个新的端口号,重新建立链接。

在整个过程中,控制链路的链接一直都存在,直到FTP 的整个通信过程结束,而数据链路每一次传输就需要建立一次新的链接。

被动模式的通信过程和主动模式基本一致,只是由客户端发起数据链路的建立请求。

在FTP 交互的过程中,客户端通过命令字段来告诉服务器相关的信息,常用的有:

(1)访问控制命令,包括USER,PASS,CWD,QUIT 等八种;

(2)传输参数命令,包括PORT,PASV,TYPE,STRU,MODE 五种;

(3)FTP 服务命令,包括RETR,STOR,LIST,ABOR 等二十种。

服务器端则通过状态码告诉客户端当前服务器的反馈状态。2xx 表示当前的操作成功,3xx 表示权限问题,4xx 表示文件问题,5xx 表示服务器问题。

1.3.4 SMTP协议

SMTP[11](Simple Mail Transfer Protocol,简单邮件传输协议)是一种提供可靠且有效的电子邮件传输协议。SMTP 是建模在FTP 文件传输服务上的一种邮件服务,SMTP 服务器默认端口为25,主要用于传输系统之间的邮件信息。

SMTP 交互过程[12]比较简单:

(1)客户端向SMTP服务器的25端口发起请求,通过三次握手建立链接;

(2)服务器返回220 的状态码,告诉客户端服务准备成功;

(3)客户端收到220状态码后向服务器发出HELO 或者EHLO 的命令告诉服务器该客户端需要的服务类型,其中HELO 是默认的SMTP

服务,EHLO 要求除了默认的服务之外还要支持扩展服务。

(4)服务器向客户端返回它支持的服务,之后双方用命令字和状态码进行交互。

SMTP 常用的命令字及其功能如表1.1 所示。

表 1.1 SMTP常用命令

SMTP 协议中常用到的状态码有:220 表示服务就绪;221 表示服务关

闭传输信道;250 表示要求的邮件操作完成;550 要求的邮件操作未完成,邮箱目前不可以用(例如邮箱未找到或不可访问);354开始邮件输入,以

结束[13]。

1.3.5 POP3协议

POP3[26](Post Office Protocol 3,邮局协议3)协议适用于C/S 架构模型的电子邮件协议,POP3 是此协议发展的第三版,它规定怎样将个人计算机连接到Internet 的邮件服务器。它是因特网电子邮件的第一个离线协议,POP3协议允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时根据客户端的操作删除或保存在邮件服务器上的邮件,而POP3 服务器则是

遵循POP3 协议的接收邮件服务器,用来接收电子邮件的。

POP3 客户端向服务器发送命令并等待响应,POP3 命令采用命令行形式,用ASCII 码表示。服务器响应是由一个单独的命令行组成,或多个命令行组成,响应第一行以ASCII 文本+OK 或-ERR 指出相应的操作状态是成功还是失败。

在协议中有三种状态[27]:认可状态,处理状态,和更新状态。当客户机与

服务器建立联系时,一旦客户机提供了自己身份并成功确认,即由认可状态转入处理状态,在完成相应的操作后客户机发出quit 命令,则进入更新状态,更新之后最后重返认可状态(例如测试sina 服务器时,输入quit 将退出会话)。如下图 1.8 所示。

身份确认quit命令

重新返回认可连接

图 1.8 POP3 协议状态转换

初始时,服务器通过侦听POP3 的指定端口(默认端口是110)开始POP3 服务,当客户主机需要使用服务时,它将与服务器主机建立连接。当连接建立后,POP3 服务器发送确认消息。客户和POP3 服务器相互(分别)交换命令和响应,这一过程一直要持续到连接终止。

POP3 命令由一个命令和一些参数组成[28]。所有命令以一个CRLF 对结束。命令和参数由可打印的ASCII 字符组成,它们之间由空格间隔。命令一般是三到四个字母,每个参数却可达40 个字符长。POP3 响应由一个状态码和一个可能跟有附加信息的命令组成。所有响应也是由CRLF 对结束。现在有两种状态码:确定("+OK")和失败("-ERR")。

对于特定命令的响应是由许多字符组成的。在这些情况中,下面分别表述:在发送第一行响应和一个CRLF 之后,任何的附加信息行发送,他们也由CRLF 对结束。当所有信息发送结束时,发送最后一行,包括一个结束字符(十进制码46,也就是".")和一个CRLF 对。当检测多行响应时,客户检测以确认此行是否以结束字符开始。如果是的,而且其后的字符不是CRLF,此行的第一个字符(结束字符)将被抛弃;如果其后紧跟CRLF,从POP 服务器来的响应终止,包括.CRLF 的行也不被认为是多行响应的一部分了。

1.4论文的组织结构

本文从5个方面着手对基于DPI的应用层协议解析系统的研究背景以及

设计与实现作了详细的介绍。

第1章介绍了基于深度包检测(DPI)的应用层协议解析的研究背景和意义,并对深度包检测的国内外研究现状作了概要介绍,说明了基于DPI的应用层协议解析的基本原理,并归纳了基于DPI的应用层协议解析的基本方法,为后面详细介绍整个协议解析系统做铺垫;

第2章根据整个系统的需求,提出了基于DPI的应用层解析系统的概要设计方案,并对协议分析模块的设计方案做了详细介绍,说明了该系统开发的语言、工具及环境;

第3章根据第2章的系统设计,介绍了整个基于DPI的应用层协议解析系统的设计和实现。并且对应用层解析系统中的数据包捕获库模块、HTTP协议分析模块和DHCP协议分析模块做了详细介绍,并对其实现的核心技术点及算法做了详细分析;

第4章结合实际的测试环境,根据第2章提出的系统需求,归纳出了针对协议解析模块的测试目标,包括对功能需求、输入输出需求等多个方面的测试,最终测试结果基本符合各项要求,说明了整个基于DPI的应用层解析系统的可行性和正确性;

第5章针对本文的研究内容做了自己的总结与展望,在肯定了论文研究的意义和价值的同时,也对基于DPI的应用层解析系统提出了改进建议。

2 应用层协议解析系统设计方案的研究

2.1 系统需求分析

2.1.1 功能需求

(1)能够通过抓去经过系统的数据包,并保存数据包文件,供后续解析模块使用。

(2)通过对应用层协议的解析,识别出当前数据包中包含的应用层协议,以此对网络进行内容控制及管理。

(3)支持多种应用层协议解析,包括超文本传输协议(HTTP)、文件传输协议(FTP)、动态主机设置协议(DHCP)等等。

(4)能够正确的解析应用层数据协议,给出解析的结果和分析报告。

2.1.2 输入输出需求

(1)输入需求

数据包文件:通过数据包捕获系统得到的pcap格式数据包。

(2)输出需求

分析出的应用层数据协议信息,包括协议类型、该协议的字节数、数据包数等信息。

2.1.3性能需求

(1)系统要有较快处理速度,能够高效的进行协议解析。

(2)系统应该稳定、健壮,能够独立的。

(3)能够准确识别多种应用层协议,包括HTTP协议、FTP协议、DHCP协议等等。

2.2 基于DPI的应用层协议解析系统设计方案

整个基于DPI的应用层解析系统的架构如图2.1所示。

图 2.1 应用层协议解析系统架构图

系统分为两个主要的子系统,各子系统的功能介绍如下:

(1)数据包捕获系统,主要负责使用libpcap捕获网络数据包,得到pcap 数据包文件,供协议分析系统使用。

(2)协议分析系统,应用层协议解析系统的核心模块,主要负责使用深度包检测技术对各种应用层协议(例如:HTTP协议,FTP协议等等)进行分析,并打印分析结果。

2.3 协议分析系统设计方案

2.3.1 协议分析系统介绍

图 2.2 协议分析系统流程图

协议分析系统主要由初始化模块和数据包处理模块这两个核心模块组成。

(1)初始化模块

初始化模块主要负责处理传入的参数,根据参数设定需要解析的协议等等,它更重要的功能是初始化系统环境,比如对一些重要的数据

结构进行初始化、对协议的回调函数进行绑定等等。

(2)数据包处理模块

这个模块主要负责各种协议的分析,是整个系统最核心的部分,它通

过调用各个协议分析函数,对预先设定的协议进行分析。

2.3.2 协议分析系统工作原理

协议分析系统的工作流程详细介绍如下:

(1)将之前通过数据包捕获系统得到的pcap数据包传入协议分析系统。

(2)根据传入的参数设置需要分析的协议类型。

(3)初始化环境,包括一些数据结构、回调函数等等。

(4)打开pcap数据包文件。

(5)调用需要的协议分析模块,对设定的协议进行分析。

(6)关闭pcap数据包文件。

(7)打印输出分析结果。

2.4 系统开发语言、工具及环境

2.4.1 系统开发语言

根据项目整体设计要求,该项目需要运行在Linux系统下,程序采用C语言实现。

2.4.2系统开发工具

(1)采用Linux下的文本编辑器vim以及Gedit;

(2)Source Insight源代码管理和编辑器;

(3)GCC编译器:gcc 3.4.3;

(4)GDB调试器:gdb 6.5;

2.4.3 系统开发环境

(1)硬件环境:双核核处理器、2G内存

(2)操作系统:Fedora 14

(3)相关类库:pcap库等

3 基于DPI的应用层协议解析与设计

3.1数据包捕获模块

系统中数据包捕获主要依赖libpcap(Packet Capture Library,数据包捕获函数库)来实现,libcap是一个独立于系统的用户层包捕获的API借口,下面介绍利用libpcap抓包的设计。

3.1.1 libcap工作原理

libpcap主要由两部分构成:网络分接头(Network Tap)和数据过滤器(Package Filter)[14]。其中,网络分接头从网络设备驱动中收集数据拷贝,数据过滤器用来决定是否接收该数据包。

libpcap 支持BPF过滤机制[15]。BPF(BSD Packet Filter)是1993年初, S.McCanne 和V.Jacobson 等人推出的著名的包过滤器,它的基本工作步骤如下:当一个数据包到达网络接口时,数据链路层的驱动会把它向系统的协议栈传送。但如果BPF 监听接口,驱动首先调用BPF;BPF 首先进行过滤操作,然后把数据包存放在过滤器相关的缓冲区中,根据用户定义的规则决定是否接收此数据包以及需要拷贝该数据包的哪些内容;最后将过滤后的数据给与过滤器相关联的上层应用程序,设备驱动再次获得控制。

libpcap的包捕获机制[16]就是在数据链路层加一个旁路处理。当一个数据包到达网络接口时,libpcap首先利用已经创建的Socket从链路层驱动程序中获得该数据包的拷贝,再通过Tap函数将数据包发给BPF过滤器。BPF过滤器根据用户已经定义好的过滤规则对数据包进行逐一匹配[17],匹配成功则放入内核缓冲区,并传递给用户缓冲区,匹配失败则直接丢弃。如果没有设置过滤规则,所有数据包都将放入内核缓冲区,并传递给用户层缓冲区。

3.1.2 libpcap的抓包框架

(1)char *pcap_lookupdev(char *errbuf),函数用于查找网络设备,并返回可被pcap_open_live()或pcap_lookupnet()函数调用的网络设备名指针。如果出错返回NULL;

(2)pcap_t *pcap_open_live(char *device, int snaplen, int promisc, int to_ms, char

网络协议 实验

1.你的浏览器运行的是HTTP1.0,还是HTTP1.1?你所访问的服务器所运行的HTTP版本号是多少? 答:HTTP 1.1 version 4 2. 你的浏览器向服务器指出它能接收何种语言版本的对象? 答:Accept language: zh-CN\r\n 3. 你的计算机的IP地址是多少?服务器https://www.sodocs.net/doc/ef13626833.html,/DatumDownload.aspx 的IP地址是多少? 答:我的IP是:10.127.117.2 服务器:222.197.183.99 4. 从服务器向你的浏览器返回的状态代码是多少? 答:200 OK

5. 你从服务器上所获取的HTML文件的最后修改时间是多少? 答:如图 6.返回到你的浏览器的内容以供多少字节? 答:24370 在浏览器地址栏中如下网址: https://www.sodocs.net/doc/ef13626833.html,/wireshark-labs/HTTP-wireshark-file2.html 8.分析你的浏览器向服务器发出的第一个HTTP GET请求的内容,在该请求报文中,是否有一行是:IF-MODIFIED-SINCE? 答:没有

9.分析服务器响应报文的内容,服务器是否明确返回了文件的内容?如何获知? 答:有 HTTP/1.1 200 OK(text/html) 10.分析你的浏览器向服务器发出的第二个“HTTP GET”请求,在该请求报文中是否有一行是:IF-MODIFIED-SINCE?如果有,在该首部行后面跟着的信息是什么? 答:仍然没有。如图。 11.服务器对第二个HTTP GET请求的响应中的HTTP状态代码是多少?服务器是否明确返回了文件的内容?请解释。 答:状态码和相应状态信息的值为304 NOT Modified,他表示缓存器可以使用该对象。第二次没有返回文件的内容,因为他只是作为对该条件GET的响应,WEB服务器只发送一个响应报文,不包含请求的对象。 12. 你的浏览器一共发出了多少个HTTP GET请求? 答:1个 13. 传输这一个HTTP响应需要多少个TCP报文段? 答:4个。

网络协议分析题库

第一章练习 1 OSI和ISO分别代表什么含义?它们是什么关系? 2 OSI/RM模型没有被最终采用的原因是什么? 3下面哪些协议属于应用层协议?( B ) A. TCP和UDP B. DNS和FTP C. IP D. ARP 4 Internet最早是在( C ) 网络的基础上发展起来的? A. ANSNET B. NSFNET C. ARPANET D. MILNET 5 当网络A上的主机向网络B上的主机发送报文时, 路由器要检查( B ) 地址 A.端口 B. IP C.物理 D.上述都不是 6.下面哪一个是应用层提供的服务? ( D ) A.远程登录服务 B.文件传送 C.邮件服务 D.上述都是 7要将报文交付到主机上的正确的应用程序, 必须使用( A )地址 A.端口 B. IP C.物理 D.上述都不是 8. 网络应用访问操作系统的常用接口是,实现IP地址到物理地址映射的协议是。 9. 在TCP/IP协议族中,能够屏蔽底层物理网络的差异,向上提供一致性服务的协议是;实现异构网络互联的核心设备是。 10. 在TCP/IP网络中,UDP协议工作在层,DNS协议工作在层。 11判断对错:TCP/IP是一个被广泛采用的网际互联协议标准,仅包含TCP和IP两个协议。() 第二章练习 1 PPP协议是什么英文的缩写?用于什么场合? 2 ISP验证拨号上网用户身份时,可以使用哪些认证协议? 3.PPP协议的通信过程包括哪几个阶段? 4.LCP的用途是什么? 5.PPP是Internet中使用的(1),其功能对应于OSI参考模型的(2),它 使用(3)技术来解决标志字段值出现在信息字段的问题。 (1)A. 报文控制协议 B. 分组控制协议 C. 点到点协议 D. 高级数据链路控制协议 (2)A. 数据链路层 B. 网络层 C. 传输层 D. 应用层

CCNA网络学院第一学期 第三章应用层功能及协议 试题及答案

第三章应用层功能及协议 001数据网络中的客户端有哪两种特征?(选择两项) A使用守护程序 B 发起数据交换 C 是数据库 D 可以向服务器上传数据 E 侦听服务器的请求 002关于MTA在处理电子邮件中的作用,下列哪些陈述是正确的?(选择三项) A将电子邮件路由到其它服务器上的MDA B从客户端的MUA接收电子邮件 C通过POP3 协议接收电子邮件D将电子邮件传送到MDA供最终分发 E使用SMTP 在服务器之间路由电子邮件F通过POP3 协议将电子邮件分发到客户端 003与SSH 相比,telnet 的主要缺点是什么? A应用不广泛B不支持加密C消耗的网络带宽更多D不支持身份验证 004资源记录在DNS 中有何作用? A临时保存解析的条目B服务器用其解析域名C由客户端在查询期间发送D在服务器和客户端之间传送身份认证信息 005将资源名称与所需IP 地址匹配的自动化服务是什么? A HTTP B SSH C FQDN D DNS E Telnet F SMTP 006为了将三台计算机连接到一起进行游戏和文件共享,已经安装了一个小型家庭网络。以下哪两种属性代表此网络类型?(选择两项) A集中管理用户帐户B难以执行安全管理C需要专用的操作系统软件D由一台计算机控制文件访问权限 E响应文件共享请求的计算机发挥服务器的作用 007网络管理员正在为拥有二十五名用户的新分公司设计网络。使用客户端-服务器模型有哪些优势?(选择两项) A集中管理 B 不需要专用软件 C 更易于执行安全管理 D 实施成本更低 E 提供单一故障点 008以下哪些应用层协议正确匹配了相应的功能?(选择两项) A DNS为主机动态分配IP地址 B HTTP从Web服务器向客户端传输数据 C POP从客户端向电子邮件服务器分发电子邮件 D SMTP 支持文件共享 E Telnet 提供远程访问的虚拟连接 009应用层软件的两种形式是什么?(选择两项) A应用程序 B 对话 C 请求 D 服务 E 语法 010 OSI 应用层有何作用? A提供数据分段 B 提供数据加密和转换C提供网络任意终端上应用程序之间的接口 D对源设备和目的设备之间流经的所有数据提供控制 011以下哪三种协议在OSI 模型的应用层中工作?(选择三项) A ARP B DNS C PPP D SMTP E POP F ICMP 012请参见图示。第5 行中所示通信的目的端口是多少?

网络协议分析软件的使用实验报告

实验报告 项目名称:网络协议分析工具的使用课程名称:计算机网络B 班级: 姓名: 学号: 教师: 信息工程学院测控系

一、实验目的 基于网络协议分析工具Wireshark(原为Ethereal),通过多种网络应用的实际操作,学习和掌握不同网络协议数据包的分析方法,提高TCP/IP协议的分析能力和应用技能。 二、实验前的准备 ● 二人一组,分组实验; ● 熟悉Ping、Tracert等命令,学习FTP、HTTP、SMTP和POP3协议; ● 安装软件工具Wireshark,并了解其功能、工作原理和使用方法; ● 安装任一种端口扫描工具; ● 阅读本实验的阅读文献; 三、实验内容、要求和步骤 3.1 学习Wireshark工具的基本操作 学习捕获选项的设置和使用,如考虑源主机和目的主机,正确设置Capture Filter;捕获后设置Display Filter。 3.2 PING命令的网络包捕获分析 PING命令是基于ICMP协议而工作的,发送4个包,正常返回4个包。以主机210.31.40.41为例,主要实验步骤为: (1)设置“捕获过滤”:在Capture Filter中填写host 210.31.38.94; (2)开始抓包; (3)在DOS下执行PING命令; (4)停止抓包。 (5)设置“显示过滤”: IP.Addr=210.31.38.94 (6)选择某数据包,重点分析其协议部分,特别是协议首部内容,点开所有带+号的内容。(7)针对重要内容截屏,并解析协议字段中的内容,一并写入WORD文档中。

分析:从这个数据包的分析结果来看我们可以得知: 数据包的到达时间为2013年11月28日14:43:15 帧的序号为20411 帧的长度为74bytes(592bits),同时抓取的长度也是74bytes,说明没有丢失数据 目的MAC地址为00:25:11::4b:7a:6e 源MAC地址为00:25:11:4b:7d:6e 使用的协议为Ipv4 网络层的首部长度为20bytes 目的Ip地址为222.31.38.94 源Ip地址为222.31.38.93 数据没有分片说明数据大小没有超过最大传输单元MUT,其中用到了ICMP协议,数据包的生存周期为128 头部校验和为0x01正确 ICMP的校验和为0x01序列号为2304 数据有32bytes 3.3 TRACERT命令数据捕获 观察路由跳步过程。分别自行选择校内外2个目标主机。比如, (1)校内:tracert 210.31.32.8 (2)校外:tracert https://www.sodocs.net/doc/ef13626833.html,

实验五 应用层协议分析一

实验五应用层协议分析1 实验目的: 掌握http协议过程;了解FTP协议过程;了解SMTP协议过程;了解POP3协议过程; 。 实验类型:验证 实验学时:3学时 实验内容及方法: 观察http协议过程;观察一个FTP协议过程;观察SMTP协议过程;观察POP3协议过程 实验仪器设备:计算机、Ethereal软件。 实验步骤: 1.观察http协议过程。 (1)在计算机上打开Ethereal软件,进行报文截获。 (2)从浏览器上访问https://www.sodocs.net/doc/ef13626833.html,页面,具体操作为打开网页,浏览网页,关掉网页。 (3)停止Ethereal的报文截获。 捕获的数据包如下

(4)通过在上网过程中截获报文,分析HTTP协议的报文格式和工作过程。 1、分析HTTP协议报文:从众多HTTP报文中选择两条报文,一条是HTTP 请求报文(即get 报文),另一条是HTTP应答报文,将报文信息填入 表5-1. 表5-1HTTP报文 No. Source Destination Info. 457 192.168.231.55 202.193.160.38 GET /HTTP/1.1 479 202.193.160.38 192.168.231.55 HTTP/1.1 200 OK(text/html) 2、分析HTTP协议请求报文格式:分析1、中选择的HTTP请求报文(即 get 报文)中各字段的实际值并填写表5-2。 表5-2 HTTP 请求报文格式 字段名字段取值字段表达信息 方法字段GET 获取包含在请求中的 URI所标识的信息 URI / 版本字段HTTP/1.1 支持的http版本 首部字段Accept:*/*\r\n 客户端可识别的内容

网络协议分析实验报告

实 验 报 告 课程名称 计算机网络 实验名称 网络协议分析 系别 专业班级 指导教师 学号 姓名 实验日期 实验成绩 一、实验目的 掌握常用的抓包软件,了解ARP 、ICMP 、IP 、TCP 、UDP 协议的结构。 二、实验环境 1.虚拟机(VMWare 或Microsoft Virtual PC )、Windows 2003 Server 。 2.实验室局域网,WindowsXP 三、实验学时 2学时,必做实验。 四、实验内容 注意:若是实验环境1,则配置客户机A 的IP 地址:192.168.11.X/24,X 为学生座号;另一台客户机B 的IP 地址:192.168.11.(X+100)。在客户机A 上安装EtherPeek (或者sniffer pro )协议分析软件。若是实验环境2则根据当前主机A 的地址,找一台当前在线主机B 完成。 1、从客户机A ping 客户机B ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析ARP 协议; 2、从客户机A ping 客户机B ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析icmp 协议和ip 协议; 3、客户机A 上访问 https://www.sodocs.net/doc/ef13626833.html, ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析TCP 和UDP 协议; 五、实验步骤和截图(并填表) 1、分析arp 协议,填写下表 客户机B 客户机A

2、分析icmp协议和ip协议,分别填写下表 表一:ICMP报文分析

3、分析TCP和UDP 协议,分别填写下表

(参考)应用层网络协议分析

HTTP网页访问的协议分析 在协议模型中,应用层是用户与计算机进行实际通信的地方,只有当马上就要访问网络时,才会实际上用到这一层。例如,我们可以从系统中卸载掉任何联网组件,如TCP/IP、网卡(NIC)等,仍可以使用IE来浏览本地的HTML文档。可如果我们试图浏览必须使用HTTP 的文档,或者用FTP下载一个文件,事情就没那么容易了。此时,IE将尝试访问应用层来响应这一类请求。因此,应用层也可被看作是实际应用程序和下一层(OSI模型中为表示层,TCP/IP模型中为传输层)之间的接口,它通过某种方式把应用程序的有关信息送到协议栈的下面各层。 应用层协议则是实现用户和系统之间接口的工具,用户可通过这些协议方便地访问网络资源,实现信息共享,HTTP则是其中一种。 HTTP(超文本传输协议)是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。在Internet上的Web服务器上存放的都是超文本信息,客户机需要通过HTTP协议传输所要访问的超文本信息。HTTP包含命令和传输信息,不仅可用于Web访问,也可以用于其他因特网/内联网应用系统之间的通信,从而实现各类应用资源超媒体访问的集成。 HTTP是基于请求/响应方式的。它的运作方式很简单:一个客户机与服务器建立连接后,发送一个请求给服务器,服务器接到请求后,给予相应的响应报文。其中,“客户”与“服务器”是一个相对的概念,只存在于一个特定的连接期间,即在某个连接中的客户在另一个连接中可能作为服务器。因此,当网络中的任一台拥有可被访问的页面的计算机被其它计算机访问时,它便是服务器,而当它访问其它浏览非本地的HTTP文档时,它便是客户端。因此,我们可以在局域网中搭建简单的环境来观察分析访问HTTP的工作流程。 最简单的情况可能是在用户和服务器之间通过一个单独的连接来完成,如图1-1: 图1-1 根据图连接好以及配好相应IP后,测试网络互通。而后,在server上建立HTTP服务器。首先在控制面板\添加删除程序\添加删除Windows组件中查看Internet信息服务(IIS)是否装上,若没有则安装,若安装好,则可以进入管理工具\Internet服务管理器,在默认WEB站点下建立自己的站点及目录。而后,在client浏览器地址栏中键入http://31.0.0.1便可浏览位于server端默认站点目录下网页。 在此过程中,我们通过Ethereal所抓的数据包如下: 1、数据链路层:

计算机网络实验 应用层协议详情与配置实验报告材料格式

昆明理工大学信息工程与自动化学院学生实验报告 (2010—2011 学年第 1 学期) 课程名称:计算机网络开课实验室:2315 2010年12 月25日年级、专业、班计科083学号200810405325 姓名杨绍宏成绩 实验项目名称应用层协议与配置指导教师缪祥华老师 教师评语该同学是否了解实验原理: A.了解□ B.基本了解□ C.不了解□ 该同学的实验能力: A.强□ B.中等□ C.差□ 该同学的实验是否达到要求: A.达到□ B.基本达到□ C.未达到□ 实验报告是否规范: A.规范□ B.基本规范□ C.不规范□ 实验过程是否详细记录: A.详细□ B.一般□ C.没有□ 教师签名: 年月日 一、实验目的及内容 通过本次实验,使学生学会在windows系统上搭建域名服务器;理解正向反向域名解析的原理。 二、实验原理及基本技术路线图(方框原理图或程序流程图) 学会安装DNS服务器,学会配置DNS服务器属性,掌握nslookup命令的使用;要求详细记录配置步骤,并对所有的域名使用nslookup进行测试,记录测试结果。 三、所用仪器、材料(设备名称、型号、规格等或使用软件) 参考环境为:PC 2台,可使用windows系统自带的DNS组件,也可以使用其他的DNS服务器版本; 四、实验方法、步骤(或:程序代码或操作过程) 1.安装DNS服务器; 2.添加DNS区域; 区域名为https://www.sodocs.net/doc/ef13626833.html, 。xxx为学生的姓名拼音。 3.配置DNS属性;yy为学生学号的后两位 (1).客户可以通过 dns. https://www.sodocs.net/doc/ef13626833.html, 域名访问 192.168.yy.53,支持反向域名解析 (2).客户可以通过 https://www.sodocs.net/doc/ef13626833.html, 域名访问 192.168.yy.80,支持反向域名解析 (3).客户可以通过 https://www.sodocs.net/doc/ef13626833.html, 域名访问 192.168.yy.25,支持反向域名解析 (4).客户可以通过 mail2. https://www.sodocs.net/doc/ef13626833.html, 域名访问 192.168.yy.26 (5).客户可以通过 smtp. https://www.sodocs.net/doc/ef13626833.html, 域名访问 192.168.yy.25,是https://www.sodocs.net/doc/ef13626833.html,的别名

计算机网络协议原理及应用

1. 一个长度为1000字节的分组经距离为2500km的链路传播,传播速度 2.5*10^8m/s。传输速率为2 mbps,它需要用多长时间? 更为一般的,一个长度为L的分组经距离为D的链路传播,传播速率为S,传输速率为R bps,它需要要用多少时间?该时延与传输速率相关吗?(d/s+l/r+T传输时延) 2.因特网协议栈中的5个层次是什么?在这些层次中,每层组要任务是什么? 答:英特网协议栈的5 个层次从上倒下分别为:应用层,传输层,网络层,链路层,和物理层。 每一层的主要任务: 应用层:是网络应用程序及其应用层协议存留的地方(HTTP SMTP FTP) 传输层:提高了在应用程序端点之间传送应用层报文的服务(TCP UDP) 网络层:负责将称为数据报的网络层分组从一台主机移动到另一台主机(TP) 链路层:将整个帧从一个网络元素移动到邻近的网络元素 物理层:将该帧中的一个一个比特从一个节点移动到下一个节点 3.DNS:因特网的目录服务:提供哪些服务? 答:主机名到IP地址转换的目录服务(域名系统) 主机别名 邮件服务器别名 负载分配 4.SKYPE针对两个重要功能使用P2P技术,它们是什么? 答:1)用户定位2)网络地址转换(NAT) 5.为什么HTTP,FTP,SMTP,POP3的运行在TCP而不是运行在UDP上? 答:因为与这些协议相联系的应用都要求应用数据能够被无差错的有序的接收。TCP 提供这种服务,而UDP 不提供。TCP 提供可靠的数据传输服务,而UDP 提供的是不可靠数据传输。 6.假定ALIICE使用一个基于web的电子邮件帐户(如HOTMAIL或GMAIL)向BOB发报文,而BOB发报文,而BOB使用POP3访问他的邮件服务器来获取自己的邮件。讨论报文是怎样从ALIICE主机到达BOB主机的。列出在两台主机间移动该报文是所使用的各种应用层协议 答:信息从Alice 的主机发送到她的邮件服务器,使用HTTP 协议。然后邮件从Alice 的邮件服务器发送到Bob的邮件服务器,使用SMTP 协议。最后Bob 将邮件从他的邮件服务器接收到他的主机,使用POP3 协议。 7.是非判断题 A,假设用户请求由某些文本和两副图片组成的WEB页面,对于这个页面,客户将发送一个请求报文并接受三个响应报文(F) B,两个不同的WEB 页面(例如:https://www.sodocs.net/doc/ef13626833.html,/research.html及https://www.sodocs.net/doc/ef13626833.html,/students.html)可以通过同一个持久连接发送(T)

实验二 利用分组嗅探器(ethereal)分析协议HTTP

实验二利用分组嗅探器(ethereal)分析协议HTTP 一、实验目的 分析HTTP协议 二、实验环境 与因特网连接的计算机网络系统;主机操作系统为windows;Ethereal、IE等软件。 三、实验步骤 1、HTTP GET/response交互 首先通过下载一个非常简单的HTML文件(该文件非常短,并且不嵌入任何对象)。 (1)启动Web browser。 (2)启动Ethereal分组嗅探器。在窗口的显示过滤说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 (3)一分钟以后,开始Ethereal分组俘获。 (4)在打开的Web browser窗口中输入一下地址(浏览器中将显示一个只有一行文字的非常简单的HTML文件): https://www.sodocs.net/doc/ef13626833.html,/ethereal-labs/HTTP-ethereal-file1.html (5)停止分组俘获。 窗口如图1所示。根据俘获窗口内容,回答“四、实验报告内容”中的1-6题。 图1分组俘获窗口 2、HTTP 条件GET/response交互 (1)启动浏览器,清空浏览器的缓存(在浏览器中,选择“工具”菜单中的“Internet 选项”命令,在出现的对话框中,选择“删除文件”)。 (2)启动Ethereal分组俘获器。开始Ethereal分组俘获。

(3)在浏览器的地址栏中输入以下URL: https://www.sodocs.net/doc/ef13626833.html,/ethereal-labs/HTTP-ethereal-file2.html,你的浏览 器中将显示一个具有五行的非常简单的HTML文件。 (4)在你的浏览器中重新输入相同的URL或单击浏览器中的“刷新”按钮。 (5)停止Ethereal分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 根据操作回答“四、实验报告内容”中的7-10题。 3、获取长文件 (1)启动浏览器,将浏览器的缓存清空。 (2)启动Ethereal分组俘获器。开始Ethereal分组俘获。 (3)在浏览器的地址栏中输入以下URL: https://www.sodocs.net/doc/ef13626833.html,/ethereal-labs/HTTP-ethereal-file3.html,浏览器将 显示一个相当大的美国权力法案。 (4)停止Ethereal分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 根据操作回答“四、实验报告内容”中的11-13题。 4、嵌有对象的HTML文档 (1)启动浏览器,将浏览器的缓存清空。 (2)启动Ethereal分组俘获器。开始Ethereal分组俘获。 (3)在浏览器的地址栏中输入以下URL: https://www.sodocs.net/doc/ef13626833.html,/ethereal-labs/HTTP-ethereal-file4.html,浏览器将 显示一个具有两个图片的短HTTP文件 (4)停止Ethereal分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 根据操作回答“四、实验报告内容”中的15-16题。 5、HTTP认证 (1)启动浏览器,将浏览器的缓存清空。 (2)启动Ethereal分组俘获器。开始Ethereal分组俘获。 (3)在浏览器的地址栏中输入以下URL: https://www.sodocs.net/doc/ef13626833.html,/ethereal-labs/protected_pages/HTTP-ethereal-fil e5.html,浏览器将显示一个HTTP文件,输入所需要的用户名和密码(用户名: eth-students,密码:networks)。 (4)停止Ethereal分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。 根据操作回答“四、实验报告内容”中的17-18题。 四、实验报告内容 在实验的基础上,回答以下问题: (1)你的浏览器运行的是HTTP1.0,还是HTTP1.1?你所访问的服务器所运行的HTTP版本号是多少?147.10250 192.168.01 239.255.255.250 ssdp NOTIFY HTTP/1.1 (2)你的浏览器向服务器指出它能接收何种语言版本的对象?英文 (3)你的计算机的IP地址是多少?服务器https://www.sodocs.net/doc/ef13626833.html,的IP地址是多少? 192.168.0.136,当在web broswer中输入https://www.sodocs.net/doc/ef13626833.html,时,在抓取得到: 15.556518 192.168.01 239.255.255.250 ssdp NOTIFY HTTP/1.1

应用层网络协议分析

网页访问的协议分析 在协议模型中,应用层是用户与计算机进行实际通信的地方,只有当马上就要访问网络时,才会实际上用到这一层。例如,我们可以从系统中卸载掉任何联网组件,如、网卡()等,仍可以使用来浏览本地的文档。可如果我们试图浏览必须使用的文档,或者用下载一个文件,事情就没那么容易了。此时,将尝试访问应用层来响应这一类请求。因此,应用层也可被看作是实际应用程序和下一层(模型中为表示层,模型中为传输层)之间的接口,它通过某种方式把应用程序的有关信息送到协议栈的下面各层。 应用层协议则是实现用户和系统之间接口的工具,用户可通过这些协议方便地访问网络资源,实现信息共享,则是其中一种。 (超文本传输协议)是客户端浏览器或其他程序与服务器之间的应用层通信协议。在上的服务器上存放的都是超文本信息,客户机需要通过协议传输所要访问的超文本信息。包含命令和传输信息,不仅可用于访问,也可以用于其他因特网内联网应用系统之间的通信,从而实现各类应用资源超媒体访问的集成。 是基于请求响应方式的。它的运作方式很简单:一个客户机与服务器建立连接后,发送一个请求给服务器,服务器接到请求后,给予相应的响应报文。其中,“客户”与“服务器”是一个相对的概念,只存在于一个特定的连接期间,即在某个连接中的客户在另一个连接中可能作为服务器。因此,当网络中的任一台拥有可被访问的页面的计算机被其它计算机访问时,它便是服务器,而当它访问其它浏览非本地的文档时,它便是客户端。因此,我们可以在局域网中搭建简单的环境来观察分析访问的工作流程。 最简单的情况可能是在用户和服务器之间通过一个单独的连接来完成,如图: 图 根据图连接好以及配好相应后,测试网络互通。而后,在上建立服务器。首先在控制面板\添加删除程序\添加删除组件中查看信息服务()是否装上,若没有则安装,若安装好,则可以进入管理工具\服务管理器,在默认站点下建立自己的站点及目录。而后,在浏览器地址栏中键入:便可浏览位于端默认站点目录下网页。 在此过程中,我们通过所抓的数据包如下: 、数据链路层: ( , )表示第个帧,传输个字节,捕获个字节,包中的 :

IP协议分析实验报告

计算机网络 实 验 报 告 实验名称: IP协议分析 实验分组号: 实验人:郑微微 班级: 12计算机科学系本四B班学号: 实验指导教师:阮锦新 实验场地:网络实验室706 实验时间: 2014年11月 17号 成绩:

一、实验目的 1、掌握IP协议分析的方法 2、掌握TCP/IP体系结构 3、加深网络层协议的理解 4、学会使用网络分析工具 二、实验要求 1、实验前下载安装Ethereal/Wireshark/Sniffer中的一款网络分析工具软件 2、了解网络分析工具软件的常见功能与常见操作 3、每位学生必须独立完成所有实验环节 三、实验环境 1、操作系统:Windows XP/Windows 7/Windows 2008 2、已安装网络分析工具软件 3、PC机能访问互联网 四、实验内容及原理 1、实验内容 (1)IP头的结构 (2)IP报文分析 2、实验原理 网络之间互连的协议(Internet Protocol,IP)就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。 IP报文由报头和数据两部分组成,如图1所示:

图1 IP报文格式 五、需求分析 IP协议是TCP/IP体系中两个主要的协议之一,而IP地址位于IP数据报的首部,在网络层及以上使用的是IP地址,因此在数据链路层是看不见数据报的IP地址,另外首部的前一部分是固定长度,共20字节。在TCP/IP的标准中,各种数据格式常以32位为单位来描述,通过分析IP数据报的格式就能够知道IP协议都具有哪些功能。 六、实验步骤 1、打开网络分析工具软件 2、抓取浏览器数据包 (1)启动网络分析工具软件,设置抓包过滤条件。 (2)启动浏览器,在地址栏输入要访问的IP地址。 (3)关闭浏览器,停止抓包。 (4)存储所捕获的数据包。 (5)分析数据包。 七、实验分析 1.启动网络分析工具软件,设置抓包过滤条件为“==”

《网络协议分析》习题答案

备注:以下给出习题答案作为参考,对于部分习题,读者也可以思考给出更好的答案。 第一章 1. 讨论TCP/IP成功地得到推广和应用的原因 TCP/IP是最早出现的互联网协议,它的成功得益于顺应了社会的需求;DARPA采用开放策略推广TCP/IP,鼓励厂商、大学开发TCP/IP产品;TCP/IP与流行的UNIX系统结合是其成功的主要源泉;相对ISO的OSI模型,TCP/IP更加精简实用;TCP/IP技术来自于实践,并在实践中不断改进。 2. 讨论网络协议分层的优缺点 优点:简化问题,分而治之,有利于升级更新; 缺点:各层之间相互独立,都要对数据进行分别处理;每层处理完毕都要加一个头结构,增加了通信数据量。 3. 列出TCP/IP参考模型中各层间的接口数据单元(IDU) 应用层/传输层:应用层报文; 传输层/IP层:TCP报文段或UDP分组; IP层/网络接口层:IP数据报; 网络接口层/底层物理网络:帧。 4. TCP/IP在哪个协议层次上将不同的网络进行互联? IP层。 5. 了解一些进行协议分析的辅助工具 可在互联网上搜索获取适用于不同操作系统工具,比如Sniffer Pro、Wireshark以及tcpdump等。利用这些工具,可以截获网络中的各种协议报文,并进一步分析协议的流程、报文格式等。 6. 麻省理工学院的David Clark是众多RFC的设计者,在论及TCP/IP标准的形成及效果时,曾经讲过这样一段话:”We reject kings, presidents and voting. We believe in rough consensus and running code.”你对他的观点有什么评价。 智者见智,我认为这就是“实践是检验真理的唯一标准”。 7. 你认为一个路由器最基本的功能应该包含哪些? 对于网桥、网关、路由器等设备的分界已经逐渐模糊。现代路由器通常具有不同类型的接口模块并具有模块可扩展性,由此可以连接不同的物理网络;路由表的维护、更新以及IP数据报的选路转发等,都是路由器的基本功能。此外,路由器厂商应为使用者提供管理功能。 第二章 1. 尝试用Modem拨入某个ISP,并根据你的操作分析PPP的流程 实验题,若有接入ISP的环境,可直接测试;否则,可参考习题4一起测试。 2. 分析PAP和CHAP的优缺点 PAP简单,但安全性差;CHAP相对安全,但开销较大,且需要通信双方首先共享密钥。 3. 了解L2F和L2TP的思想及应用 这两个协议把PPP的两个端点延伸到互联网的任何角落,相当于在TCP/IP的应用层扩展了PPP的范围。其思想是发送方把PPP帧封装到L2F或L2TP报文中,接收方则对其解封以还原PPP帧,这样对于通信的两端来说看到的是PPP帧,相当于在互联网上架设了一条虚拟的PPP链路。它们主要用于构建VPN(虚拟专用网)。 4. 尝试Windows操作系统的“超级终端”功能 Windows超级终端功能在附件/通信功能下。可以用两台有Modem的计算机,各自连接

计算机网络协议原理及应用

计算机网络协议原理及应用

1. 一个长度为1000字节的分组经距离为2500km的链路传播,传播速度 2.5*10^8m/s。传输速率为2 mbps,它需要用多长时间? 更为一般的,一个长度为L的分组经距离为D的链路传播,传播速率为S,传输速率为R bps,它需要要用多少时间?该时延与传输速率相关吗?(d/s+l/r+T传输时延) 2.因特网协议栈中的5个层次是什么?在这些层次中,每层组要任务是什么? 答:英特网协议栈的5 个层次从上倒下分别为:应用层,传输层,网络层,链路层,和物理层。 每一层的主要任务: 应用层:是网络应用程序及其应用层协议存留的地方(HTTP SMTP FTP) 传输层:提高了在应用程序端点之间传送应用层报文的服务(TCP UDP) 网络层:负责将称为数据报的网络层分组从一台主机移动到另一台主机(TP)

链路层:将整个帧从一个网络元素移动到邻近的网络元素 物理层:将该帧中的一个一个比特从一个节点移动到下一个节点 3.DNS:因特网的目录服务:提供哪些服务?答:主机名到IP地址转换的目录服务(域名系统) 主机别名 邮件服务器别名 负载分配 4.SKYPE针对两个重要功能使用P2P技术,它们是什么? 答:1)用户定位2)网络地址转换(NAT) 5.为什么HTTP,FTP,SMTP,POP3的运行在TCP而不是运行在UDP上? 答:因为与这些协议相联系的应用都要求应用数据能够被无差错的有序的接收。TCP 提供这种服务,而UDP 不提供。TCP 提供可靠的数据传输服务,而UDP

提供的是不可靠数据传输。 6.假定ALIICE使用一个基于web的电子邮件帐户(如HOTMAIL或GMAIL)向BOB发报文,而BOB发报文,而BOB使用POP3访问他的邮件服务器来获取自己的邮件。讨论报文是怎样从ALIICE主机到达BOB主机的。列出在两台主机间移动该报文是所使用的各种应用层协议答:信息从Alice 的主机发送到她的邮件服务器,使用HTTP 协议。然后邮件从Alice 的邮件服务器发送到Bob的邮件服务器,使用SMTP 协议。最后Bob 将邮件从他的邮件服务器接收到他的主机,使用POP3 协议。 7.是非判断题 A,假设用户请求由某些文本和两副图片组成的WEB页面,对于这个页面,客户将发送一个请求报文并接受三个响应报文(F) B,两个不同的WEB 页面(例如:https://www.sodocs.net/doc/ef13626833.html,/research.html及https://www.sodocs.net/doc/ef13626833.html,/students.html)可以通过同一个持久连接发送(T)

实验一应用协议与数据包分析实验使用

《计算机网络》 实验报告 信息安全1201 吴淑珍 2015年4月1日 1.实验报告内容包括:实验目的、实验内容、实验程序和程序流程图、实验步骤、记录中间结果和最终结果。 实验一应用协议与数据包分析实验(使用Wireshark) 一、实验目的 通过本实验,熟练掌握Wireshark的操作和使用,学习对HTTP协议进行分析。 二、实验内容 学习HTTP 协议,了解HTTP 的工作原理和HTTP 报文格式。运行Wireshark,截获在浏览器访问web 界面的报文,并根据截获的报文分析其格式与内容,进一步学习HTTP 协议工作过程。 三、实验步骤 步骤1:在PC 机上运行Wireshark,开始截获报文; 步骤2:从浏览器上访问Web 界面,如.。打开网页,待浏览器的状态栏出现“完毕”信息后关闭网页。 步骤3:停止截获报文,将截获的报文命名为http-学号保存。 步骤4:分析截获的报文。 四、实验结果 分析截获的报文,回答以下几个问题: 1)综合分析截获的报文,查看有几种HTTP 报文? 答:两种,一种是请求报文,请求行方法为GET(有一个截去顶端的GET);另一种是响应报文。 2)在截获的HTTP 报文中,任选一个HTTP 请求报文和对应的HTTP 应答报文,仔细 分析它们的格式,填写表和表。

*GET方法首部行后面没有实体主体。 *实体主体部分为服务器发送给客户的对象。 ***查找的资料 Content-Length用于描述HTTP消息实体的传输长度。在HTTP协议中,消息实体长度和消息实体的传输长度是有区别,比如说gzip压缩下,消息实体长度是压缩前的长度,消息实体的传输长度是gzip压缩后的长度。 在具体的HTTP交互中,客户端是如何获取消息长度的呢,主要基于以下几个规则: 响应为1xx,204,304相应或者head请求,则直接忽视掉消息实体内容。 如果有Transfer-Encoding,则优先采用Transfer-Encoding里面的方法来找到对应的长度。比如说Chunked模式。

网络协议分析最终版

中南林业科技大学 实验报告 课程名称:网络协议与分析 姓名:项学静学号:20104422 专业班级:2010级计算机科学与技术 系(院):计算机与信息工程学院 实验时间:2013年下学期 实验地点:电子信息楼602机房

实验一点到点协议PPP 一、实验目的 1.理解PPP协议的工作原理及作用。 2.练习PPP,CHAP的配置。 3.验证PPP,CHAP的工作原理。 二、实验环境 1.安装windows操作系统的PC计算机。 2.Boson NetSim模拟仿真软件。 三、实验步骤 1、绘制实验拓扑图 利用Boson Network Designer绘制实验网络拓扑图如图1-1。 本实验选择两台4500型号的路由器。同时,采用Serial串行方式连接两台路由器,并选择点到点类型。其中DCE端可以任意选择,对于DCE端路由器的接口(Serial 0/0)需要配置时钟信号(这里用R1的Serial 0/0作为DCE端)。 2、配置路由器基本参数

绘制完实验拓扑图后,可将其保存并装入Boson NetSim中开始试验配置。配置时点击Boson NetSim程序工具栏按钮eRouters,选择R1 并按下面的过程进行路由器1的基本参数配置: Router>enable Router#conf t Router(config)#host R1 R1(config)#enable secret c1 R1(config)#line vty 0 4 R1(config-line)#password c2 R1(config-line)#interface serial 0/0 R1(config-if)#ip address 192.168.0.1 255.255.255.0 R1(config-if)#clock rate 64000 R1(config-if)#no shutdown R1(config-if)#end R1#copy running-config startup-config 点击工具栏按钮eRouters,选择R2并按下面过程进行路由器的基本参数配置:Router>enable Router#conf t Router(config)#host R2

实验三 利用Wireshark分析IP协议_ x10226

计算机网络实验报告 年级:信科102 姓名:吴文姝学号: 10111226 实验日期: 2012年9月25日 实验名称:利用wireshark分析IP协议 一、实验目的 理解IP协议报文类型和格式,掌握IP V4 地址的编址方法。 二、实验器材 1、接入Internet的计算机主机; 2、抓包工具wireshark; 三、实验内容 Ping 命令只有在安装了TCP/IP 协议之后才可以使用,其命令格式如下: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [[-j host-list] | [-k host-list]] [-w timeout] target_name 这里对实验中可能用到的参数解释如下: -t :用户所在主机不断向目标主机发送回送请求报文,直到用户中断; -n count:指定要Ping 多少次,具体次数由后面的count 来指定,缺省值为4; -l size:指定发送到目标主机的数据包的大小,默认为32 字节,最大值是65,527; -w timeout:指定超时间隔,单位为毫秒; target_name:指定要ping 的远程计算机。 1、IP协议分析实验 使用Ping 命令发送数据报,用Wireshark 截获数据报,分析IP 数据报的格式,理解IP V4 地址的编址方法,加深对IP 协议的理解。 2、IP 数据报分片实验 IP 报文要交给数据链路层封装后才能发送,理想情况下,每个IP 报文正好能放在同一个物理帧中发送。但在实际应用中,每种网络技术所支持的最大帧长各不相同。例如:以太网的帧中最多可容纳1500 字节的数据;FDDI帧最多可容纳4470 字节的数据。这个上限被称为物理网络的最大传输单元(MTU,MaxiumTransfer Unit)。 TCP/IP 协议在发送IP 数据报文时,一般选择一个合适的初始长度。当这个报文要从一个MTU 大的子网发送到一个MTU 小的网络时,IP 协议就把这个报文的数据部分分割成能被目的子网所容纳的较小数据分片,组成较小的报文发送。每个较小的报文被称为一个

应用层功能及协议

3 应用层功能及协议 表示层 表示层有三个主要功能: 对应用层数据进行编码与转换,从而确保目的设备可以通过适当的应用程序理解源设备上的数据; 采用可被目的设备解压缩的方式对数据进行压缩; 对传输数据进行加密,并在目的设备上对数据解密。 会话层 会话层,顾名思义,它就是用于在源应用程序和目的应用程序之间创建并维持对话。会话层用于处理信息交换,发起对话并使其处于活动状态,并在对话中断或长时间处于空闲状态时重启会话。 常见TCP/IP 协议包括: 域名服务协议(DNS),用于将Internet 域名解析为IP 地址; 超文本传输协议(HTTP),用于传输构成万维网网页的文件; 简单传输协议(SMTP),用于传输及其附件信息; Telnet 协议(一种终端模拟协议),提供对服务器和网络设备的远程访问; 文件传输协议(FTP),用于系统间的文件交互传输。 P2P 在点对点网络中,两台或两台以上的计算机通过网络互连,它们共享资源(如打印机和文件)时可以不借助专用服务器。每台接入的终端设备(称为“点”)既可以作为服务器,也可以作为客户机。拥有两台互连电脑、一台共享打印机的家庭简易网络就是一种典型的点对点网络。 端口号 传输层使用某种编址方案,称为端口号。端口号识别应用程序及应用层服务(即源数据和目的数据)。服务器程序通常使用客户机已知的预定义端口号。当我们研究不同的TCP/IP 应用层协议和服务时,我们将参考与这些服务相关联的TCP 和UDP 端口号。这些服务包括: 域名系统(DNS)—TCP/UDP 端口53 超文本传输协议(HTTP) —TCP 端口80 简单传输协议(SMTP)—TCP 端口25 邮局协议(POP)—TCP 端口110 Telnet —TCP 端口23 动态主机配置协议—UDP 端口67 和端口68 文件传输协议(FTP)—TCP 端口20 和端口21 DNS 在数据网络中,设备以数字IP 地址标记,从而可以参与收发消息。但是人们很难记住这些数字地址。于是,人们创建了可以将数字地址转换为简单易记名称的域名系统。

相关主题