实验6 分析IP数据报格式

合集下载

IP网络技术实验报告

IP网络技术实验报告

实验报告( 2018/2019学年第二学期)课程名称IP网络技术实验名称常用网络命令及使用专业信息工程学生班级22学生学号B********学生姓名江浩指导教师叶玲实验一 TCP/IP协议一、实验目的和要求:1. 通过该实验能加深对TCP/IP协议的认识,特别是其封装格式。

2. 通过该实验能加深对ICMP协议的认识。

4. 通过该实验能加深对TCP协议的认识。

5. 通过该实验能加深对UDP协议的认识。

6. 通过该实验能加深对应用层协议Http、Ftp、Telnet等的认识。

二、实验环境:1.在windows环境下即可完成本实验,无需使用VMware。

2.软件:WinPcap,Ethereal三、实验原理:通过抓包软件ethereal获得一些数据包,并对其进行分析,从包的格式来认识TCP/IP协议。

本实验抓取的数据包包括对应于Http、Telnet、Ftp、TCP、UDP、IP、ARP协议的数据包以及MAC包。

四、实验步骤:1、软件安装1.1 安装WinPcap软件。

1.2 安装Ethereal软件。

1.3 在随书光盘系统构建的服务器上打开Http、Telnet、Ftp等服务,安装并使用QQ。

2、实验环节2.1 抓IP包2.1.1 填写过滤器IP;开始抓包。

2.1.2 运行ping 目的IP命令,完成后点STOP停止抓包。

命令:ping 10.108.111.240 ,显示能够ping通。

2.2 抓ICMP包2.2.1 填写过滤器ICMP and ((dst 本机IP and src 目的IP) or (src 本机IP and dst 目的IP)),开始抓包。

2.2.2 运行tracert目的IP2 命令,完成后停止抓包。

运行命令截取如下:所抓数据包截取如下:2.3 抓TCP包2.3.1 填写过滤器tcp and ((dst 本机IP and src 目的IP) or (src 本机IP and dst 目的IP)),开始抓包。

计算机网络课程实验6

计算机网络课程实验6

计算机网络课程实验报告《用户数据报协议(UDP)》一、实验内容IPV4协议实验六:用户数据报协议UDP二、实验原理一. 进程到进程的通信在学习UDP协议之前,首先应该了解主机到主机的通信和进程到进程的通信,以及这两种通信之间的区别。

IP协议负责主机到主机的通信。

作为一个网络层协议,IP协议只能把报文交付给目的主机。

这是一种不完整的交付,因为这个报文还没有送交到正确的进程。

像UDP这样的传输层协议负责进程到进程的通信。

UDP协议负责把报文交付到正确的进程。

下图描绘了IP协议和UDP协议的作用范围。

图6-1 UDP与IP的区别1. 端口号在网络中,主机是用IP地址来标识的。

而要标识主机中的进程,就需要第二个标识符,这就是端口号。

在TCP/IP协议族中,端口号是在0~65535之间的整数。

在客户/服务器模型中,客户程序使用端口号标识自己,这种端口号叫做短暂端口号,短暂的意思是生存时间比较短。

一般把短暂端口取为大于1023的数,这样可以保证客户程序工作得比较正常。

服务器进程也必须用一个端口号标识自己。

但是这个端口号不能随机选取。

如果服务器随机选取端口号,那么客户端在想连接到这个服务器并使用其服务的时候就会因为不知道这个端口号而无法连接。

TCP/IP协议族采用熟知端口号的办法解决这个问题。

每一个客户进程都必须知道相应的服务器进程熟知端口号。

UDP的熟知端口号如下表所示:表6-1 UDP的熟知端口号在一个IP数据包中,目的IP地址和端口号起着不同的寻址作用。

目的IP地址定义了在世界范围内惟一的一台主机。

当主机被选定后,端口号定义了在这台主机上运行的多个进程中的一个。

2. 套接字地址一个IP地址与一个端口号结合起来就叫做一个套接字地址。

