网络协议实践

网络工程

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

姓 名: 学 号: 班 级:

XX XX XX

签名:

目 录

第一章

TCP 协议 ...........................................................................................................................................3

1TCP 协议基础 .............................................................. 3 1.1 什么是TCP 协议 ......................................................... 3 1.2 报文类型与格式.......................................................... 3 1.3TCP 连接的建立 .......................................................... 3 1.4TCP 连接的释放 .......................................................... 4 2抓包验证TCP 协议 ......................................................... 5 2.1实验环境 ................................................................ 5 2.2实验步骤与实验结果分析 .................................................. 5 2.2.1建立TCP 连接 ......................................................... 5 2.2.2释放TCP 连接 .......................................................... 6

第二章 ARP 协议 . ..................................................................................................................................................9

1 ARP 协议基础 ............................................................. 9 1.1什么是ARP 协议 ......................................................... 9 1.2ARP 欺骗 ................................................................ 9 1.3ARP 的报文格式 ........................................................... 9 2抓包验证ARP 协议 ......................................................... 10 2.1实验环境 ............................................................... 10 2.2实验步骤与实验结果分析 ................................................. 10 2.2.1建立连接 ............................................................. 10 3模拟ARP 欺骗 ............................................................. 12 3.1实验环境及原理 ......................................................... 12 3.2实验步骤与结果 ......................................................... 12

第三章OSPF 路由协议验证分析 . ....................................................................................................................14

1OSPF 协议基础 ............................................................ 14 1.1OSPF 协议简介 .......................................................... 14 1.2OSPF 的HELLO 包 ........................................................ 14 1.2.1HELLO 包的作用以及所包含的信息 . ....................................... 14 1.3 OSPF 邻居关系 .......................................................... 15 1.3.1 邻接关系建立的4个阶段:.............................................. 15 1.3.2.OSPF 路由器在完全邻接之前, 所经过的几个状态 ........................... 15 2 抓包验证OSPF 协议........................................................ 15 2.1 实验环境............................................................... 15 2.2实验步骤与实验结果分析 ................................................. 15 2.2.1建立连接 ............................................................. 15 2.2.2HELLO 包 . ............................................................. 16 2.2.3D ATABASE D ESCRIPTION 包: ............................................. 18 2.2.4L INK S TA TE R EQUEST .................................................... 22 2.2.5L INK S TA TE U PDA TE 和L INK S TA TE A CKNOWLEDGE ........................... 23 3实验结论 ................................................................. 25

网络协议实践

第一章 TCP 协议

1TCP 协议基础

1.1 什么是TCP 协议

TCP 协议提供的是可靠的、面向连接的传输控制协议,即在传输数据前要先建立逻辑连接,然后再传输数据,最后释放连接3个过程。TCP 提供端到端、全双工通信;采用字节流方式,如果字节流太长,将其分段;提供紧急数据传送功能。尽管TCP 和UDP 都使用相同的网络层(IP ),TCP 却向应用层提供与UDP 完全不同的服务。TCP 提供一种面向连接的、可靠的字节流服务。面向连接意味着两个使用TCP 的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP 连接。这一过程与打电话很相似,先拨号振铃,等待对方摘机说“喂”,然后才说明是谁。 在一个TCP 连接中,仅有两方进行彼此通信。广播和多播不能用于TCP 。

1.2 报文类型与格式

图1.2TCP 报文的包头格式

1.3TCP 连接的建立

TCP 是因特网中的传输层协议,使用三次握手协议建 立连接。当主动方发出SYN 连接请求后,等待对方回答SYN ,ACK 。这种建立连接的方法可以防止产生错误的连接,TCP 使用的流量控制协议是可变大小的 滑动窗口协议。第一次握手:建立连接时,客户端发送SYN 包(SEQ=x)到服务器,并进入SYN_SEND状态,等待服务器确认。第二次握手:服务器收 到SYN 包,必须确认客户的SYN(ACK=x+1),同时自己也送一个SYN 包(SEQ=y),即SYN+ACK包,此时服务器进入SYN_RECV状态。第三次握手:客户端收到服务器的

SYN+ACK包,向服务器发送确认包ACK(ACK=y+1),此包发送完毕,客户端和服务器进入Established 状态,完成三次握手。如图

图1.3TCP 连接的建立

1.4TCP 连接的释放

数据传输结束后,通信的双方都可释放连接。

1、现在A 的应用进程先向其TCP 发出连接释放报文段,并停止再发送数据,主动关闭 TCP 连接。A 把连接释放报文段首部的 FIN = 1,其序号seq = u,等待 B 的确认。

