协议数据分析

  • 实验目的

了解协议分析仪的使用方法和基本特点。

增强对网络协议的理解。 

  • 实验要求

要求在进行协议数据分析后,能够将网络数据与具体的网络操作相互映证,如实的记录实验结果,完成实验

  • 实验环境

1.一台运行Windows 2000的计算机

2.各计算机已通过网卡、双绞线、集线器实现网络硬件连接。

  • 实验步骤
  1. 执行“ipconfig  /all”命令,记录自己的ip地址、物理地址、网关地址、DNS服务器地址。

 

由上,我们可以看出:

IP地址:10.1.246.149

物理地址:C8-D3-FF-3D-89-8B

网关地址:10.1.244.1

DNS服务器地址:10.1.244.18

实验探究:什么是DNS服务器?

通过查阅相关资料和自己理解总结如下:

DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。DNS中保存了一张域名(domain name)和与之相对应的IP地址 (IP address)的表,以解析消息的域名。 域名是Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。

 

  1. 执行“ping 网关操作,捕获网络数据,再马上执行“arp –a”并记录网关ip地址绑定的物理地址。

屏幕参数解析如下:

通过arp -a可以看到此处我们的网关的物理地址为:00-00-5e-00-01-06.

2.1 在捕获的网络数据中通过对协议字段排序(用鼠标左键点击protocol字段两次),找到这次ping操作产生的8ICMP数据,其中有四个ICMP请求,四个ICMP响应,请求与响应应该是交替出现。

实验探究:什么是ICMP?

   通过查阅相关资料和自己理解总结如下:

 

ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

 

由上可以看出:ICMP请求与ICMP响应的确是交替出现的。由图我们可以看到我们的主机第一次ICMP请求网关地址,网管地址给予回应:这里主要是说明侦测远端主机存在。

第二次ICMP请求网关地址,网管地址给予回应:这里作用是在建立及维护路由资料。

第三次ICMP请求网关地址,网管地址给予回应:这里是重导资料传送路径(ICMP重定向)。

第四次ICMP请求网关地址,网管地址给予回应:这里主要是进行资料流量控制。

2.2选择第一个ICMP请求,检查这个网络数据的整体封装关系——应该是ICMP数据封装在IP数据报中,IP数据报封装在帧中。

从以上三张截图可以看出:从上到下分别是帧以太网协议、链路层协议、IP协议、网际报文控制协议,这三张图对应着看的确ICMP数据封装在IP数据报中,IP数据报封装在帧中。

 

2.3记录该网络数据块层次的目的物理地址、源物理地址、帧类型,印证与前面得到的本机物理地址、网关物理地址是否一致,帧类型是否是“0800”,思考一下为什么是这样。

从链路层协议可以看出:源物理地址c8:d3:ff:3d:89:8b与我本机物理地址c8:d3:ff:3d:89:8b一样;目的物理地址00-00-5e-00-01-06与网关物理地址00-00-5e-00-01-06也一样。帧类型是0800。

实验探究:帧类型为什么“0800”

     EtherType 是以太帧里的一个字段,用来指明应用于帧数据字段的协议。该类字段值取自 IEEE EtherType 字段寄存器。EtherType 字段是个极限空间,因此其分配是有限的。所以Ethernet II类型以太网帧格式用2个字节标识出以太网帧所携带的上层数据类型,而16进制数0x0800代表IP协议数据,所以在此帧类型是0800,因为他是IP协议数据。

 

2.4记录该网络数据块“IP数据报”层次的目的IP地址、源IP地址,印证与前面得到的本机IP地址、网关IP地址是否一致,记录“协议”字段的值。

屏幕参数说明:源IP地址10.1.246.149与我本机IP地址10.1.246.149一样;目的IP地址10.1.244.1与网关IP地址10.1.244.1也一样。

协议字段值说明如下:

version:版本号4;header length:IP报文头部20字节(说明选项字段为0);

Different iated services Field(区分服务领域):它包括DSCP:区分服务代码点,即DS标记值字段,它在每个数据包IP头部的服务类别TOS标识字节中,利用已使用的6比特和未使用的2比特字节,通过编码值来区分优先级。用于选择PHB(单中断段行为)和CU(显示拥塞通知):总的概括就是前6位表示的优先级这里是0,后两位表示拥塞控制:00代表Non-ECT非ECN-Capable运输。