客户套接字地址惟一地定义了客户进程,而服务器套接字地址惟一地定义了服务器进程。

要使用UDP的服务,就需要一对套接字地址:客户套接字地址和服务器套接字地址。

客户套接字地址指定了客户端的IP地址和客户进程,服务器套接字地址指定了服务器的IP地址和服务器进程。

网络协议IP实验报告

网络协议IP实验报告
1)掌握 IP 数据报的报文格式 2)掌握 IP 校验和计算方法 3)掌握子网掩码和路由转发 4)理解特殊 IP 地址的含义 5)理解 IP 分片过程
2、实验环境(标明拓扑结构、源主机、目的主பைடு நூலகம்的 IP 地址及 MAC 地址)
该实验采用网络结构二。
说明:主机 A、C、D 的默认网关是 172.16.1.1;主机 E、F 的默认网关是 172.16.0.1。 注:我们为第五组实验,只有四台主机,分别是 A、B、E、F.其中,A、B 处于同 一网段,B、E、F 处于同一网段。我实验的主机为主机 B.各主机的 IP 如上图。
1、实验结果(结果截图)
2、实验结果分析
编辑报文时要正确填写源 IP,MAC 地址以及目的主机 IP,MAC 地址,同时可 以手动计算校验和也可以自动计算校验和,然后发送。在接收报文时,首先使用 过滤器赛选需要的 IP 报文,然后在工具栏检查顾虑条件是否为所选条件,只接 收 IP 报文;通过编辑并接收报文理解直接广播地址和受限制广播地址的区别; 对于较大的报文经过路由器时需要进行分片,然后在接收时重组报文。
第 1 步中主机 A 所编辑的报文,经过主机 B 到达主机 E 后,报文数据是否发 生变化?若发生变化,记录变化的字段,并简述发生变化的原因。 答:有变化,但报文中传送过程中的源 IP 地址和目的 IP 地址没变化,只是 在传送过程中经过一些节点生成时间可能有变化。 5.将第 1 步中主机 A 所编辑的报文的“生存时间”设置为 1。重新计算校验和 6.主机 B、E 重新开始捕获数据。 7.主机 A 发送第 5 步中编辑好的报文。 8.主机 B、E 停止捕获数据,在捕获到的数据中查找主机 A 所发送的数据报,并 回答以下问题: 答:可以,因为主机 B 相当于路由器,所以能收到。A 与 E 不在同一个网络, 但可以通过 B 转发,可以收到 A 所发送的报文。

实验四-ICMP数据报和IP数据报分片分析实验报告

实验四-ICMP数据报和IP数据报分片分析实验报告

实验四ICMP 协议和IP 数据报分片分析【实验目的】1. 理解 ICMP 协议报文类型和格式;2. 理解 ping 命令的工作原理;3. 理解 traceroute 的工作原理;4. 理解 IP 协议报文类型和格式。

【实验环境】与因特网连接的电脑,操作系统为Windows,安装有Wireshark、IE 等软件。

【实验内容】1. 使用 wireshark 抓包软件分析ICMP 协议报文的类型;2. 分析 ping 命令的工作原理;3. 分析 tracert 命令的工作原理;4. 使用 wireshark 抓包软件分析IP 协议报文以及报文分片。

【实验步骤】1. 分析ICMP 协议步骤1:在 PC1 运行 Wireshark,开始截获报文,为了只截获和实验内容有关的报文,将Wireshark 的 Captrue Filter 设置为“No Broadcast and no Multicast”;步骤2:在 PC1 以 baidu 为目标主机,在命令行窗口执行 Ping 命令,要求ping 通8 次;【答】:Ping 命令为:____ ping –n 8 baidu ____将命令行窗口进行截图:【答】:步骤3:停止截获报文,分析截获的结果,答复以下问题:〔1〕将抓包结果进行截图〔要求只显示 ping 的数据包〕:〔2〕截获的 ICMP 报文有几种类型?分别是:【答】:两种:8(Echo〔ping〕 request) 、 0(Echo (ping) reply )〔3〕分析截获的 ICMP 报文,按下表要求,将各字段信息填入表中,要求填写前4 个报文的信息。