2、B 发出确认,确认号 ack = u +1,而这个报文段自己的序号 seq = v。TCP 服务器进程通知高层应用进程。从 A 到 B 这个方向的连接就释放了,TCP 连接处于半关闭状态。B 若发送数据,A 仍要接收..

3、若 B 已经没有要向 A 发送的数据,其应用进程就通知 TCP 释放连接, 4、A 收到连接释放报文段后,必须发出确认。

在确认报文段中 ACK = 1,确认号 ack w 1,自己的序号 seq = u + 1。 TCP 连接必须经过时间 2MSL 后才真正释放掉;如下图

2抓包验证TCP 协议

2.1实验环境

在gn3中使用wireshark 抓包进行分析

2.2实验步骤与实验结果分析

2.2.1建立TCP 连接

1.打开gns3,建立拓扑图,连接启动wireshark 。如图:

2.R1 telnet R2的IP 12.1.1.2。得到TCP 建立连接的3次握手。如下图:

从上图可以直观的看出TCP 连接的3此握手。一下具体说明; 3.第一个数据包如图:

由主机向服务器发送数据包,其中sequence number=x=0,标志位SYN=1。

4.第二个数据包如图:

服务器向主机回数据包,其中sequence number=y=0,acknowledgement number=x+1=1 标志位SYN=1,ACK=1

5.第三个数据包如图:

主机向服务器发送确认包,其中sequence number=x+1=1,acknowledgement number=y+1=1 标志位ACK=1

2.2.2释放TCP 连接

1.TCP 连接的释放有四步,如图:

2.第一个数据包如图:

主机向服务器发送连接断开报文, sequence number=x=317, acknowledgement number=y=66 标志位FIN=1,ACK=1

3.第二个数据包如图:

服务器向主机发送第一个报文,为确认报文, sequence number=y=66,

acknowledgement number=x+1=318 标志位

ACK=1

从主机到服务器这个方向的连接就释放了,TCP 连接处于半关闭状态。服务器若发送数据,主机仍要接收

4.第三个数据包如图: 服务器向主机发送第二个报文, sequence number=y=66,

acknowledgement number=x+1=318

意为若没有要向主机发送的数据,其应用进程通知 TCP 释放连接。 标志位FIN=1,ACK=1

5.第四个数据包如图: 主机向服务器发送第二个报文, sequence number=x+1=318, acknowledgement number=y+1=67 标志位

ACK=1

至此,四次握手结束,TCP 连接断开。

第二章 ARP 协议

1 ARP 协议基础

1.1什么是ARP 协议

ARP 是Address Resolution Protocol(RFC826)的缩写。中文译做“地址解析协议”,本质是完成网络地址到物理地址的映射,具体到以太网,它使用的是动态绑定转换的方法。 在TCP/IP协议中,每一个网络结点是用IP 地址标识的,IP 地址是一个逻辑地址。而在以太网中数据包是靠48位MAC 地址(物理地址)寻址的。因此,必须建立IP 地址与MAC 地址之间的对应(映射)关系,ARP 协议就是为完成这个工作而设计的。 其作用为通过IP 地址寻找主机的MAC 地址。

1.2ARP 欺骗

ARP 协议是建立在信任局域网内所有结点的基础上的,它很高效,但却不安全。它是无状态的协议,不会检查自己是否发过请求包,也不管(其实也不知道)是否是合法的应答,只要收到目标MAC 是自己的ARP reply包或arp 广播包(包括ARP request和ARP reply),都会接受并缓存。这就为ARP 欺骗提供了可能,恶意节点可以发布虚假的ARP 报文从而影响网内结点的通信,甚至可以做“中间人”。

当局域网中的某台机器B 向A 发送一个自己伪造的ARP 应答,而如果这个应答是B 冒充C 伪造来的,即IP 地址为C 的IP ,而MAC 地址是伪造的,则当A 接收到B 伪造的ARP 应答后,就会更新本地的ARP 缓存,这样在A 看来C 的IP 地址没有变,而它的MAC 地址已经不是原来那个了。在A 上C 的MAC 地址被改变成一个不存在的MAC 地址,这样就会造成网络不通,导致A 不能Ping 通C ,这就是一个简单的ARP 欺骗。

ARP 欺骗方式:

伪装成被攻击主机广播ARP 请求 伪装成被攻击者进行ARP 应答 伪装成网关进行ARP 应答

1.3ARP 的报文格式

硬件类型指明发送方想知道的硬件接口类型。对以太网,值为1;

协议类型指明发送方提供的高层协议地址类型。对TCP/IP互联网,采用IP 地址,值为十六机制的0806;

