网络协议DHCP协议分析课程设计

课程设计(大作业)报告

课程名称:网络协议工程

设计题目:DHCP协议分析以及以下各层协议的工作机制院系:信息技术学院

班级:级计算机科学与技术2班设计者:

学号:

指导教师:洪孙焱

设计时间:2014.1.2—2014.1.6

信息技术学院

昆明学院课程设计(大作业)任务书

目录

一.题目分析 (1)

二.实验环境 (1)

三.实验原理 (2)

DHCP 工作原理: (4)

四.实验流程 (5)

五.实验步骤 (6)

1、可能用到的网络协议有: (6)

2、划分VLAN (8)

3:用实验主机自动获取 IP 地址,捕获数据包并进行分析 (10)

六.协议分析 (13)

六.实验总结 (17)

七、参考文献 (17)

课程设计(大作业)报告

一.题目分析

用协议分析工具分析DHCP以及以下各层协议的工作机制:

1、理解DHCP协议的基本原理;

2、了解DHCP的工作过程;

3、了解DHCP的基本命令格式;

4、了解DHCP以及以下各层协议的工作机制

二.实验环境

本实验中需要有一台开启 DHCP 服务的主机。锐捷的三层交换机 RG-S3750-24 即可以配置 DHCP 服务,本实验中使用锐捷的三层交换机作为 DHCP 服务器。实验拓扑图如图

所示:

实验拓扑图

三.实验原理

DHCP 是动。态主机分配协议(Dynamic Host Configuration Protocol)的缩写,它的前身是 BOOTP 协议。BOOTP 原本是用于无盘工作站连接的网络上:网络主机使用BOOTROM 而不是磁盘起动并连接上网络,需要通过 BOOTP 协议自动地为那些主机设定TCP/IP环境。但是 BOOTP 协议有一个缺点:在设定前必须事先获得客户端的 MAC 地址,而且,与 IP 地址的对应是静态的。即,BOOTP 非常缺乏“动态性”,不但配置起来非常麻烦,而且在有限的 IP 地址资源环境中,BOOTP 协议要求的地址一一对应关系会造成非常可观的浪费。DHCP 协议可以说是 BOOTP 协议的增强版本,提供了一种动态指定 IP 地址和配置参数的机制,使网络管理员能够集中管理和自动分配 IP 网络地址。当某台计算机移到网络中的其它位置时,能自动收到新的 IP 地址。DHCP 由两个部份组成:一个是服务器端,而另一个是客户端。所有的 IP 网络设定参数都由 DHCP 服务器集中管理,并负责处理客户端的 DHCP 请求;而客户端则会使用从服务器分配下来的 IP 环境数据。相对于 BOOTP,DHCP 透过“租约”的概念,有效且动态的分配客户端的 TCP/IP 环境设定,而且,作为兼容考虑,DHCP 也完全照顾了 BOOTP Client的需求。

DHCP 主要用于大型网络环境和配置 IP 比较困难的地方。有些 DHCP 服务器指定的配置参数和 IP 协议并不相关,但这并没有关系,它的配置参数使得网络上的计算机通信变得方便而容易实现了。DHCP 分配 IP 地址的租期从 1 分钟到 100 年不定,当租期到了的时候,服务器可以把这个 IP 地址分配给别的机器使用。

DHCP 报文格式:

各字段的含义如下:

Op:消息操作代码,如果是客户机送给服务器的封包,则设为1,反向为2;Htype:硬件地址类型,Ethernet 为1;

Hlen:硬件地址长度,Ethernet 为6;

Hops:若封包需经过路由器传送,每经过一个路由器加1,若在同一网内,为0;TransactionID:事务ID,DHCP REQUEST 时产生的数值,以作为DHCP REPL Y时的依据;

Secs:秒,客户机启动时间;

Flags:标记,从0 到15 共16bits,最左1 位为1 时表示服务器将以广播方式传送封包给客户机,其余尚未使用;

Ciaddr:客户端IP 地址,要是客户机想继续使用之前取得的IP 位址,则列于这

里;

Yiaddr:你的(客户端)IP 地址,从服务器送回客户机的DHCP OFFER 和DHCP ACK 封包中,此栏填写分配给客户机的IP 位址;

Siaddr:服务器IP 地址,在DHCP 服务器链中使用的下一台服务器的IP 地址,

通常是DHCP 服务器链接到TFTP 服务器。可通过在该字段中提供全是零的值(0.0.0.0)来终止链;

Giaddr:转发代理IP 地址,若需跨网段进行DHCP 发放,此栏为转发代理的地址,否则为0;

Chaddr:客户端硬件地址;

Sname:服务器名,服务器的名称字符串,以0x00 结尾;

File:引导文件名,若client 需要从网络启动,此栏将指出启动影像文件的名称,

稍后以TFTP 传送;

Options:可选参数字段,允许厂商定议选项,以提供更多的设定资讯(如:Netmask、Gateway、DNS 等等)。其长度可变(最长可达312 字节),同时可携带多个选项。

每一选项的第一个字节为标记子字段,其后一个字节为长度字段(表明后面的值字

段长度),最后为选项的值字段。当选项的标记子字段内容为0x53 时,提示后面

的值字段为DHCP 的封包类别,如下表所示:

DHCP工作原理:

1、发现阶段:即DHCP 客户机寻找DHCP 服务器的阶段。DHCP 客户机以广播方式

(因为DHCP 服务器的IP 地址对于客户机来说是未知的)发送DHCP DISCOVER 发现报文来寻找DHCP 服务器。

2、提供阶段:即DHCP 服务器为DHCP 客户机提供IP 地址的阶段。在网络中接收

到DHCP DISCOVER 报文的DHCP 服务器都会做出响应,它从尚未出租的IP 地址中挑选一个分配给DHCP 客户机,向DHCP 客户机发送一个包含出租的IP 地址和其他设置的DHCPOFFER 提供报文。

3、请求阶段:即DHCP 客户机选择某台DHCP 服务器提供的IP 地址的阶段。如果

有多台DHCP 服务器向DHCP 客户机发来的DHCP OFFER 报文,则DHCP 客户机只接受第一个收到的DHCP OFFER 报文,然后它就以广播方式回答一个DHCP REQUEST 请求报文,该报文中包含向它所选定的DHCP 服务器请求IP 地址的内容。

之所以要以广播方式回答,是为了通知所有的DHCP 服务器,他将选择某台DHCP 服务器所提供的IP 地址。

4、确认阶段:即DHCP 服务器确认所提供的IP 地址的阶段。当DHCP 服务器收到