〔4〕查看ping 请求信息,ICMP 的type是 ___Echo〔ping〕 request___。

和code是 __8__。

并截图。

〔5〕查看相应得ICMP 响应信息,ICMP 的type 是___Echo〔ping〕 reply___和code 是 __0__。

计算就算网络实验-IPv6技术实验

计算就算网络实验-IPv6技术实验

Router lifetime
Reachable time Retrans timer
Options
➢Cur Hop Limit:主机发送报文使用的默认跳数限制 ➢Router lifetime:发送该RA报文的路由器作为缺省路由器的生命周期,缺省 为30分 ➢Reachable Time:路由器在接口上通过发送RA报文,让同一链路上的所有节 点都使用相同的可达时间 ➢Retrans Timer:重传NS报文的时间间隔,用于邻居不可达检测和地址解析 ➢Options:含有源链路层地址选项、MTU、前缀信息选项、通告间隔选项等
➢ 地址自动配置 ➢ 路由器发现 ➢ 前缀发现 ➢ 重复地址检测 ➢ 地址解析协议等
报文类型
➢ 路由器请求报文(RS) ➢ 路由器通告报文(RA) ➢ 邻居请求报文(NS) ➢ 邻居公告报文(NA ) ➢ 重定向报文( Redirect )
26
IPv6路由器请求报文
RS(Router Solicitation)
➢ Type = 4 ➢ Code 0——头域错误
1——未定义的下一报头类型 2——未定义的IPv6选项
24
ICMPv6协议
信息报文 ➢ 回声请求报文 ➢ 回声应答报文
报文结构
128:回声请求报文 129:回声应答报文
全为0
25
ND协议
邻居发现协议(Neighbor Discovery) 功能:
37
38
IPv6基础实验
多播侦听者发现(MLD) 主机加入多播组
➢ 通过地址自动配置,主机获得了多播组地址 ➢ 主机发送MLD多播侦听报告报文给本地链路的路由器 ➢ 路由器根据报文中的信息,向多播转发表中添加表项,

网络协议分析 实验指导书

网络协议分析  实验指导书

网络协议分析实验指导书贾伟陕西理工学院数学与计算机科学学院2015-06网络协议分析实验说明适用网络工程专业2012级。

实验总学时:10学时;实验项目:6个,其中3个验证,3个综合,必须完成1、2、4这三个实验。

通过使用wireshark捕获数据包进行分析和使用C语言编程实现对数据包的构造和分析进行实验,每个实验完成后需要将实验捕获的数据、程序代码等实验数据保存下来并上交。

实验完成后,除上交纸质的实验报告外,还要上交实验有关的电子文件,要求文件命名为:“实验X_学号_姓名_其它说明”,X取值为中文汉字“一”、“二”、……,连接符为英文输入的下划线“_”,学号为完整长度,各项中间均不得添加空格。

0.网络协议分析基础(预备实验)0.A 数据包捕获软件的使用数据包捕获分析软件建议选择Wireshark,因为它目前是全世界最广泛的网络数据包分析软件之一。

参考文献:(ISBN:978-7-115-30236-6)Chris Sanders;诸葛建伟等(译).Wireshark数据包分析实战(第2版).人民邮电出版社.2013,3.0.A.1尝试软件的下载和安装0.A.2设置软件捕获过滤器0.A.3选取网卡,开启捕获0.A.4停止捕获,保存捕获数据,打开捕获的数据文件0.A.5打开捕获的数据文件,查看数据包内容0.A.6设置显示过滤器0.A.8Wireshark高级数据包分析查看网络端点和网络会话;跟踪TCP流,图形展示IO流和数据流。

0.B C语言编程与网络数据包操作分析熟悉内存数据块的数据保存形式和对其使用不同指针的读取形式所获得的不同数据内容。