操作指明ARP 的操作类型,ARP 请求为1,ARP 响应为2,RARP 请求为3,RARP 响应为4。

在以太网环境下的ARP 报文,硬件地址为48位(6个八位组)

2抓包验证ARP 协议

2.1实验环境

在gn3中使用wireshark 抓包进行分析

2.2实验步骤与实验结果分析

2.2.1建立连接

1. 在GN3中建立拓扑图,在R1上

PING R2

2. 抓到的ARP 报文;如图:

3. 第一个数据包

第一个包如图:

为主机发送ARP 广播寻找网关12.1.1.2

源MAC 为自己,目的MAC 为广播地址255.255.255.255, ARP 包中opcode 为操作,值为0x0001,意为查询(request ) 目标IP 为12.1.1.2为网关地址,目标MAC 为未知

4. 第二个数据包

第二个包如图:

为网关回应主机的arp 请求报文源MAC 为网关, 目的MAC 为主机

ARP 包中opcode 为操作,值为0x0002,意为回复(reply ) Sender MAC address 为网关MAC

当主机 B 收到 A 的 ARP 请求分组时,就将主机 A 的这一地址映射写入主机 B 自己的 ARP 高速缓存中。这对主机 B 以后向 A 发送数据报时就更方便了。

ARP 保存在cache 中的项目都设置了生存时间,凡是超过生存时间的项目都将从cache 中删除

3模拟ARP 欺骗

3.1实验环境及原理

主机IP :192.168.1.37 虚拟机IP192.168.1.35。Sniffer 安装在虚拟机上。

原理:主机与虚拟机之间能正常通信,主机上有MAC 地址映射表,现在要模拟ARP 欺骗,在虚拟机上用sniffer 构造虚假报文,将虚拟机192.168.1.35的MAC 地址做修改,之后发给主机,以使主机的MAC 地址表中相关项目更改,主机与虚拟机之间便无法通信,以达欺骗目的。

3.2实验步骤与结果

1. 主机ping 虚拟机192.168.1.35 能够ping 通

2. 查看虚拟机和主机接口的MAC 地址表

3. 在虚拟机里面用sniffer 构造报文,发送地址为192.168.1.37,更改192.168.1.35和网卡的映射,将00-0c-29-7a-95-50中的7a 改成00: 修改前的报文:

将7a 修改成了

00

4. 在接口处查看修改后的mac 地址

5. 然后PING192.168.1.35。请求超时,说明ARP 欺骗成功。

由此可见ARP 欺骗实验成功,主机与虚拟机间的通信中断。

第三章OSPF 路由协议验证分析

1OSPF 协议基础

1.1OSPF 协议简介

链路是路由器接口的另一种说法,因此OSPF 也称为接口状态路由协议。OSPF 通过路由器之间通告网络接口的状态来建立链路状态数据库,生成最短路径树,每个OSPF 路由器使用这些最短路径构造路由表。

OSPF 路由协议是一种典型的链路状态(Link-state )的路由协议,一般用于同一个路由域内。在这里,路由域是指一个自治系统(Autonomous System ),即AS ,它是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。在这个AS 中,所有的OSPF 路由器都维护一个相同的描述这个AS 结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF 路由器正是通过这个数据库计算出其OSPF 路由表的。

作为一种链路状态的路由协议,OSPF 将链路状态广播数据LSA (Link State Advertisement )传送给在某一区域内的所有路由器,这一点与距离矢量路由协议不同。运行距离矢量路由协议的路由器是将部分或全部的路由表传递给与其相邻的路由器。

1.2OSPF 的hello 包

1.2.1hello 包的作用以及所包含的信息

1. 用于发现邻居

2. 在成为邻居之前, 必须对Hello 包里的一些参数进行协商 3.Hello 包在邻居之间扮演着keepalive 的角色 4. 允许邻居之间的双向通信

5. 用于在NBMA(Nonbroadcast Multi-access)网络上选举DR 和BDR Hello Packet包含以下信息: 1. 源路由器的RID 2. 源路由器的Area ID 3. 源路由器接口的掩码

4. 源路由器接口的认证类型和认证信息 5. 源路由器接口的Hello 包发送的时间间隔 6. 源路由器接口的无效时间间隔 7. 优先级

8.DR/BDR接口IP 地址 9. 五个标记位(flag bit) 10. 源路由器的所有邻居的RID

1.3 OSPF邻居关系

1.3.1 邻接关系建立的4个阶段:

1. 邻居发现阶段