Total Length:IP数据报数据加首部总长度60字节。

Identification(标识):占16位。IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段这里总共1590个数据报。

Flags(标志):为0代表表示这已是若干数据报片中的最后一个。

  1. 执行“ping 某同学计算机IP地址命令,捕获网络数据,找到对应的ARP请求和ARP响应网络数据(如果没有找到,则重新选择一个其他同学,ping他的IP地址)。

从上可以得到关键信息:

  此同学的IP地址为:10.1.246.199物理地址为:C-8-D-3-F-F-3-D-7-1-7-7

3.1记录ARP请求在帧层次的目的物理地址、源物理地址、帧类型,并印证相关数据。记录ARP请求具体数据印证相关数据。

实验探究:什么是ARP协议?

通过查阅资料总结如下:

ARP(地址解析协议)它是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。

 

屏幕参数说明:由上我们可以看到我本机先通过广播的方式将10.1.146.149这个目的网络进行询问,并接收返回消息,以此确定目的网络的物理地址,然后目的网络主机也对我的主机广播询问物理地址一次,就双方都互相知道对方的物理地址,开始进行通信。

源物理地址c8:d3:ff:3d:89:8b与我本机物理地址c8:d3:ff:3d:89:8b一样;目的物理地址ff-ff-ff-ff-ff-ff与同学的物理地址不一样。因为广播的时候还不知道目标网络的物理地址。

帧类型是0806。上文对帧类型进行了详解,可以看出此帧格式是Nthernet V2类型的帧。

3.2记录ARP响应在帧层次的目的物理地址、源物理地址、帧类型,并印证相关数据。记录ARP响应具体数据印证相关数据。

 

屏幕参数说明:由上我们可以看到目的网络主机作为响应回应了我本机它的物理地址。

源物理地址c8:d3:ff:3d:71:77与同学本机物理地址c8:d3:ff:3d:71:77一样;目的物理地址c8:d3:ff:3d:89:8b与我的物理地址一样。因为广播的时候还不知道目标网络的物理地址。

帧类型是0806。上文对帧类型进行了详解,可以看出此帧格式是Nthernet V2类型的帧。

  1. 使用tracert命令产生网络数据,并对数据进行分析,记录关键的数据特征,并做出解释。

 

屏幕参数分析:

 Tracert:用来探测本机到目标计算机之间的路由器IP地址,会从源主机到目标主机之间的每一台路由器都会返回响应的报头。最左侧的,1,2,3,4~14,这标明在我现在使用的宽带(使用的是移动宽带)上,经过11个路由节点,可以到达腾讯的服务。

中间这三列,单位是ms,是表示我们连接到每个路由节点的速度,返回速度和多次链接反馈的平均值。后面的IP,就是每个路由节点对应的IP,每个ip输入什么,202开头的ip地址是C类ip地址。在第7个路由节点上,返回消息是超时,这表示这个路由节点和当前使用的宽带,是*和返回超时,那就说明这个IP,在各个路由节点都有问题。

 

 

从以上三个图我们能看到:

Tracert 先向目的主机发送三个 TTL  1 的封装了ICMP回应报文的IP数据报,在第一个路由器IP数据报的TTL字段被减为0,数据报被丢弃,同时向源主机发送已超时的ICMP差错报告,源主机即可得到第一个路由器的IP地址。接下来Tracert向目的主机发送三个 TTL  2 的封装了ICMP回应报文的IP数据报,在第二个路由器IP数据报的TTL字段被减为0,数据报被丢弃,同时向源主机发送已超时的ICMP差错报告,源主机即可得到第二个路由器的IP地址……最终,通过tracert可以探测本机到目的主机经过的所有路由器的IP地址。

  1. 用浏览器浏览某个网站(比如:www.sina.com.cn, www.yahoo.com.cn),查看捕获的数据,记录这次访问产生的网络数据(只记录每个数据包是什么数据包),注意它们的次序,给出简单的解释。参见用户点击URL后产生的网络事件。

 

这里看到,我访问的是清华的网站。

 

