网络协议实践.doc_第1页
网络协议实践.doc_第2页
网络协议实践.doc_第3页
网络协议实践.doc_第4页
网络协议实践.doc_第5页
已阅读5页,还剩21页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网络工程网络工程网络工程网络工程 网络协议实践网络协议实践网络协议实践网络协议实践 课程设计报告课程设计报告课程设计报告课程设计报告 成绩 总分 成绩 总分 答辩 答辩 7070 分 分 课程设计报告 课程设计报告 3030 分 分 总分总分 姓姓 名 名 XXXX 学学 号 号 XXXX 班班 级 级 XXXX 签名 签名 目目 录录 第一章第一章TCP 协议协议 4 1TCP 协议基础 4 1 1 什么是 TCP 协议 4 1 2 报文类型与格式 4 1 3TCP 连接的建立 4 1 4TCP 连接的释放 5 2 抓包验证 TCP 协议 6 2 1 实验环境 6 2 2 实验步骤与实验结果分析 6 2 2 1 建立 TCP 连接 6 2 2 2 释放 TCP 连接 7 第二章第二章 ARP 协议协议 10 1 ARP 协议基础 10 1 1 什么是 ARP 协议 10 1 2ARP 欺骗 10 1 3ARP 的报文格式 10 2 抓包验证 ARP 协议 11 2 1 实验环境 11 2 2 实验步骤与实验结果分析 11 2 2 1 建立连接 11 3 模拟 ARP 欺骗 13 3 1 实验环境及原理 13 3 2 实验步骤与结果 13 第三章第三章 OSPF 路由协议验证分析路由协议验证分析 15 1OSPF 协议基础 15 1 1OSPF 协议简介 15 1 2OSPF 的HELLO包 15 1 2 1HELLO包的作用以及所包含的信息 15 1 3 OSPF 邻居关系 16 1 3 1 邻接关系建立的 4 个阶段 16 1 3 2 OSPF 路由器在完全邻接之前 所经过的几个状态 16 2 抓包验证 OSPF 协议 16 2 1 实验环境 16 2 2 实验步骤与实验结果分析 16 2 2 1 建立连接 16 2 2 2HELLO包 17 2 2 3DATABASE DESCRIPTION包 19 2 2 4LINK STATE REQUEST 23 2 2 5LINK STATE UPDATE 和 LINK STATE ACKNOWLEDGE 24 3 实验结论 26 网络协议实践网络协议实践 第一章 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 为操作 值为 0 x0001 意为查询 request 目标 IP 为 12 1 1 2 为网关地址 目标 MAC 为未知 4 第二个数据包 第二个包如图 为网关回应主机的 arp 请求报文源 MAC 为网关 目的 MAC 为主机 ARP 包中 opcode 为操作 值为 0 x0002 意为回复 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 包 R2 发送的第一个 hello 包 R1 发送的第二个 hello 包 R2 发送的第二个 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 包 R2 发送的第一个 DB 包 R

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论