0.B.1 C的有关知识回顾1)了解ANSI C and ISO C的Keywords2)掌握C的有关基本数据类型及其长度3)字符数组和结构体定义(1)定义字符数组的语法(2)定义结构体的语法(3)数据类型的强制类型转换语法4)指针操作(1)定义指针变量的语法(2)指向字符数组的指针(3)指向结构体的指针5)比特位操作(与、或和移位)0.B.2 C语言编程练习1)输出内存地址的16进制形式2)讨论IPv4地址的定义和操作定义形式i)定义为32bit长度的无符号整数unsigned int ip;ii)定义为4个8bit长度的无符号字符串unsignedchar ip[4];实现1)点分十进制形式的输入输出;2)判断是否是合法的IP地址;3)判断属于的IP地址类别(A、B、C、D类);4)给IP地址和掩码,给出网络前缀;5)给2个IP地址和掩码,判断两个IP是否属于同一个网络。

ARP_IP_ICMP实验报告

ARP_IP_ICMP实验报告

【实验作业】一、ARP地址解析协议1.观察ARP缓存生存时间ARP缓存中存放的IP-MAC映射表项有两种类型:静态和动态。

其中,静态ARP缓存可以通过命令“arp -s ip_addr mac_addr”添加,一旦添加,该条目将是永久性的,除非用命令“arp -d ip_addr”进行删除或者断开网络连接。

而动态ARP缓存都有有限的生存时间(一般为20分钟),如果在生存时间内没有被更新,就会在生存时间到来时自动清除。

1.1 操作步骤(1) 将本机和同宿舍的另一台主机接入到同一网络中,记录双方分配到的IP地址:另一台主机[10.104.137.66]和本机[10.104.137.254]。

(2) 用命令“ping对方主机的IP地址”,通过ARP协议得到对方IP对应的物理MAC地址。

如果成功,主机将自动记录IP-MAC映射关系,写入ARP动态缓存。

同时生存时间计时开始。

结果如下:(3) 用命令“arp -a”列出ARP缓存中的所有条目,其中应该包括对方IP对应的IP-MAC条目。

(4) 不断重复过程(3),直到对方IP对应的IP-MAC条目被清除,生存时间计时结束。

1.2 实验结果(1) 20分钟之后,用arp –a查看ARP缓存,发现对方ARP条目并没有消失,并且在此期间,主机没有再ping对方主机IP地址。

结果如下:(2) 对方主机断开网络连接,再次ping对方主机。

查看ARP缓存,发现对方主机的ARP条目消失。

(3) 后来发现使用Windows7系统做这个实验的主机,都没有在20分钟后观察到缓存自动消失的现象,推测可能的原因是,Windows7系统的ARP缓存生存时间被设置的很长,或者直接不设置生存时间(考虑到硬件容量的发展以及通过再次探测判断是否删除条目的方法)。

(4) 与教员探讨上述问题后,可行的解决方案是在注册表的下列路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters中创建ArpCacheLife和ArpCacheMinReferencedLife项,并人工设置ARP缓存生存时间。

计算机网络原理与技术实验教程-参考答案-实验报告

计算机网络原理与技术实验教程-参考答案-实验报告

声明:每个实验都有与之对应的数据包,表格的数据都是分析数据包填上的,由于姜腊林老师只是批阅没有给我们批改,所以会有很多错的地方没改和不懂的地方没有写。

这真的仅仅是参考而已。

实验1.1 Wireshart的使用实验一、实验目的:掌握协议分析软件Wireshark的使用。

二、实验设备:电脑、Wireshart抓包工具三、实验内容:运行Wireshark程序,启动界面点击start按钮,进入Wireshark主窗口。

主窗口包含了捕获和分析包相关的操作。

四、实验步骤:(1)启动Wireshark。

(2)开始分组捕获。

(3)保存抓包文件。

(4)分析抓包文件。

五、实验结果分析(1)、Wireshark主窗口包含那几个窗口?说明这些窗口的作用。

菜单栏:菜单栏通常用来启动Wireshark有关操作,例如File.工具栏:工具栏提供菜单中常用项目的快速访问。

过滤器栏:过滤器栏提供一个路径,来直接控制当前所用的显示过滤器。