首先可以看到的是:HTTP的数据报,这里可以看到,我方的主机通过HTTP请求向清华网站服务器请求各种资源。我方主机发送HTTP请求 通过连接,客户端写一个ASCII文本请求行,后跟0或多个HTTP头标,一个空行和实现请求的任意数据。一个请求由四个部分组成:请求行、请求头标、空行和请求数据。服务端接受请求并返回HTTP响应清华服务器解析请求,定位指定资源。服务器将资源副本写至套接字,在此处由客户端读取。一个响应由四个部分组成;状态行、响应头标、空行、响应数据。

UDP面向无连接的协议:这里看到:它的源端口号、目的端口号、长度字段、域名系统字段。

这里主要找了一个数据帧进行分析:帧以太网协议、链路层协议、IP协议

帧以太网协议:

到达时间参数:就是这个数据包到达目的网络的时间

帧数:共有215个

数据包长度:75字节

捕获长度:75字节

链路层协议:

原网络:10.1.244.149(本机网络IP)

目的网络:10.1.244.1(可以看出此数据包是通过网管发出的)

帧类型:0x0800

IP协议:

version:版本号4;header length:IP报文头部20字节(说明选项字段为0);

Different iated services Field(区分服务领域):它包括DSCP:区分服务代码点,即DS标记值字段,它在每个数据包IP头部的服务类别TOS标识字节中,利用已使用的6比特和未使用的2比特字节,通过编码值来区分优先级。用于选择PHB(单中断段行为)和CU(显示拥塞通知):总的概括就是前6位表示的优先级这里是0,后两位表示拥塞控制:00代表Non-ECT非ECN-Capable运输。

Total Length:IP数据报数据加首部总长度61字节。

Identification(标识):占16位。IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段这里总共18880个数据报。

Flags(标志):为0代表表示这已是若干数据报片中的最后一个。

  • 参考文献

 Kenneth D. Reed 著,孙坦等译. 协议分析[M]. 北京:电子工业出版社,2002.

谢鲲,张大方. 共享网段网络协议分析系统设计与实现[J]. 计算机工程与科学,2002.24(2).

福禄克公司关于协议分析(测试)仪的网站. http://www.flukenetworks.com.cn/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/474273.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python中的面向对象

Python 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。现在介绍Python的面向对象编程。 如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对象语言的一些基本特…

会计基础第二次模拟试题(1)

会计基础第二次模拟试题(1) 会计基础第二次模拟试题(1) 之前我们整理了一部分会计基础的模拟题,下面是之前的文章列表,请大家多提建议: 会计基础第一次模拟题会计基础一 会计基础模拟练习2 会计基础模拟试题三 会计基础4 会计基础5 会计基础6…

LeetCode 1552. 两球之间的磁力(极小极大化 二分查找)

文章目录1. 题目2. 解题1. 题目 在代号为 C-137 的地球上,Rick 发现如果他将两个球放在他新发明的篮子里,它们之间会形成特殊形式的磁力。 Rick 有 n 个空的篮子,第 i 个篮子的位置在 position[i] ,Morty 想把 m 个球放到这些篮子…

无连接网络通信程序UDP

服务器端 #include <windows.h> #include <iostream.h> #include <winsock.h> #pragma comment(lib,"ws2_32")#define NO_FLAGS_SET 0#define PORT (u_short) 44965 #define MAXBUFLEN 256INT main(VOID) {WSADATA Data;//它存储 被WSAStartup函数…

python中的LEGB 规则

Python 使⽤ LEGB 的顺序来查找⼀个符号对应的对象 locals -> enclosing function -> globals -> builtins 局部变量———闭包空间———全局变量———内建模块 a 1 # 全局变量 globals def fun(): a 2 …

LeetCode 1553. 吃掉 N 个橘子的最少天数(BFS)

文章目录1. 题目2. 解题1. 题目 厨房里总共有 n 个橘子&#xff0c;你决定每一天选择如下方式之一吃这些橘子&#xff1a; 吃掉一个橘子。如果剩余橘子数 n 能被 2 整除&#xff0c;那么你可以吃掉 n/2 个橘子。如果剩余橘子数 n 能被 3 整除&#xff0c;那么你可以吃掉 2*(n…

计算机网络 谢希仁 课后习题部分答案

试说明IP地址与硬件地址的区别&#xff0c;为什么要使用这两种不同的地址&#xff1f; 解&#xff1a; IP地址放在IP数据报的首部&#xff0c;硬件地址则放MAC帧的首部&#xff1b;在网络层和网络层以上使用IP地址&#xff0c;数据链路层及以下使用硬件地址 IP 地址就是给每个…