DHCP 客户机回答的DHCP REQUEST 报文之后,它便向DHCP 客户机发送一个包含它所提供的IP 地址和其他设置的DHCP ACK 确认报文,告诉DHCP 客户机可以使用它所提供的IP 地址。然后DHCP 客户机便将其TCP/IP 协议与网卡绑定,另外,除DHCP 客户机选中的服务器外,其他的DHCP 服务器都将收回曾提供的IP 地址。

5、重新登录:以后DHCP 客户机每次重新登录网络时,就不需要再发送DHCP

DISCOVER 报文了,而是直接发送包含前一次所分配的IP 地址的DHCP REQUEST 报文。当DHCP 服务器收到这一报文后,它会尝试让DHCP 客户机继续使用原来的IP 地址,并回答一个DHCP ACK 报文。如果此IP 地址已无法再分配给原来的DHCP 客户机使用时(比如此IP 地址已分配给其它DHCP 客户机使用),则DHCP 服务器

给DHCP 客户机回答一个DHCP NACK 否认报文。当原来的DHCP 客户机收到此DHCP NACK 报文后,它就必须重新发送DHCP DISCOVER 发现报文来请求新的IP 地址。

6、更新租约:DHCP 服务器向DHCP 客户机出租的IP 地址一般都有一个租借期限,

期满后DHCP 服务器便会收回出租的IP 地址。如果DHCP 客户机要延长其IP 租约,则必须更新其IP 租约。DHCP 客户机启动时和IP 租约期限过一半时,DHCP 客户机都会自动向DHCP 服务器发送更新其IP 租约的报文。

四.实验流程

五.实验步骤

1、可能用到的网络协议有:

应用层DNS, FTP,HTTP, RIP, DHCP

传输层TCP, UDP

网络层IP,ICMP,IGMP

数据链路层ARP,RARP

物理层以太网,RS-232

.路由协议(RIP):路由协议主要运行于路由器上,路由协议是用来确定到达路径的,它包括RIP,IGRP,EIGRP,OSPF。起到一个地图导航,负责找路的作用。它工作在网络层。路由选择协议主要是运行在路由器上的协议,主要用来进行路径选择。

FTP:FTP(File Transfer Protocol, FTP)是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网络协议组的应用层。FTP客户机可以给服务器发出命令来下载文件,上载文件,创建或改变服务器上的目录。

HTTP:HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传输协议。HTTP是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。

IP: IP是英文Internet Protocol(网络之间互连的协议)的缩写,中文简称为“网协”,也就是为计算机网络相互连接进行通信而设计的协议。

ARP:在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址。而在TCP/IP协议栈中,网络层和传输层只关心目标主机的IP地址。这就导致在以太网中使用IP协议时,数据链路层的以太网协议接到上层IP协议提供的数据中,只包含目的主机的IP地址。于是需要一种方法,根据目的主机的IP地址,获得其MAC地址。这就是ARP协议要做的事情。

RARP:反向地址解析协议用于一种特殊情况,如果站点被初始化后,只有自己

的物理网络地址而没有IP地址,则它可以通过RARP协议,并发出广播请求,征求自己的IP地址,而RARP服务器则负责回答。