2. 双向通信阶段:Hello 报文都列出了对方的RID ,则BC 完成. 3. 数据库同步阶段: 4. 完全邻接阶段: full adjacency

邻居关系的建立和维持都是靠Hello 包完成的, 在一般的网络类型中,Hello 包周期性的以 HelloInterval 秒发送, 有1个例外:在NBMA 网络中, 路由器每经过一个PollInterval 周期发送Hello 包给状态为down 的邻 居(其他类型的网络是不会把Hello 包发送给状态为down 的路由器的).Cisco 路由器上PollInterval 默认60s Hello Packet以组播的方式发送给224.0.0.5,在NBMA 类型,点到多点和虚链路类型网络,以单播发送给邻居路由器。邻居可以通过手工配置或者 Inverse-ARP 发现.

1.3.2.OSPF路由器在完全邻接之前, 所经过的几个状态

1.Down: 此状态还没有与其他路由器交换信息。首先从其ospf 接口向外发送hello 分组,

还并不知道DR(若为广播网络) 和任何其他路由器。发送hello 分组使用组播地址224.0.0.5。

2.Attempt: 只适于NBMA 网络, 在NBMA 网络中邻居是手动指定的, 在该状态下, 路由器将使用HelloInterval 取代PollInterval 来发送Hello 包.

3.Init: 表明在DeadInterval 里收到了Hello 包, 但是2-Way 通信仍然没有建立起来. 4.two-way: 双向会话建立, 而RID 彼此出现在对方的邻居列表中。(若为广播网络:例如:以太网。在这个时候应该选举DR,BDR 。)

5.ExStart: 信息交换初始状态,在这个状态下, 本地路由器和邻居将建立Master/Slave关系, 并确定DD Sequence Number,路由器ID 大的的成为Master.

6.Exchange: 信息交换状态,本地路由器和邻居交换一个或多个DBD 分组(也叫DDP) 。DBD 包含有关LSDB 中LSA 条目的摘要信息) 。

7.Loading: 信息加载状态:收到DBD 后, 将收到的信息同LSDB 中的信息进行比较。如果DBD 中有更新的链路状态条目,则向对方发送一个LSR ,用于请求新的LSA 。

8.Full: 完全邻接状态, 邻接间的链路状态数据库同步完成,通过邻居链路状态请求列表为空且邻居状态为Loading 判断。

2 抓包验证OSPF 协议

2.1 实验环境

在gn3中使用wireshark 抓包进行分析

2.2实验步骤与实验结果分析

2.2.1建立连接

1. 在GN3中建立拓扑图,如图

2. 抓到的ARP 报文;如图:

OSPF 用组播地址224.0.0.5进行报文发送地址,启用OSPF 的路由器都能接受其报文。R1、R2分别向组播地址发送hello 包如图: 2.2.2hello 包

R1发送的第一个hello 包:

R1发送的第二个hello 包

R1和R2发送的第二个hello 包比发送的第一个hello 包active neighbour,其中包含对方的信息,所以第二个包的大小也要比第一个大。至此两边HELLO 过程结束,进入EXSTART 状态。

2.2.3Database Description包:

两路由器分别首次发送DBD 报文,本地路由器和邻居将建立Master/Slave关系, 并确定DD Sequence Number, 路由器ID 大的的成为Master. 初次发送DBD 报文时,两个路由器都有自己的sequence number并且都认为自己是master ,I 、M 、MS 字段值都为1。 R1发送的第一个DB 包

R1发送的第二个DB 包:

R2发送的第二个DB 包:

R1与R2发送两个DB 包之后的两个LSA HEADER:

此时,链路状态数据库同步结束后,将I 、M 置0并且SEQUENCE NUMBER+1之后便进入LOADING 状态:

R1发送的第三个DB 包:

R2发送的第三个DB 包:

在接收到以上字段的DBD 包之后便进入LOADING 状态,开始进行路由更新与应答:

2.2.4Link State Request R1发送的

LSR

R2发送的

LSR

2.2.5Link State Update 和Link State Acknowledge R1发送的第一个

LSU: sequence number 0x8000000a

R1发送的第二个

LSU: sequence number 0x8000000b

R2发送的LSACK :确认两条LSU

sequence number 0x8000000a 0x8000000b

R2发送的LSU :sequence number 0x80000009

R1发送的LSACK :sequence number 0x80000009

经过以上步骤则得到如下结果:邻居关系建立结束,进入FULL 状态; 在R1上

show ip ospf neighbor

在R2上

show ip ospf neighbor

3实验结论

