logo资料库

sniffer计算机网络抓包实验分析.doc

第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
资料共10页,剩余部分请下载后查看
实验目的
实验内容和要求
实验主要仪器设备和材料
实验方法、步骤及结构测试
4.1 安装Sniffer Pro 软件
4.2 捕获报文基本分析实验
4.3 捕获并分析地址识变协议(ARP)
4.4捕获并分析传输控制协议
4.5 捕获并分析用户数据报协议
实验报告要求
思考题
目录 实验目的................................................................................................................2 实验内容和要求....................................................................................................2 实验主要仪器设备和材料....................................................................................2 实验方法、步骤及结构测试................................................................................3 4.1 安装 Sniffer Pro 软件..............................................................................3 4.2 捕获报文基本分析实验...........................................................................3 4.3 捕获并分析地址识变协议(ARP)............................................................5 4.4 捕获并分析传输控制协议....................................................................... 6 4.5 捕获并分析用户数据报协议.................................................................. 9 实验报告要求........................................................................................................9 1
思考题.................................................................................................................. 10 实验五(综合性) 实验项目名称:局域网截包分析实验 实验项目性质:综合性 所属课程名称:计算机网络 实验计划学时:2 学时 实验目的 通过使用 Sniffer Pro 软件捕获网络流量,分析数据报结构,使学生能够更加清楚地 掌握网络分层的思想,从感性认识飞跃到理性认识。再通过捕获各个具体协议的通信数 据包,一步一步具体分析其实现步骤,更加具体地掌握协议的实现过程。 实验内容和要求 本次实验包括五项实验内容,第一项必做,其他任选两项。分别是捕获报文基本分 析实验、捕获并分析地址识变协议(ARP)、捕获并分析因特网控制信息协议、捕获并分 析传输控制协议、捕获并分析用户数据报协议。 1. 任意捕获一个数据包,分析其数据链路层格式、网络层格式和传输层格式,加 深学生对计算机网络分层概念的理解。 2. 地址识变协议(ARP)是 LAN 环境中最重要的协议之一。ARP 允许你的网络上使 用的设备自动将物理(MAC)地址映射为 IP 地址,因此需要对 ARP 有很详细的了 解,并清楚它是怎样工作的。 3. 传输控制协议(TCP)是因特网上最常用的第四层协议,TCP 可以保证数据传输的 可靠性。很多因特网服务,比如 HTTP、FTP、SMTP 和 Telnet,都要依靠 TCP 来传输数据。另外,很多传统的 LAN 程序,比如文件传输和 SQL 也都要使用 TCP/IP。 4. 用户数据报协议(UDP)是网络上另外一种很常用的第四层协议。UDP 由很多上 层协议使用-例如,SNMP、普通文件传输协议(TFTP)和 DNS-当 DNS 请求需 要解析时(DNS 在进行区域传输时使用 TCP)。所以,要很清楚的理解 UDP 的重 要性。 实验主要仪器设备和材料 每人一台联网计算机、Sniffer Pro v4.7.530 软件。
实验方法、步骤及结构测试 4.1 安装 Sniffer Pro 软件 参见参考文献[2]第 2 章。 使用方法参考附录二。 4.2 捕获报文基本分析实验 1. 打开 Sniffer Pro 程序后,选择 Capture(捕获)—Start(开始),或者使用 F10 键,或 者是工具栏上的开始箭头。 2. 一小段时间过后,再次进入 Capture(捕获)菜单,然后选择 Stop(停止)或者按下 F10 键,还可以使用工具栏。 3. 还可以按 F9 键来执行“停止并显示”的功能,或者可以进入 Capture(捕获)菜单, 选择“停止并显示”。 4. 停止捕获后,在对话框最下角增加了一组窗口卷标,包括高级、解码、矩阵、主 机表单、协议分布和统计信息。 5. 选择解码卷标,可以看到 Sniffer Pro 缓冲器中的所有实际“数据”。分析该卷标 结构及其内容。 从解码卷标上可以看出解码窗口分为三部分,最上面是捕获的报文,中间是报文的解码, 最下面是报文的二进制码,即发送的最原始内容。我们可以看出捕获到的报文有 DLC, IP,TCP,HTTP 等协议,解码表对应每一个层次的协议进行解码分析。从以前的实验, 我们已经得知链路层对应的是 DLC 协议,在 DLC 协议里面,长度为 14 字节,我们可 以看到发送数据包的目标 MAC 地址(Destination)和发送数据包的源 MAC 地址(Source), 并且可以得知此数据包携带的协议类型为 IP。
打开 IP 的标签,可以看到有 IP 协议报头的详细解码,其中 IP 协议报头长度为 20 个字 节。其中从上图得到的数据分析如下: 第一行,Version=4,表示 IP 协议的版本号为 4,即 IPV4,占 4 位,Header Length=20 Bytes, 表示 IP 包头的总长度为 20 个字节,该部分占 4 个位。所以第一行合起来就是一个字节。 第二行,Type of Service=00,表示服务类型为 0。用来描述数据报所要求的服务质量。 接下来的六行, 000 前三位不用;0 表示最小时延;0 表示吞吐量;0 表示可靠性;0 表示最 小代价;0 不用。第二到第八行合占 1 字节。 第九行,Total Length=40Bytes,表示该 IP 包的总长度为 40 个字节。该部分占两字节。 第十行,Identification=34833,表示 IP 包识别号为 34833。该部分占两个字节。 第十一行到十三行,Flags,表示片标志,占 3 个位。各位含义分别为:第一个“0”不 用,第二位为不可分片位标志位,此处值为“1”表示该数据表禁制分片。第三位为是 否最后一段标志位,此处“0”表示最后一段。 第十四行,Fragment Offset=0,表示片偏移为 0 个字节。该部分占 13 位。 第十五行, Time to Live=51Secongs/Hops,表示生存时间 TTL 值为 51,占 1 字节。 第十六行,Proctol=6(TCP),表示协议类型为 TCP,协议代码是 6,占 1 字节。 第十七行,Header Checksun=88AE(correct),表示 IP 包头校验和为 88AE,括号内的 Correct 表示此 IP 数据包是正确的,没有被非法修改过。该部分占两字节。 第十八行,Source Address=[59.74.42.45],表示 IP 数据包源地址为:59.74.42.45,占四 字节。 第十九行,Destination Address=[10.10.199.143],表示 IP 数据包目的地址为:10.10.199.143,
占四字节。 第二十行,No Options,表示 IP 数据包中未使用选项部分。当需要记录路由时才使用该 选项。 接下来的协议在以下捕获内容后分析。 4.3 捕获并分析地址识变协议(ARP) 1. 选择“捕获”――“定义过滤器”。 2. 在“定义过滤器”中,选择“文件”――“新建”。 3. 将这个文件命名为 ARP,点击 OK,然后点击“完成”。 4. 现在选择“高级”,从协议列表中选择 ARP。 5. 点击 OK,关闭定义过滤器窗口。已经定义了过滤器,可以按 F10 来捕获流量。 6. 输入 arp -d IP 来清除默认网关上的 ARP,这个命令中的 IP 是你的默认网关 IP 地址,然后 Ping 你的默认网关。 7. 停止捕获并打开代码窗口。至少会看到 2 个捕获到的帧(假设你可以连接到默认 网关)。 8. 分析捕获到的结果(即解释数据包的内容和协议具体实现过程)。 4.4 捕获并分析传输控制协议 第一个 ARP 数据包详情 从上面截图可以看出,可以分析 ARP 的工作过程:首先,在本局域网上的所有主 机上运行的 ARP 进程都收到本机发送的 ARP 请求分组(从目标地址为 Broadcast 可以 看出)。其次,从摘要中,PA=[10.10.199.129],可以看出 ARP 请求地址为 10.10.199.129, 而此 IP 地址的网络设备在 ARP 请求分组中见到自己的 IP 地址,就向本机发送 ARP 响
应分组,并写于自己的硬件地址。至于在此 ARP 分组的其余的所有主机都不会理睬这 个 ARP 请求分组。从以上可以分析,ARP 请求分组是广播的,但 ARP 响应分组是单一 的,即一对一。 一下对第一个 ARP 包进行分析。 第二行(Destination),6 个字节,可以看出 ARP 包是采取广播方式,目标地址从 下面的解码可以看出是 FFFFFFFFFFFF,翻译过来就是全 1,全 1 为一个广播地址,这 里代表一个链路层的广播地址。 接下第三行(Source),6 个字节,值为 0003254A3982,这个 MAC 地址为发起该 ARP 的主机接口的 MAC 地址,即源 MAC 地址。 接下来第四行(Ethertype),2 个字节,是协议类型, 0806 代表 ARP 类型,表示 该帧是 ARP 帧。 接下来第五行(Hardware type),2 字节,是硬件类型。我们用的是标准以太网, 值为 1H(0001),表示是 10M 以太网。 接下来第六行(Protocol type),长度 2 字节,是协议类型,我们用的是 IP 协议, IP 对应的值为 800,所以显示值为 0800. 接下来第七行(HLEN),1 字节,记录硬件地址长度,这个值告诉处理该帧的程 序,读取硬件地址时读到哪里结束。因为使用到网卡的 MAC 地址,而 MAC 地址的长 度为 6 字节,所以这里显示长度为 6。 接下第八行(PLEN),1 字节,为协议长度,这个值告诉处理该帧的程序,读取 协议地址时读到哪里结束。这次通信使用 IPV4 协议,而 IPV4 为 4 字节,所以该字段的 值就是 4 接下第九行(OPER),2 字节,为操作类型,ARP 请求为 1,ARP 响应为 2,图 中是 0001,所以这是一个 ARP 请求。 接下第十行(SHA),6 字节,用来定义发送者站的物理地址长度,这里为发送者 MAC 地址,该地址用来告诉本次操作的对方,是哪个 MAC 地址对它进行了操作。 接下第十一行(SPA),4 字节,用来定义发送站的逻辑地址长度,这里为发送者 IP 地址,该地址用来告诉本次操作的对方,是哪个 IP 地址对它进行了操作。 接下第十二行(THA),6 字节,用来定义目标的物理地址长度,这里为接收者 MAC 地址,用来告诉本次操作的对方,是哪个 MAC 地址应该接收并处理该帧。 接下第十三行(TPA), 4 字节,用来定义目标的逻辑地址,这里为接收者 IP 地 址,用来告诉本次操作的对方,是哪个 MAC 地址应该接收并处理该帧。 最后的 0,应该只起到填充作用。这是由于 IP 报文规定最小不能少于 60 字节,而 ARP 只用了 42 个字节,所以它需要用其他无用数据来填充剩下的 12 字节。 4.4 捕获并分析传输控制协议 1. 进入“捕获”――“定义过滤器”。在定义过滤器窗口中,点击“文件”――“新 建”。 2. 在“新建捕获文件”窗口中,确认新文件的名称(TCP)并点击 OK,然后点击“完
成”。 3. 转到“高级”卷标,你会看到系统提供的协议列表。点击 IP 协议标题旁边的“+” 号,到下面找到 TCP,然后选中 TCP。 4. 点击 OK,关闭定义过滤器窗口。 5. 按 F10 开始捕获 TCP 流量。 6. 分 析 捕 获 到 的 结 果 ( 即 解 释 数 据 包 的 内 容 和 协 议 具 体 实 现 过 程 ) 。 从上图可以得知 TCP 的工作方式,因为 TCP 是提供面向连接的可靠的传输服务。 第 1、2、3 个数据包是 HTTP 协议使用下层 TCP 协议通过三次握手原则建立连接的过 程,上图所示,选中三个数据包描述的是 TCP 三次握手的过程。这样我们可以知道, HTTP 通讯是发生在 TCP 协议之上,缺省端口是 TCP 的 80 端口,所以 HTTP 是一个可 靠的协议。第 1、2 个数据包的长度为 66 字节,第 3 个数据包的长度为 60 字节 下面先对第一个 TCP 包进行数据分析。 第一行(Source port):2 字节,源端口号,即发送这个 TCP 包的计算机所使用的 端口号。 第二行(Destination port):2 字节,目标端口号,即接受这个 TCP 包计算机所使 用的端口号。 第三行(Initial Sequence number):4 字节,表示发送数据包的排序序列。用以接 收的时候按顺序组合和排序。 第四行(Next expected seq number):大小不定,用以表示当前接受到数据包的序
号。 第五行(Date offset):1 字节,用来说明数据包的大小,从哪里开始哪里结束。 第六行(Reserved Bit):保留空间,以作未来用。 第七至第十三行(Flags):6 字节,标志位,有控制功能。分别为 URG,紧急指针; ACK,确认指针;PUSH,不用等待缓冲区装满而直接把报文交给应用层;RST,复位 指针;SYN,同步信号;FIN,完成或释放指针。 第十四行(Windows):2 字节,发送方希望被接受的数据大小。 第十五行(Checksum):2 字节,是根据报头和数据字段计算出的校验和,一定由 发送端计算和存储的。 第十六行(Urgent pointer):2 字节,紧急指针,告知紧急资料所在的位置。 接下来的是任意选项,里面包含了一些选项,如最大数据段大小等 上面三个图分别为前三个数据包中的 TCP 标记信息,反映了 TCP 的三次握手过程: 客户端向 Web 服务器发送一个 SYN 同步连接请求,Web 服务器收到请求后向客户端发 送一个 SYN/ACK 数据包,同意客户端的连接请并向客端发起同步,客户端收到该数据 包后再次确认,从而成功建立 TCP 连接。 如上面第一幅图,本机发送一个初始序号(SEQ)455908395 给服务器。标志位 SYN
分享到:
收藏