NAT转发协议:网络地址转换(NAT,Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT 不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。

DNS:DNS 是计算机域名系统(Domain Name System) 的缩写,它是由解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP 地址,并具有将域名转换为IP地址功能的服务器

STP: STP(Spanning Tree Protocol)是生成树协议的英文缩写。该协议可应用于环路网络,通过一定的算法实现路径冗余,同时将环路网络修剪成无环路的树型网络,从而避免报文在环路网络中的增生和无限循环。

DHCP:动态主机设置协议(Dynamic Host Configuration Protocol, DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址给用户给内部网络管理员作为对所有计算机作中央管理的手段。

ICMP:ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。IGMP:Internet 组管理协议(IGMP)是因特网协议家族中的一个组播协议,用于IP 主机向任一个直接相邻的路由器报告他们的组成员情况。IGMP 信息封装在IP 报文中,其IP 的协议号为2。

TCP:传输控制协议TCP是一种面向连接的、可靠的、基于字节流的运输层通信协议。

UDP:用户数据包协议,是OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。

2、划分VLAN

2.1、在S2126与S3750B上划分VLAN,并把PC机与服务器加入到相应的VLAN中。首先在126上创建VLAN 100,并将F0/1接口加入到VLAN 100中配置过程:S2126#configure

S2126(config)#vlan 100

S2126(config-vlan)#exit

S2126(config)#interface fastEthernet 0/1

S2126(config-if)#switchport access vlan 100

然后在S3750B上创建VLAN 200,并将F0/1、F0/2接口加入到VLAN 200中配置过程:

S3750B#configure

S3750B(config)#vlan

S3750B(config)#vlan 200

S3750B(config-vlan)#exit

S3750B(config)#interface range fastEthernet 0/1-2

S3750B(config-if-range)#switchport access vlan 200

2.2、配置S2126与S3750A之间的两条交换机间链路,以及S3750A与S3750B之间的交换机间链路。

首先在126的F0/23、F0/24接口设置为Trunk端口

配置过程:

S2126#configure

S2126(config)#interface range fastEthernet 0/23-24

S2126(config-if-range)#switchport mode trunk

然后在S3750A的F0/23、F0/24接口设置为Trunk端口

配置过程:

S3750A#configure

S3750A (config)#interface range fastEthernet 0/23-24

S3750A (config-if-range)#switchport mode trunk

最后将S3750A的F0/10接口和S3750B的F0/10接口设置为Trunk端口

配置过程:

S3750A#configure

S3750A (config)#interface fastEthernet 0/10

S3750A (config-if)#switchport mode trunk

S3750B#configure

S3750B (config)#interface fastEthernet 0/10

S3750B (config-if)#switchport mode trunk

2.3、2126与S3750A之间的冗余链路中使用STP技术防止桥接环路的产生,并通过手工配置使S3750A成为STP的根。

首先2126启用STP

配置过程:

S2126(config)#spanning-tree mode stp

S2126(config)#spanning-tree

然后在S3750A启用STP

配置过程:

S3750A(config)#spanning-tree mode stp

S3750A (config)#spanning-tree

2.4、3750A的VLAN接口和R1762的接口配置IP地址。

首先在S3750A的VLAN接口配置IP地址

配置过程:

S3750A#configure

S3750A(config)#vlan 100

S3750A(config-vlan)#exit

S3750A(config)#vlan 200

S3750A(config-vlan)#exit

S3750A(config)#interface vlan 100

S3750A(config-if)#ip address 172.16.100.1 255.255.255.0

S3750A(config)#interface vlan 200

S3750A(config-if)#ip address 172.16.200.1 255.255.255.0

然后在R1762的接口配置IP地址,配置过程:

R1762(config)#interface f1/0

R1762(config-if)#ip address 10.1.1.1 255.255.255.0

R1762(config)#interface f1/1

R1762(config-if)#ip address 10.1.2.1 255.255.255.0

2.5、S3750A上使用具有三层特性的物理端口实现与R1762的互联。

将S3750A的F0/20配置为三层端口配置过程:

S3750A(config)#interface f0/20

S3750A(config-if)#no switchport

3:用实验主机自动获取 IP 地址,捕获数据包并进行分析

1、在实验主机上启动网络协议分析仪进行数据捕获并设置过滤条件,在工具栏点击“过滤器”按钮,会弹出“设置&过滤器”对话框,在“过滤器类型”中选择“类型过滤器”,类型值中选择“DHCP 协议”,点击“设置参数”按钮后“确定”:

2、将实验主机的网卡置为自动获取 IP 地址,点击“确定”按钮:

3、主机向广播发送 DHCP 的 DISCOVER 报文,步骤一中配置的 DHCP 服务器会进行

响应主机的请求,为实验主机分配一个 IP 地址,可以看到 IP 地址、网关、DNS 服务器、租约期限等参数都按照事先设定的进行了分配:

4、捕获此过程中的数据包,可以看到 DHCP 分配 IP 地址的 4 个过程——Discover、Offer、Request、Ack:

六.协议分析

1、客户端主机接入网络后,需要申请一个地址才能使用网络,它会在本地子网内广播一个

DHCPDISCOVER消息,该消息中可以包括一些选项,要求获得指定的网络地址和租期等。如果DHCP客户端和DHCP服务器不在一个子网内,可以通过中继代理(Relay agent)来转发客户端的DHCPDISCOVER消息,当然该消息转发后不再是广播报文,而是一个单播报文,由中继代理填写正确的源IP和目的IP,发送到相应的DHCP服务

器。

2、DHCP服务器收到DHCPDISCOVER消息后,回应一个DHCPOFFER消息。服务器在

DHCPOFFER消息中的yiaddr字段(your ip address)填写的是要分配给客户端的IP地址,另外还需要向客户端返回客户端的请求参数列表中的选项,如果服务器不支持,则不返回相应的选项。在DHCPOFFER消息中分配的地址,没有要求服务器为其保留,防止其他客户端使用。当然,如果为其保留了避免再次分配给其他客户端,这样DHCP协议就更加高效了。DHCP服务器在分配一个新地址之前,应该检查该地址是否已经被使用,可以通过发送一个ICMP ECHO报文来探测,ICMP ECHO报文的目的地址需要填成要分配的IP地址。

如果有客户端已经使用了该地址,则会回应一个ICMP REPLY消息给服务器(当然,如果客户端使用了防火墙,可能不会回应ICMP消息,则这种探测就会失败),服务器收到后,认为该地址已经被分配,就不会再分配该地址,而是重新选择地址进行分配。

3、通常为了保证网络的可靠性,一个子网内会有两个或者多个DHCP服务器互相备份。客

户端发送的DHCPDISCOVER消息是广播报文,因此子网内所有的DHCP服务器都会收到该报文,并且每个服务器都会回应一个DHCPOFFER消息。这样,客户端就可能收到多个DHCPOFFER 消息,在收到消息后,会根据DHCPOFFER消息中的配置参数来选择其中一个服务器作为回应。客户端回应的消息是DHCPREQUEST消息,它和DHCPDISCOVER一样是广播报文,其中消息中必须带有Server identifier选项以指定所选择的DHCP服务器,一些客户端期望服务器分配的参数也可以包含在消息中。DHCPREQUEST消息中的Request IP address选项的值必须和接收的DHCPOFFER消息中yiaddr的值相同。也就是,服务器准备分配给客户端的IP地址必须是客户端请求的IP,客户端不能请求的其他IP地址。DHCPREQUEST是广播报文,当DHCP 服务器不在本地子网时,需要通过DHCP/BOOTP中继代理relay到服务器。DHCP客户端如何在一定的时间内没有收到DHCPOFFER,并重传DHCPDISCOVER报文。

4、DHCP客户端发送的DHCPREQUEST广播消息会达到所有的DHCP服务器,如果是通过DHCP 中继代理relay的,一般会relay到指定的服务器。DHCPREQUEST消息中的Server identifier 指明了客户端所使用的DHCP服务器,未被Server identifier指明的服务器收到该消息后就认为客户端拒绝了自己的OFFER报文,不再向客户端发送回应报文了,而被选中的DHCP 服务器则存储客户端的标识和分配的IP地址及其他信息于自己的数据库中,并回应客户端一个DHCPACK消息。client identify或者chaddr与分配的IP地址组成的标识是客户端租约的唯一标识,同时也是客户端和服务器在DHCP消息中的租期的唯一标识。在DHCPACK消息中收到的任何参数都不能和之前收到的DHCPOFFER消息中的参数有冲突和不同。其中DHCPACK消息中的yiaddr字段就是客户端即将分配的地址了。

如果被选中的DHCP服务器不“同意”DHCPREQUEST消息中的参数(如请求的网络地址已经被分配出去),则server应该回应一个DHCPNAK报文。

网络安全协议课程设计-IPsec隧道协议的安全分析与改进

《网络安全协议》 课程设计 题目IPsec隧道协议的安全分析与改进班级 学号 姓名 指导老师 2015年 7 月 4 日

目录 一、概述 (2) 1.1课程设计的目的 (2) 1.2课程设计的内容 (2) 1.3课程设计的要求 (3) 二、问题分析 (3) 2.1系统需求 (3) 2.2 GRE协议分析 (3) 2.3 IPsec协议分析 (4) 三、协议漏洞 (5) 3.1协议漏洞解决措施 (5) 3.2协议漏洞解决详解 (5) 四、协议完善具体实现 (6) 4.1实现分析 (6) 4.2 GRE实现流程分析 (8) 4.3简单设备设置 (10) 五、案安全性分析 (11) 六、程设计心得、总结 (11) 七、参考文献 (12)

一、概述 网络如若想实现交流传输,必须以网络协议为载体进行。而网络协议(Network Protcol)是控制计算机在网络介质上进行信息交换的规则和约定。网络协议通常会被按OSI参考模型的层次进行划分。OSI参考模型是国际标准化组织制定的网络体系结构参考模型,提供各种网络互联的标准,共分七层:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,会话层、表示层和应用层往往被合并称为高层。当前的计算机网络的体系结构是以TCP/IP协议为主的Internet结构。伴随着网络的诞生近几年频繁出现的安全事故引起了各国计算机安全界的高度重视,计算机网络安全技术也因此出现了日新月异的变化。安全核心系统、VPN安全隧道、身份认证、网络底层数据加密和网络入侵主动监测等越来越高深复杂的安全技术极大地从不同层次加强了计算机网络的整体安全性。网络安全的实现首先需要网络协议的安全,但是网络协议都是人为写的,存在先天的不足与缺陷,以至于只能慢慢实践发现并给与补充。这里先谈一下VPN中的GRE协议。GRE(Generic Routing Encapsulation,通用路由封装)协议是由Cisco和Net-smiths等公司于1994年提交给IETF(Internet Engineering Task Force,网络工程工作小组)的,标号为RFC1701和RFC1702。GRE协议规定了如何用一种网络协议去封装另一种网络协议的方法,是一种最简单的隧道封装技术,它提供了将一种协议的报文在另一种协议组成的网络中传输的能力。GRE协议就是一种应用非常广泛的第三层VPN隧道协议。GRE隧道使用GRE协议封装原始数据报文,基于公共IP网络实现数据的透明传输。GRE隧道不能配置二层信息,但可以配置IP地址。本文从GRE协议的工作原理入手,从安全性角度出发,详细分析了GRE隧道协议的不足与缺陷,最后提出了相关的安全防护方案。 1.1课程设计的目的 详细分析IPsec隧道协议不支持对多播和广播的加密的不足,并针对其漏洞设计实施完善可行的策略。 1.2课程设计的内容 将GRE与IPsec结合使用,弥补IPsec不能保护组播数据的缺陷。因为GRE可以封装组播数据并在GRE隧道中传输,所以对于诸如路由协议、语音、视频等组播

网络协议分析实验报告

实 验 报 告 课程名称 计算机网络 实验名称 网络协议分析 系别 专业班级 指导教师 学号 姓名 实验日期 实验成绩 一、实验目的 掌握常用的抓包软件,了解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.360docs.net/doc/036615621.html, ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析TCP 和UDP 协议; 五、实验步骤和截图(并填表) 1、分析arp 协议,填写下表 客户机B 客户机A

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

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

网络协议分析与仿真课程设计预习报告

编号:_______________本资料为word版本,可以直接编辑和打印,感谢您的下载 网络协议分析与仿真课程设计预习报告 甲方:___________________ 乙方:___________________ 日期:___________________

(计算机学院) 网络协议分析与仿真课程设计 预习报告 专业名称:__________ 网络工程_________________ 班级:_______________________________________ 学生姓名:____________________________________ 学号(8位): ________________________________ 指导教师:____________________________________ 设计起止时间:2013年12月2日一2013年12月13日

题目一网络流量分析 一、课程设计目的 里加深对IP、DNS、TCR UDP、HTTP等协议的理解; 里掌握流量分析工具的使用,学习基本的流量分析方法。 二、课程设计地点及时间 二号实验楼442网络实验室,12月2日至12月6日,每天8: 00-14: 00 三、课程设计实验条件 工具:Wireshark (Windows 或Linux), tcpdump (Linux) 要求:使用过滤器捕获特定分组;用脚本分析大量流量数据(建议用perl)。 内容:Web流量分析 四、课程设计原理 1、DNS域名解析:首先,客户端的应用层会封装数据到达传输层,在传输层标识源端口号 与目的端口号(源端口号为大于1023随机,目的端口号为UDP5狒口)及应用层服务(这 里因该是请求DN硒询服务吧)。传输层封装数据产生数据段传给网络层,在网络层标识源IP地址及目的IP地址(源IP地址为客户端IP ,目的IP地址为DNS服务器IP地址),网络层将数据段封装为数据包传给数据链路层,在数据链路层将会在数据包里加入源MACM址及目的MA砸址(源MACM址为客户端网卡MA弛址,目的MAC%址为DNS服务器MACM址),这里应该查询MA或存。数据链路层根据客户端与DNS服务器之间的链路,将数据包封装成 帧,传给物理层。物理层会将数据帧转化为电信号放到物理介质上。 电信号到达DNS服务器后会从物理层到达应用层(这里和客户端发送数据差不多,只不过这 个过程变成了解封装),DNS服务器做完域名解析后再将数据传给客户端,传输过程同客户端发送数据。 2、建立TCP/IP连接:客户端知道WE囹艮务器IP地址之后,在网络层产生建立TCP/IP三次握手的数据包(TCP/IP三次握手:客户端向服务器端发送SYN信息,服务器端收到SYN信 息后回复给客户端SYN+AC褊认信息,客户端收到确认信息后再向服务器发送ACK信息建立 连接),应用层标识HTTP服务将数据发送到传输层,传输层将数据+源端口号(大于1023)、目的端口号(80)+上层服务WW如装为数据段传给网路层。网络层将数据段+源ip与目的 ip (WW服务器的ip地址)封装为数据包发送到数据链路层。数据链路层参照ARP缓存表确定源MAC%址(本机MACM址)及目的MACM址(客户端与路由B相连端口的MACM址)将数据包封装成数据帧。这里还需要CR破验。。。。。。数据帧到达物理层后变成电信号发送 到介质上(这里还需要访问控制方法DSMA/CD 路由B收到电信号后传给路由器的数据链路层,这里还需要CRC,FC眼验。。。…确定数据 帧没有损坏后查看目的MACM址与路由器端口地址是否相同,如果相同将解封装,将数据包 发送到路由器B的物理层,路由器查看路由表确定数据包的转发端口,路由器B确定与路由 A之间的链路,创建帧。 路由B与路由A可以看成是点对点,即路由B将创建PPP帧。路由A收到电信号后,确定帧的完整性,如果完整即将数据帧解封装发送到网络层,路由A查询路由表将数据包转发到与WEBf连的路由端口。 路由A的数据链路层将查询ARP缓存表确定WW服务器的MACM址,路由A将创建源MAC 地址

网络安全协议课程设计报告SSL协议

SSL协议的安全性研究 1 引言 随着计算机网络技术的飞速发展,信息时代的人们对Internet的依赖性越来越大。当今时代,电子商务和电子政务的应用越来越广泛,然而网络安全问题严重束缚了计算机网络的进一步应用。安全套接层SSL(Secure Sockets Layer)协议是由Netscape公司设计开发的安全协议,主要用于加强应用程序之间的数据的安全性。SSL协议是基于Web应用的安全协议,它采用了RSA算法、RC4—128、RC一128、三重DES算法和MD5等加密技术实现两个应用层之间的机密性、可靠性和数据完整性,并采用X.509数字证书实现鉴别,其加密的目的是建立一个安全的通讯通道,而且该通道可在服务器和客户机两端同时实现支持。 2 SSL协议简述及相关概念 SSL协议用来建立一个在客户和服务器之间安全的TCP连接,尤其可被用来认证服务器,可选地认证客户,执行密钥交换,提供消息认证,而且还可以完成在TCP协议之上的任意应用协议数据的完整性和隐蔽性服务。SSL为在Internet上安全地传送数据提供了一介加密通道,建立一个安全连接,主要实现以下工作:加密网络上客户端和服务器相互发送的信息;验证信息在传送过程是否安全完整:运用非对称密钥算法验证服务器;验证客户身份;交换应用层数据。 2.1 SSL---安全套接层协议。 是由Netscape设计的一种开放性协议,它提供了一种介于应用层和传输层之间的数据安全套接层协议机制。SSL位于TCP/IP协议与各种应用层协议之间,为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。其目的是为客户端(浏览器)到服务端之间的信息传输构建一个加密通道,此协议是与操作系统和Web服务器无关的。 2.2 SSL协议可分两层: 2.2.1 SSL记录协议: 它建立在可靠的传输协议(如TCP)之上,位于SSL协议的底层,为高层协议提供数据封装、压缩、加密等基本功能的支持。在SSL中,所有数据被封装在记录中,SSL握手协议中的报文,要求必须放在一个SSL记录协议层的记录里,但应用层协议的报文,允许占用多个SSL 记录来传送 (1) SSL记录头格式 SSL记录头可以是2个或3个字节长的编码。SSL记录头包含的信息有记录头的长度、记录数据的长度,以及记录数据中是否有填充数据,其中填充数据是在使用块加密

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

实验报告 项目名称:网络协议分析工具的使用课程名称:计算机网络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.360docs.net/doc/036615621.html,

《网络协议分析》实验报告

网络协议分析 ——计算机+自动化0902班易珊珊学号:200926100427 1 实验目的 ?掌握如何利用协议分析工具分析IP数据报报文格式,体会数据报发送,转发的过程。 ?通过分析截获TCP报文首部信息,理解首部中的序号,确认号等字段是TCP可靠连接的基础.通过分析TCP连接的三次握手建立和释放过程,理解TCP连接建立和释放机制。 2 实验内容 ?(1)IP协议分析 ?IP协议分析 (图一)IP数据报的格式

(图二)捕获的IP数据报 version:4,版本,占四位。 Header length:20 bytes,IP数据报首部为20字节,等于固定部分长度,说明没有可选字段。 Differentiated services field:ox00,所有服务类型都为0,说明这是一种缺省情况,IP数据报的发送者没有规定IP数据报的服务类型。 Total length:52,IP数据报总长度为52字节。 Identification:oxa47b,标识,占16位。 Flags: 标志,占3位。DF=1,MF=0, Fragment offset:0,说明该数据报没有分片。 Time to live:128,生存时间是128,每过一个路由器它就减1。 Protocol:TCP(ox06)此IP 数据报携带的数据使用TCP协议,协议字段

值为6。 Header checksum:oxdf8a,首部校验和,占16位。Source:192.168.2.10 源地址,占32位。Destination:202.102.233.164 目的地址,占32位。 ?(2)TCP协议分析: (图三)TCP报文段的首部格式

DHCP协议报文

DHCP 协议概念 1.什么是DHCP DHCP是Dynamic Host Configuration Protoco的缩写,顾名思义就是动态主机地址配置协议,在一个完整的网络拓扑中应有DHCP CLIENT,DHCP SERVER两个端点。Client端存在与用户域中,通过DHCP协议,从server端获取动态的不固定的IP地址。DHCP server 通过租约概念负责给client端提供某一网段或多网段IP地址池中地址。当租约到期client 释放该地址以待server做再次分配,同时server端也担负分配DNS服务器地址,域名,网关地址的任务。 2.DHCP进行地址分配的四个阶段 1)第一个阶段寻找DHCP server。如果是DHCP客户端第一次登录该网络时,也就是客户端主机没有IP地址,等待分配。它会首先向网络以广播形式发送DHCP discover报文,目的是发现网络中存在的DHCP server,并请求给出回应。该报文的格式是:源mac是自身的mac地址,目的mac是ff:ff:ff:ff:ff:ff.源IP地址为0.0.0.0,而目的地址为255.255.255.255。经过测试windows操作系统环境中的DHCPdiscover等待时间为1秒,也就是当客户端将第一个DHCPdiscover报文送出去后,在等待1秒后没有得到网络中DHCPserver的回应,它就会进行第二次DHCP discover广播,若再次得不到回应,会进行三次广播,三次广播的间隔时间都不一样,分别是9秒、13秒、16秒。如果还是得不到服务端的回应,客户端会显示错误信息,宣告DHCPdiscover失败,在之后的动作中,系统会在5分钟后再次重复一次该过程。在该测试过程中,我抓取了相应的数据包以供参考。 2)端口源端68,目的端67 图1-DHCP discover数据包 该图中可以看出DHCP discover数据包二层源mac地址为源端口mac,目的mac为广播

网络协议实践课程设计报告-

成都信息工程学院网络工程系 《网络协议实践》 课程设计报告 签名:

目录 第一章 TCP和ARP协议基础............................................................................... 错误!未定义书签。 1.1什么是TCP协议........................................ 错误!未定义书签。 1.2TCP报文类型与格式 .................................... 错误!未定义书签。 1.3什么是ARP协议........................................ 错误!未定义书签。 1.4ARP报文类型和结构 .................................... 错误!未定义书签。第二章抓包验证TCP协议和ARP协议.............................................................. 错误!未定义书签。 2.1实验环境.............................................. 错误!未定义书签。 2.2实验步骤与抓包结果分析................................ 错误!未定义书签。 2.3实验结论.............................................. 错误!未定义书签。第三章 OSPF路由协议验证分析.. (3) 3.1实验环境及工具介绍 (9) 3.2实验步骤及抓包结果分析 (10) 3.3实验结论--OSPF运行过程说明 (12) 3.4实验心得体会 (12)

网络协议课程设计报告

目录 1.课程设计目的 ---------------------------------------------------- 2 2.课程设计要求 ---------------------------------------------------- 2 3.课程设计题目分析 ------------------------------------------------ 2 3.1 网卡设置 -------------------------------------------------- 2 3.2 程序设计 -------------------------------------------------- 3 3.2.1 使用原始套接字------------------------------------------ 3 3.2.2 接收数据包---------------------------------------------- 4 3.2.3 定义IP头部的数据结构---------------------------------- 4 3.2.4 IP包的解析 --------------------------------------------- 5 4.解析IP数据包设计相关知识 -------------------------------------- 5 5.程序流程图------------------------------------------------------- 6 6.程序设计--------------------------------------------------------- 7 6.1 协议的定义 ------------------------------------------------ 7 6.2捕获处理--------------------------------------------------- 7 6.3 运行界面 -------------------------------------------------- 8 7.实验结果--------------------------------------------------------- 9 8.自我评析和总结 -------------------------------------------------- 9 8.1 实训心得-------------------------------------------------- 9 8.2 实训日记-------------------------------------------------- 9 9.主要参考资料 -------------------------------------------------- 10 [2]《网络协议分析》寇晓蕤罗俊勇编著机械工业出版社--------- 10 [3]《C语言程序设计》张建伟李秀琴主编科学出版社--------- 10 [4]《C++程序设计教程——面向对象分册》郑秋生主编 --------- 10电子工业出版社 -------------------------------------------------- 10 10.附录 ---------------------------------------------------------- 10

网络协议总结版

文章来源: https://www.360docs.net/doc/036615621.html,/blog/static/8312073620089634134536/ 这个小结,很难写啊~~~网络的东西太多了~~主要是细节很多~~而且,协议也很多,感觉也没有必要去了解这些细节~~似乎找不到重点~~~也没好的办法 ~~~copy了一大堆资料,整理了几个问题~~~~希望可以勾勒出网络的框架~~有的是概要性质的,也有些是细节方面的,选择性的瞄一眼吧~~~貌似有的写的挺详细,有的就很简略~~~最后一看,有点像大杂烩了,嘿嘿嘿,能看完算你狠(LF) ●电路交换技术、报文交换、分组交换 ●OSI的模型与 TCP/IP(*) ●CSMA/CD ●网桥 ●交换机 ●RIP 与 OSPF(*) ●集线器与交换器比较 ●虚拟局域网VLAN ●什么是三层交换 ●二层交换、三层交换、路由的比较 ●交换机与路由器比较(*) ●IP分片控制 ●TCP为什么要三次握手?(*) ●TCP拥塞控制 ●CS模型与SOCKET编程(*) 其他还有一些很小很小的问题,放到最后了,包括协议三个要素,协议分层优点,NAT,ICMP等等 我觉得网络的重点仍然是对网络的整体性概念,如果不是专门进行协议开发的话,一般不会深入到协议的细节。仍然有重点。协议的重点是TCP和IP,然后概要性需要了解的是UDP,ICMP,ARP,RIP,OSPF等等,其他像NAT、CIDR、DNS、HTTP、FTP、SNMP等有个简单的了解可能更好。 电路交换技术、报文交换、分组交换

OSI的模型与TCP/IP OSI每层功能及特点 物理层为数据链路层提供物理连接,在其上串行传送比特流,即所传送数据的单位是比特。此外,该层中还具有确定连接设备的电气特性和物理特性等功能。物理层的作用:尽可能地屏蔽掉各种媒体的差异。 数据链路层负责在网络节点间的线路上通过检测、流量控制和重发等手段,无差错地传送以帧为单位的数据。为做到这一点,在每一帧中必须同时带有同步、地址、差错控制及流量控制等控制信息。 网络层为了将数据分组从源(源端系统)送到目的地(目标端系统),网络层的任务就是选择合适的路由和交换节点,使源的传输层传下来的分组信息能够正确无误地按照地址找到目的地,并交付给相应的传输层,即完成网络的寻址功能。 传输层传输层是高低层之间衔接的接口层。数据传输的单位是报文,当报文较长时将它分割成若干分组,然后交给网络层进行传输。传输层是计算机网络协议分层中的最关键一层,该层以上各层将不再管理信息传输问题。 会话层该层对传输的报文提供同步管理服务。在两个不同系统的互相通信的应用进程之间建立、组织和协调交互。例如,确定是双工还是半双工工作。 表示层该层的主要任务是把所传送的数据的抽象语法变换为传送语法,即把不同计算机内部的不同表示形式转换成网络通信中的标准表示形式。此外,对传送的数据加密(或解密)、正文压缩(或还原)也是表示层的任务。 应用层该层直接面向用户,是OSI中的最高层。它的主要任务是为用户提供应用的接口,即提供不同计算机间的文件传送、访问与管理,电子邮件的内容处理,不同计算机通过网络交互访问的虚拟终端功能等。 TCP/IP 网络接口层这是TCP/IP协议的最低一层,包括有多种逻辑链路控制和媒体访问协议。网络接口层的功能是接收IP数据报并通过特定的网络进行传输,或从网络上接收物理帧,抽取出IP数据报并转交给网际层。 网际网层(IP层)该层包括以下协议:IP(网际协议)、ICMP(Internet Control Message Protocol,因特网控制报文协议)、ARP(Address Resolution Protocol,地址解析协议)、RARP(Reverse Address Resolution Protocol,反向地址解析协议)。该层负责相同或不同网络中计算机之间的通信,主要处理数据报和路由。在IP层中,ARP协议用于将IP地址转换成物理地址,RARP协议用于将物理地址转换成IP地址,ICMP协议用于报告差错和传送控制信息。IP 协议在TCP/IP协议组中处于核心地位。 传输层该层提供TCP(传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)两个协议,它们都建立在IP协议的基础上,其中TCP提供可靠的面向连接服务,UDP提供简单的无连接服务。传输层提供端到端,即应用程序之间的通信,主要功能是数据格式化、数据确认和丢失重传等。

网络协议实验报告6

组号:3F 学号:53131016 姓名:杨灵 实验7.1 FTP协议 【实验目的】 学习FTP协议的连接过程;理解FTP协议的工作原理。一人一组,一组提交报告。 【实验环境】 本实验采用网络结构一, 一定要设置DNS服务器,地址是:172.16.0.253 主机的IP地址使用172.16.0.0段。掩码255.255.255.0. IP地址分配方法: 172.16.0.组号、主机号 例如:第2组的B主机的IP地址设置为172.16.0.22 第5组的F主机的IP地址设置为 172.16.0.56 【实验内容】 本实验要求: FTP服务器已经启动,并提供一个公共帐户,用户名是:anonymous,口令:无。或用户名:group2_1,口令:group2_1 (可以上传数据)。练习一 FTP 本实验学生独立完成,目的是了解FTP协议的端口和连接过程。 实验步骤: 1、主机启动协议分析器,打开数据捕获窗口,设置过滤条件(提取FTP协议); 2、主机登录FTP服务器:在仿真端的命令行提示符下运行: >ftp 172.16.0.253 LOGIN:>group2_1 PASS:>group2_1 >dir >quit 3、查看主机捕获的数据,在会话分析中,查看TCP会话中的21端口和20端口的会话情况,记录21端口和20端口的会话过程; ●记录实验结果: ①粘贴捕获包的截图;

②是否可以捕获到用户名和密码? 答:可以,在USER和PASS会话中。 ③21端口和20端口分别传输什么内容? 答:一个是数据端口,一个是控制端口,控制端口一般为21,而数据端口不一定是20,这和FTP的使用模式有关,如果是主动模式,应该为20,如果为被动模式,由服务器端和客户端协商而定。练习二使用浏览器登入FTP 1、主机启动协议分析器,打开数据捕获窗口; 2、主机启动IE浏览器,在“地址”框中输入ftp://172.16.0.253 3、查看主机捕获的数据,在会话分析中,查看TCP会话中的端口情况。 4、结合练习1的会话过程,说明浏览器登入FTP的工作过程。 ●记录实验结果: ①粘贴捕获包的截图; ②对比上个实验,FTP服务器用哪个端口传输数据,数据连接是谁发起的连接? 答:ftp服务器用21端口传输数据,数据连接是客户端发起的的连接。 练习三在窗口模式下,上传/下传数据文件 熟悉FTP在窗口方式下的命令使用;在本地机的D:上建立一个文本文件,文件名为你的学号+姓名; 1、主机登录FTP服务器:在命令行提示符下运行: D:>ftp 172.16.0.253 >LOGIN:group2_1 >PASS: group2_1 >put 文件名(文件名为你的学号+姓名) >dir (查看FTP上是否已经上传) >get 文件名(FTP服务器) >quit 2、回到本地硬盘上查看是否已经下载到本地?(进入FTP时的目录下) ●记录实验结果: ①粘贴FTP上的文件列表;

DHCP协议详解

DHCP协议详解 DHCP的优缺点 DHCP服务优点不少:网络管理员可以验证IP地址和其它配置参数,而不用去检查每个主机;DHCP不会同时租借相同的IP地址给两台主机;DHCP管理员可以约束特定的计算机使用特定的IP地址;可以为每个DHCP作用域设置很多选项;客户机在不同子网间移动时不需要重新设置IP地址 但同时也存在不少缺点:DHCP不能发现网络上非DHCP客户机已经在使用的IP地址;当网络上存在多个DHCP服务器时,一个DHCP服务器不能查出已被其它服务器租出去的IP地址;DHCP服务器不能跨路由器与客户机通信,除非路由器允许BOOTP转发 工作流程 DHCP服务的工作过程是这样的: 1.发现阶段,即DHCP客户机寻找DHCP服务器的阶段。DHCP客户机以广播方式(因为DHCP服务器的IP地址对于客户机来说是未知的)发送DHCP discover 发现信息来寻找DHCP服务器,即向地址255.255.255.255发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会接收到这种广播信息,但只有DHCP 服务器才会做出响应(如图1) 2.提供阶段,即DHCP服务器提供IP地址的阶段。在网络中接收到DHCP discover 发现信息的DHCP服务器都会做出响应,它从尚未出租的IP地址中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含出租的IP地址和其他设置的DHCP

offer提供信息(如图2)。 3.选择阶段,即DHCP客户机选择某台DHCP服务器提供的IP地址的阶段。如果有多台DHCP服务器向DHCP客户机发来的DHCP offer提供信息,则DHCP客户机只接受第一个收到的DHCP offer提供信息,然后它就以广播方式回答一个DHCP request请求信息,该信息中包含向它所选定的DHCP服务器请求IP地址的内容。之所以要以广播方式回答,是为了通知所有的DHCP服务器,他将选择某台DHCP 服务器所提供的IP地址(如图3) 4.确认阶段,即DHCP服务器确认所提供的IP地址的阶段。当DHCP服务器收到DHCP客户机回答的DHCP request请求信息之后,它便向DHCP客户机发送一个包含它所提供的IP地址和其他设置的DHCP ack确认信息,告诉DHCP客户机可以使用它所提供的IP地址。然后DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除DHCP客户机选中的服务器外,其他的DHCP服务器都将收回曾提供的

网络安全协议课程设计报告SSL协议

协议的安全性研究 1 引言 随着计算机网络技术的飞速发展,信息时代的人们对的依赖性越来越大。当今时代,电子商务和电子政务的应用越来越广泛,然而网络安全问题严重束缚了计算机网络的进一步应用。安全套接层( )协议是由公司设计开发的安全协议,主要用于加强应用程序之间的数据的安全性。协议是基于应用的安全协议,它采用了算法、4—128、一128、三重算法和5等加密技术实现两个应用层之间的机密性、可靠性和数据完整性,并采用X.509数字证书实现鉴别,其加密的目的是建立一个安全的通讯通道,而且该通道可在服务器和客户机两端同时实现支持。 2 协议简述及相关概念 协议用来建立一个在客户和服务器之间安全的连接,尤其可被用来认证服务器,可选地认证客户,执行密钥交换,提供消息认证,而且还可以完成在协议之上的任意应用协议数据的完整性和隐蔽性服务。为在上安全地传送数据提供了一介加密通道,建立一个安全连接,主要实现以下工作:加密网络上客户端和服务器相互发送的信息;验证信息在传送过程是否安全完整:运用非对称密钥算法验证服务器;验证客户身份;交换应用层数据。 2.1 安全套接层协议。 是由设计的一种开放性协议,它提供了一种介于应用层和传输层之间的数据安全套接层协议机制。位于协议与各种应用层协议之间,为连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。其目的是为客户端(浏览器)到服务端之间的信息传输构建一个加密通道,此协议是与操作系统和服务器无关的。 2.2 协议可分两层: 2.2.1 记录协议: 它建立在可靠的传输协议(如)之上,位于协议的底层,为高层协议提供数据封装、压缩、加密等基本功能的支持。在中,所有数据被封装在记录中,握手协议中的报文,要求必须放在一个记录协议层的记录里,但应用层协议的报文,允许占用多个记录来传送 (1) 记录头格式 记录头可以是2个或3个字节长的编码。记录头包含的信息有记录头的长度、记录数据的长度,以及记录数据中是否有填充数据,其中填充数据是在使用块加密()算法时,填充实际数据,使其长度恰好是块的整数倍。最高位为1时,不含有填充数据,记录头的长度为2个字节,记录数据的最大长度为32767个字节;最高位为0时,含有填充数据,记录头的长度为3个字节,记录数据的最大长度为16383个字节。

网络协议实验报告

实验一: unsigned short checkSum(char*pBuffer,int nLen) { unsigned short nWord; unsigned int nSum=0; int i; for(i=0;i>16) { nSum=(nSum&0xFFFF)+(nSum>>16); } nSum=~nSum; return((unsigned short)nSum); } int timeout=1000; setsockopt(sock_raw,SOL_SOCKET,SO_RCVTIMEO,(char*)&timeout,sizeof(timeout)); setsockopt(sock_raw,SOL_SOCKET,SO_SNDTIMEO,(char*)&timeout,sizeof(timeout)); ICMPheader*pIcmpHeader=(ICMPheader*)sendBuffer; pIcmpHeader->byType=8; pIcmpHeader->byCode=0; pIcmpHeader->nId=(USHORT)::GetCurrentProcessId(); pIcmpHeader->nChecksum=0; pIcmpHeader->nSequence=htons(nSeq++); memset(sendBuffer+sizeof(ICMPheader),'*',32); pIcmpHeader->nChecksum=htons(checkSum(sendBuffer, sizeof(ICMPheader)+32)); int nRet=sendto(sock_raw,sendBuffer,sizeof(ICMPheader)+32,0, (SOCKADDR*)&dest_addr,sizeof(SOCKADDR_IN)); IPheader*ipHdr=(IPheader*)recvBuffer; ICMPheader*icmpHdrRet=(ICMPheader*)(recvBuffer+sizeof(IPheader)); if(icmpHdrRet->byCode==0&& icmpHdrRet->nId==pIcmpHeader->nId&& icmpHdrRet->nSequence==pIcmpHeader->nSequence) { nPacketReceived++; unsigned long dwRecvTime=::GetTickCount(); int nRoundTime=dwRecvTime-dwSendTime; nTotalRoundTime+=nRoundTime;

网络协议分析实验报告

课程设计 课程设计题目网络协议分析实验报告学生姓名: 学号: 专业: 2014年 6 月 29日

实验1 基于ICMP的MTU测量方法 实验目的 1)掌握ICMP协议 2)掌握PING程序基本原理 3)掌握socket编程技术 4)掌握MTU测量算法 实验任务 编写一个基于ICMP协议测量网络MTU的程序,程序需要完成的功能: 1)使用目标IP地址或域名作为参数,测量本机到目标主机经过网络的MTU; 2)输出到目标主机经过网络的MTU。 实验环境 1)Linux系统; 2)gcc编译工具,gdb调试工具。 实验步骤 1.首先仔细研读ping.c例程,熟悉linux下socket原始套接字编程模式,为实验做好准备; 2.生成最大数据量的IP数据报(64K),数据部分为ICMP格式,ICMP报文为回送请求报 文,IP首部DF位置为1;由发送线程发送; 3.如果收到报文为目标不可达报文,减少数据长度,再次发送,直到收到回送应答报文。 至此,MTU测量完毕。

ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息。它是一个非常重要的协议,它对于网络安全具有极其重要的意义。[1] 它是TCP/IP协议族的一个子协议,属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。ICMP报文在IP帧结构的首部协议类型字段(Protocol 8bit)的值=1.