包列表窗口:包列表窗口显示当前捕获的全部包的摘要。

包列表的每一行对应一个包,不同包有不同的颜色。

如果选择了某行,则更详细的信息显示在保协议窗口和包字节数据窗口中,在包列表窗口中的每一行代表捕获的一个包,每个包的摘要信息包括:a、No:包文件中包的编号。

b、T ime:包的时间擢,即捕获该包的时间,该时间戳的实际格式可以改变。

c、Source:包的源地址。

d、D estination:包的目标地址。

e、Length:该数据包的长度。

f、Info:包内容的附加信息。

包协议窗口:包协议窗口以更详细的格式显示从包列表窗口选中的协议和协议字段。

包的协议和字段用树型格式显示,可以扩展和收缩。

这是一种可用的上下文菜单,单机每行前的“+”就可以展开为以“—”开头的若干行,单击“—”又可以收缩。

包字节(十六进制数据窗口):包字节窗口以十六进制形式显示出从包列表窗格中选定的当前包的数据,并以高亮度显示在包协议窗口中选择字段。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验6 分析IP数据报格式
6.1 实验目的
了解IP数据报的格式;
理解IP 各个数据项的涵义;
6.2 相关背景知识
1. Winpcap基本介绍
数据报捕获的原理:为了进行数据报,网卡必须被设置为混杂模式。

在现实的网络环境中,存在着许多共享式的以太网络。

这些以太网是通过Hub 连接起来的总线网络。

在这种拓扑结构的网络中,任何两台计算机进行通信的时候,它们之间交换的报文全部会通过Hub 进行转发,而Hub以广播的方式进行转发,网络中所有的计算机都会收到这个报文,不过只有目的机器会进行后续处理,而其它机器简单的将报文丢弃。

目的机器是指自身MAC 地址与消息中指定的目的MAC 地址相匹配的计算机。

网络监听的主要原理就是利用这些原本要被丢弃的报文,对它们进行全面的分析,这样就可以得到整个网络中信息的现状。

Tcpdump的简单介绍:Tcpdump是Unix平台下的捕获数据报的一个架构。

Tcpdump最初有美国加利福尼亚大学的伯克利分校洛仑兹实验室的Craig Leres、Van Jcaobson和Steve McCanne共同开发完成,它可以收集网上的IP数据报文,并用来分析网络可能存在的问题。

现在,Tcpdump已被移植到几乎所有的UNIX系统上,如:HP-UX、SCO UNIX、SGI Irix、SunOS、Mach、Linux和FreeBSD等等。

更为重要的是Tcpdump是一个公开源代码和输出文件格式的软件,我们可以在Tcpdunp的基础上进行改进,加入辅助分析的功能,增强其网络分析能力。

(详细信息可以参看相关的资料)。

Winpcap的简单介绍:Winpcap是由意大利Fulvio Risso和Loris Degioanni等人提出并实现的应用于Win32平台的数据报捕获与分析的一种软件包,包括内核级的数据报监听设备驱动程序、低级动态链接库(Packet.dll) 和高级系统无关库(Winpcap.dll)。

Winpcap 由3个模块组成:(1)NPF(NetgroupPacket Filter),是一个虚拟设备驱动程序文件。

它的功能是过滤数据报,并把这些数据报原封不动地传给用户态模块。

(2)Packet.dll为Win32平台提供了一个公共的接口。

不同版本的Windows系统都有自己的内核模块和用户层模块。

Packet.dll直接映射了内核的调
用,运行在用户层,把应用程序和数据报监听设备驱动程序隔离开,使应用程序可以不加修改地在不同的Windows系统上运行。

通过Packet.dll提供的能用来直接访问BPF驱动程序的包驱动API利用raw模式发送和接收包。

(3)Wpcap.dll是不依赖于操作系统的。

Wpcap.dll 和应用程序链接在一起,使用低级动态链接库提供的服务,向应用程序提供完善的监听接口和更加友好、功能更加强大的函数调用。