通过这次课程实践,让自己充分理解了TCP 协议、ARP 协议和OSPF 协议。以前对于这3中协议懵懵懂懂的地方,现在也熟悉无比。对TCP 协议的三次连接握手和四次释放连接有了充分的了解。自己构造了ARP 欺骗,让自己了解到了ARP 欺骗在局域网中处处体现。对OSPF 的5个数据包也从深的层次理解了一遍。总之,这次实践,让我学会了在网络中如何利用抓包工具来对数据包进行分析,用来诊断网络问题。相信以后自己会做的更好。


相关文章

  • 浅析网络工程专业课程体系研究与实践
  • 浅析网络工程专业课程体系研究与实践 1引言 随着计算机网络技术的快速发展, 大到国民经济各个领域, 小到人们生活的点点滴滴都离不开计算机网络, 并且这种应用趋势还在不断向更广的领域.更深的层次.更高的要求发展.于是, 包括政府.军队.科研院校.企事业单位等组织在内的社会各行各业对网络技术各方面的人才 ...

  • 一种基于无线Mesh网络的移动电子商务实验室研究
  • 摘要: 随着高校创业学生增多以及移动电子商务的快速发展,对移动电子商务人才的综合实践技能的要求也越来越高.该文主要设计了一种基于无线Mesh网络的移动电子商务实验平台,通过该平台使学生对移动电子商务的实践动手有进一步提升. 关键词:无线Mesh网络:移动电子商务:多跳访问:拥塞 中图分类号:TP39 ...

  • 计算机网络课程总结
  • 计算机网络课程总结 课程设计是每一个大学生在大学生涯中都不可或缺的,它使我们在实践中了巩固了所学的知识.在实践中锻炼自己的动手能力:实习又是对每一位大学生所学专业知识的一种拓展手段,它让我们学到了很多在课堂上根本就学不到的知识, 不仅开阔了自己的视野,增战了自己的见识,也为我们以后进一步走向社会打下 ...

  • 网络技术教学三维目标
  • [选修]网络技术应用 第一章 第一课时 总第一课时 9月1日执教 课题:1.1跨时空的服务 教学目标: 1. 知识与技能 了解因特网服务的基本类型和特点,掌握常用的 FTP 工具的基本使用方法,了解远程登录 : 2. 过程与方法 培养学生分析.解决问题,自主探索学习的能力 3. 情感态度价值观 通过 ...

  • 软件定义网络架构研究与实践
  • 中图分类号:TN915.03: TP393.03 文献标志码:A 文章编号:1009-6868 (2013) 05-0011-005 通过分析SDN的研究背景,阐述了SDN由应用层.控制层.基础设施层组成的3平面架构:基于OpenFlow的实现方案和以Juniper.思科等公司解决方案为代表的其他实 ...

  • [电子商务基础理论与实践]教学大纲
  • 电子商务基础理论与实践教学大纲 一.课程任务 本课程以案例教学为主,将原有的生涩.枯燥的理论知识,按照培养学生掌握电子商务师所需具备的基础理论的原则,通过案例导引的方式和身边的生活有机地结合起来,寓教于乐,为学生创造一个良好的商务学习环境.同时通过综合实训让学生的学习脱离纸上谈兵,在实训中培养电子商 ...

  • 计算机网络安全教学大纲
  • 计算机网络安全基础>教学大纲 前 言 本课程是计算机科学与技术专业的专业方向模块的选修课.开设本课程的目的是使学生了解网络不安全的各种因素,了解网络系统所面临的安全任务,提高安全意识:掌握网络安全的基本概念.原理和知识体系结构:掌握和了解基本的计算机网络安全技术,掌握常见的网络攻击技术以及保证 ...

  • 管辖规则大全及案例分析
  • 实务中有关合同纠纷地域管辖的七大争议焦点总结及分析 因网络购物与卖家发生纠纷诉讼,是否必须到被告所在地起诉呢? 诉讼的前提是管辖问题,管辖对诉讼权益的影响主要表现在以下方面:1.直接影响诉讼成本.如被告在北京,那么你从安徽到北京参加诉讼,需要花费大量的时间.人力.财力,增加了当事人的诉讼负担.2.管 ...

  • 因特网原理对管理思想的启示
  • 此文为本人在天津大学读研时发表.已发表在<现代企业>2003第1期. 因特奈特主义(Internetism) 因特网原理对管理思想的启示 □ 天津 王权 因特网(又称互联网,Internet )正在积极地促动着人类社会的变革,有力地带动着全球经济的发展.以因特网等信息技术为基础的电子商务 ...

© 2024 范文中心 | 联系我们 webmaster# onjobs.com.cn