ICMP原理 ICMP提供一致易懂的出错报告信息。发送的出错报文返回到发送原数据的设备,因为只有发送设备才是出错报文的逻辑接受者。发送设备随后可根据ICMP报文确定发生错误的类型,并确定如何才能更好地重发失败的数据包。但是ICMP唯一的功能是报告问题而不是纠正错误,纠正错误的任务由发送方完成。 我们在网络中经常会使用到ICMP协议,比如我们经常使用的用于检查网络通不通的Ping命令(Linux和Windows中均有),这个“Ping”的过程实际上就是ICMP协议工作的过程。还有其他的网络命令如跟踪路由的Tracert命令也是基于ICMP协议的。 ICMP(Internet Control Message,网际控制报文协议)是为网关和目标主机而提供的一种差错控制机制,使它们在遇到差错时能把错误报告给报文源发方.是IP层的一个协议。但是由于差错报告在发送给报文源发方时可能也要经过若干子网,因此牵涉到路由选择等问题,所以ICMP报文需通过IP协议来发送。ICMP数据报的数据发送前需要两级封装:首先添加ICMP 报头形成ICMP报文,再添加IP报头形成IP数据报 通信术语最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。最大传输单元这个参数通常与通信接口有关(网络接口卡、串口等)。 实验2 基于UDP的traceroute程序 实验目的 1)掌握UDP协议 2)掌握UDP客户机/服务器编程模式 3)掌握socket编程技术 4)掌握traceroute算法