Winpcap(Windows packet capture)是Windows平台下一个免费、公共的网络访问系统。

开发winpcap这个项目的目的在于为win32应用程序提供访问网络底层的能力。

它提供了以下的各项功能:
(1)捕获原始数据报,包括在共享网络上各主机发送/接收的以及相互之间交换的数据报;
(2)在数据报发往应用程序之前,按照自定义的规则将某些特殊的数据报过滤掉;
(3)在网络上发送原始的数据报;
(4)收集网络通信过程中的统计信息。

(详细信息可以参看相关的资料)
2. IP数据报的格式
IP数据报的由首部和数据两部分组成。

首部的前一部分是固定长度,共20个字节,是所有IP数据报必须具有的。

在首部的固定部分的后面是一些可选字段,其长度是可变的。

下图是IP数据报的格式:
0 4 8 16 19 24 31
图5-1 IP数据报的格式
3. TCP报文段的格式
一个TCP报文段分为首部和数据两部分,TCP的全部功能都体现在首部中各个字段的作用。

基于这一点,能清楚了TCP首部各个字段的作用也就掌握了TCP的工作原理。

TCP报文首部的前20个字节是固定的,后面有4N字节是根据需要而增加的选项(N必须是整数),因此TCP首部的最小长度是20字节。

图5-2是TCP数据报文首部的格式。

0 8 16 24 31
图5-2 TCP 数据报文的首部格式 TCP 是TCP/IP 体系中面向连接的运输层协议,它提供全双工的和可靠交付的服务。

TCP 则提供面向连接的服务,在传送数据之前必须先建立连接,数据传送结束后要释放连接。

由于TCP 要提供可靠的、面向连接的运输服务,因此,不可避免地增加了许多开销,如确认、流量控制、计时器以及连接管理等,这就使协议数据单元的首部增加很多。

4. UDP 数据报的格式
UDP 在传送数据之前不需要先建立连接,远地主机的运输层在收到UDP 数据报文后,不需要给出任何确认。

因此UDP 数据报的首比较简单。

UDP 数据报首部由4个字段组成,每个字段都是2个字节。

UDP 首部格式及含义见表5-1.
表5-1 UDP 首部格式及含义
5. 伪首部
无论是TCP 报文段,还是UDP 数据报,在计算校验和时,都需要增加12个字节的伪首部。

所谓伪首部是因为这种首部并不是TCP 报文段或
UDP 数据报的真正首部,只是在计算校验和时,临时和TCP 报文段或UDP 数据报连接在一起,得到一个过渡的TCP 报文段或UDP 数据报。

校验和就是按照这个过渡的TCP 报文段或UDP 数据报计算的。

伪首部不向下传送也不向上传递,而仅仅是为了计算校验和。

伪首部各字段内容及长度如图5-3所示。

字节 4 4 1 1 2
图5-3 求检验和时增加的伪首部
6.3 实验内容
1. 查看捕获到的数据报的首部;
2. 解读本程序的源代码;
3. 根据所捕获到的IP数据报中协议字段值,每一种协议选择一条记录分别填入表5-2中;
表5-2 IP数据报格式表
4. 分析实验结果,加深对数据报首部个字段的理解;
5. 整理实验结果,书写实验报告。

6.4 实验步骤
运行程序monitor.exe文件,将显示如图5-4所示运行界面:
图5-4 运行界面1
选中一条数据报记录,点击“数据分析”,运行界面如图5-5所示:
图5-5 运行界面2
或者选择其他抓包工具,抓取IP数据报进行相应的记录和分析。

6.5 实验报告要求
在实验报告中应记录实验目的、实验环境,简要实验内容和实验步骤,实验数据要包括以下内容:
1. 理解IP数据报的概念和格式,要求记录分析三种不同类型数据内容的IP 数据报:ICMP、TCP、UDP等。

2. 理解IP数据报中数据部分的内容:TCP报文段和UDP用户数据报的首部格式。

3. 写出自己实验过程中出现的问题、解决方法,及实验的心得体会。

相关文档
最新文档