Mysql 导入导出数据结构及数据

方式一&#xff1a; mysqldump -ukevin -P3306 --default-character-setutf8 -p -h10.1.15.123 activity sign_in_user > user.sql 导出的结果包含建表脚本及数据已INSERT.SQL形式。 导入数据 mysql>use activity; mysql>source user.sql; 方式二&#xff1a; …

Python发送文本邮件

在运行机器学习等需要大量计算的程序时&#xff0c;可以在报错或者程序运行完成时&#xff0c;发送邮件提醒。 参考&#xff1a;Python发送邮件(文本邮件发送) # 运行完&#xff0c;发邮件提醒 # 参考 https://blog.csdn.net/FransicZhang/article/details/83375299 import s…

ARM的UART实验

实验题目&#xff1a;设计一个串口初始化程序 Uart_Init_Ext(int pclk,int baud,int parity,int stop, int len)&#xff0c;要求在Uart_driver.c 和 Uart_driver.h中实现驱动&#xff0c;然后在TARGET.c的Target—_Init(void)中调用 PC端用超级终端验证结果。串口寄存器参考实…

android第一天-------环境搭建

今天正式第一天学习android的。 1.昨晚下班后回家跟同事刘江龙打了四把dota。还好&#xff0c;都赢了把对面虐成狗了。大多都是1300到1450的局&#xff0c;玩的很爽。 2.dota打完后给在湖南常德的女朋友打了个电话&#xff0c;让她早点睡。当然这个电话是我每天都必须打的。 3.…

[Kesci] 预测分析 · 客户购买预测(AUC评估要使用predict_proba)

文章目录1. Baseline2. AUC评估要使用predict_proba2.1 导入工具包2.2 特征提取2.3 训练模型选择2.4 网格/随机搜索 参数提交2.5 测试结果3. 致谢新人赛地址 1. Baseline import pandas as pd import numpy as np import seaborn as sns import matplotlib.pyplot as plt %ma…

python中装饰器的参数与返回值

def itcast1(fun): def inner(*args, **kwargs): print("itcast1 start") # args -> 元组数据() #kwargs -> 字典数据{} #result用来接收被装饰函数的返回值 result fun(*args, **kwargs) print("itcast1 end") return result return inner itcast1…

键盘接口和七段数码管的控制实验

一、实验目的 1. 学习4X4键盘的与CPU的接口原理 2. 掌握键盘芯片HD7279的使用&#xff0c;及8位数码管的显示方法&#xff1b; 二、实验内容 1. 通过4X4按键完成在数码管上的各种显示功能&#xff0c;以及LCD上显示。 三、实验设备 EL-ARM-830教学实验箱&#xff0c;P…

奇葩的UI引用LayoutInflater.from问题

今收到BUG一枚&#xff0c;一个页面的EditText的风格变为了系统默认&#xff08;系统经过定制&#xff0c;风格和普通的不同&#xff09; 经检查xml无任何不妥&#xff0c;最终问题出在LayoutInflater.from上。 如果LayoutInflater.from&#xff08;XXActivity.this&#xff09…

LeetCode 939. 最小面积矩形(哈希)

文章目录1. 题目2. 解题1. 题目 给定在 xy 平面上的一组点&#xff0c;确定由这些点组成的矩形的最小面积&#xff0c;其中矩形的边平行于 x 轴和 y 轴。 如果没有任何矩形&#xff0c;就返回 0。 示例 1&#xff1a; 输入&#xff1a;[[1,1],[1,3],[3,1],[3,3],[2,2]] 输出…

python中的wraps函数

使⽤装饰器时&#xff0c;有⼀些细节需要被注意。 例如&#xff0c;被装饰后的函数其实已经是另外⼀个函数了&#xff08;函数名等函数属性会发⽣改变&#xff09;。添加后由于函数名和函数的doc发⽣了改变&#xff0c;对测试结果有一定影响&#xff01; import functools de…

python中向类中动态添加新特性及删除属性方法

class Foo(object): pass obj Foo() # 添加对象属性(对象名追加对象属性&#xff09; obj.a 100 # print(obj.a) # 添加类属性&#xff08;类名称追加类属性&#xff09; Foo.b 200 # print(Foo.b) # print(obj.b) # 添加对象方法 def obj_fun(self): print(self.a) # …