以太网协议分析实验总结

竭诚为您提供优质文档/双击可除以太网协议分析实验总结 篇一:网络协议分析实验一 学院学生姓名 计算机学院 专业学号 网络工程 指导教师实验日期 黄杰11.6 一、以太帧格式的分析1.抓取方法描述 先在命令窗口下输入ipconfig查看本地的ip地址,得到的结果如下 : 可以得到本地的ip地址为10.66.126.254,默认网关为10.66.64.1,物理地址为3c-77-e6-6e-92-85,然后打开wireshark软件开始抓包,找到可以建立连接的ip地址来进行ping。这里选择的目的ip地址为119.90.37.235,将wireshark之前抓取的包清空重新打开进行抓取。 在命令窗口下输入ping

119.90.37.235. 2.记录抓取的过程 关闭wireshark,在过滤器中输入icmp,可以找到发送并接受的8个icmp协议下的数据 包。 选择其中一个数据包对以太帧格式进行分析。3.抓取数据的内容 抓取数据内容如下: 这里面包括了发送数据包的源mac地址和接受数据包的目的mac地址,以太帧类型以及数据内容等等。 4.抓取数据的格式解释(可直接在抓取数据的内容旁边标注) 源mac地址: 3c-77-e6-6e-92-85 目的mac地址: 00-00-54-00-01-02 类型:协议类型为icmp类型 长度:ip包总长度为 60 校验和 以太帧类型: 0x0800

帧内封装的上层协议类型为ip,十六进制码为0800 5.补充说明(如果有需要补充的内容写在这) icmp的以太帧中数据内容为32字节,这里可以看到里 面的内容是:abcdefghijklmnopqrstuvwabcdefghi。 二、aRp协议的分析1.抓取方法描述 首先查看本地的ip地址: 这里是192.168.1.7,目的主机是室友的电脑,ip地址为192.168.1.4。首先清除arp缓存 2.记录抓取的过程 在wireshark中选择arp过滤,在过滤规则中设置 host192.168.1.4,然后点击开始抓包。接下来在命令窗口 中输入ping192.168.1.4。 成功ping通后在wireshark中找到arp请求数据包和arp响应数据包。 3.抓取数据的内容 保存为抓包文件并导出为文本文件,文本文件内容如下:no.timesourcedestinationprotocollengthinfo 311.896476000honhaipr_6e:92:85broadcastaRp42whohas1 92.168.1.4tell192.168.1.7 Frame3:42bytesonwire(336bits),42bytescaptured(336bi

相关文档
最新文档