文档库 最新最全的文档下载
当前位置:文档库 › 实验二 IP地址分类与IP数据包的组成

实验二 IP地址分类与IP数据包的组成

实验二 IP地址分类与IP数据包的组成
实验二 IP地址分类与IP数据包的组成

实验二IP地址分类与IP数据包的组成

【实验目的】

1、理解IP层的作用以及IP地址的分类方法;

2、理解子网的划分和子网掩码的作用;

3、掌握IP数据包的组成和网络层的基本功能。

【实验学时】

4 学时

【实验类型】

综合型

【实验内容】

1、学会根据IP地址的分类方式区分各类IP地址;

2、掌握IP数据报的格式、长度以及各字段的功能;

3、学会利用子网掩码确定IP地址的网络号、子网号和主机号;

4、学会分析给定数据包的IP首部信息;

5、学会手工计算IP校验和的方法。

【实验环境】

局域网环境,1台PC机;实验拓扑如错误!未找到引用源。所示。

复习:IP地址分类

步骤一:查看本机网络状态

ipconfig命令在主机中用于查看本机的网络配置,包括主机的IP地址、MAC地址、网关、DNS配置等信息。

1、观察运行结果,获得本机的IP地址及子网掩码;

●MAC地址:

●DHCP:

●IP地址:

●子网掩码:

●默认网关:

●DNS服务器:

2、分析本主机属于哪一类IP地址,网络号、子网号和主机号分别是什么?

●IP地址: 类

●网络号:

●子网号:

●主机号:

步骤二:利用网络协议分析软件捕获并分析IP数据包(此步骤要求独立完成)

1、在本地主机中打开网络协议分析软件,在工具栏中点击“开始”,等待一段时间后,点击“结束”。

2、在捕获到数据包中,选择IP数据包进行分析。(此步骤要求截图)

图1 数据包分析

3、分析捕获到的IP数据包,在本实验中,只分析数据的的IP包头部分。(此步骤要求分别写出十六进制和十进制代码,并进行分析。)

●版本信息:

●头部长度:

●区分服务类型:

●总长度:

●标识:

●标志:

●分段偏移量:

●生存时间:

●源IP地址:

●目的IP地址:

●其他:

步骤三:利用网络协议编辑软件编辑并发送IP数据包(此步骤要求A组与B组,C组与D 组配合完成)

1、在本地主机打开网络协议编辑软件,在工具栏选择“添加”,建立一个IP数据包。

2、填写“源物理地址”:可以在地址本中找到本机的MAC地址,然后左键选择,点

击“确定”加入地址。

3、填写“目的物理地址”:可以在地址本中选择相邻主机MAC地址,然后左键选择

并单击“确定”加入地址。

4、填写“类型或长度”:该字段值为0800。

5、填写IP协议头信息:

●版本信息:

●IP头长度:

●服务类型:

●总长度:

●标识字段:

●标志字段:

●生存时间:

●协议类型:

●首部校验和:

●源IP地址:

●目的IP地址:

6、当上述各字段值均已填写完毕后,可以计算“校验和”,校验和的计算有两种方法

●方法一:手工计算,首先把校验和字段置为0,然后对IP协议头中的每个16比特

进行反码求和(整个首部看成是由若干个16比特的字组成),然后取反,结果即校

验和的值。

●方法二:利用网络协议编辑软件提供的工具计算,左键点击工具栏的”校验和”即可。

7、如果要编辑多个IP数据包,可重复上述步骤。(以上步骤结果截图)

图2 编辑IP数据包

“开始”按钮,发送帧序列,如图所示。

9、相邻主机用协议分析器截获数据包并分析。(此步骤要求截图)

图4 捕获到的IP报文

10、分析捕获到的数据包的IPv4报头部分

●版本信息:

●头部长度:

●区分服务类型

●总长度:

●标识:

●标志:

●分段偏移量

●生存时间:

●校验和:

●源IP地址

●目的IP地址:

●其他

11、用同样的方法,A组主机编辑IP包,将目的MAC地址和目的IP地址修改为另外

一组主机的地址如pc3,发送数据包。

注意,封装IP包发往不同网段的目的主机时,目标MAC地址选择网关的MAC地址,地址本中找不到不同网段的IP地址时。(操作过程要求截图)

12、分析一下为什么两次实验会存在接受报文中的源目的MAC地址与发送的源目的

MAC地址不同和生存时间不同的结果?

步骤四:ping远程主机,分析IP协议(此步骤要求A、B、C、D配合完成)

1、在地址本中选择与本主机在同一子网中另一主机的IP地址。

●Ping

在ping的目的地址的主机上用协议分析器一端捕获数据,记录源、目的物理地址及源、目的IP地址,捕获到的报文截图。

图ping数据包

●分析捕获数据的MAC地址与IP地址的对应关系;

在ping目的主机上通过协议分析器,查看“交互序列图”(此步骤截图)

图ping的交互序列图

●简述Ping程序的会话过程。

2、选择与本主机属于不同子网另一主机的IP地址。

●Ping

协议分析器端捕获数据,记录源、目的物理地址和源、目的IP地址;(此步骤截图)

分析捕获数据的MAC地址与IP地址是否具有对应关系。

3、比较上面两个实验的结果,分析二者有何不同?

步骤五:本地IP数据包统计信息(此步骤要求独立完成)

netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

1、在命令行界面下运行:netstat –r,显示本机路由表,记录本机的缺省网关的IP地

址,如图所示:(此步骤截图)

图netstat –r输出信息

在主机的路由信息输出结果中,第一列为目标网段,第二列为子网掩码,第三列为去往目标网段的网关。第四列为去往目标网段的的接口,第五列为去往目标网段的开销。

2、在命令行界面下运行:netstat –s,查看IP协议部分,查看本机已经接收和发送的

IP报文个数,如图所示。(此步骤截图)

图netstat –s输出结果

从netstat –s输出结果中可以查看TCP、UDP、IP、ICMP等协议发送和接收的报文数量,上图中给出了IPv4报文的接收报文数量、出错数据包的数量等信息。

课后总结:

1、IP地址分类

IP地址分成()类:()类是分配给用户直接使用的,()类用于多点广播,()类保留。(1)各类IP地址的范围

A类:()到()

B类:()到()

C类:()到()

(2)特殊的IP地址

①网络地址:主机地址部分为全“0”的IP地址用作()地址。

②直接广播地址:主机地址为全“1”的IP地址不分配给任何主机,用作()地址。例如:()

③有限广播地址:32位为全“1”的IP地址(255.255.255.255)称为有限广播地址。

④专用IP地址:10.0.0.0-10.255.255.255;

172.16.0.0-172.31.255.255;

192.168.0.0-192.168.255.255。

(3)子网划分

子网是将网络地址中的()标识分离出若干位作为子网地址位。掩码是一个32位的二进制数。网络地址部分为(),主机地址部分为()。子网的设计是为了便于网络的管理、提高系统性能。给定IP地址和子网掩码以后,主机就可以确定IP数据报的目的地是:①本子网上的主机;②本网络中其他子网中的主机;③其他网络上的主机。根据IP地址可以知道它是A类、B类或C类地址,同时也知道网络号和主机号之间的分界线。根据子网掩码可以知道子网号与主机号之间的分界线。

2、IP数据报的格式

IPV4的IP数据号各字段设置:

(1)版本号默认为()

(2)如果采用固定首部长度,首部长度字段就设为()。

(3)IP数据报中的首部检验和并不检验数据报中的数据。这样做的最大好处是什么?坏处是什么?

(3)当某个路由器发现一IP数据报的检验和有差错时,为什么采取丢弃的办法而不是要求源站重传此数据?

(4)什么是最大传送单元MTU?它和IP数据报首部中的哪个字段有关系?

IP地址分类范围和IP相关计算

IP地址由32位表示,包含4个字节。(位:bit;字节:Byte。1B=8bit。) 一共分为ABCDE五类,其中ABC类为平时所使用的,D类为组播(如OSPF发送广播信息224.0.0.5),E类为实验研究(暂时对于我们来说没啥用,哈) A类第一位必须为off(0) 00000000 = 0 01111111 =127 B类第一位必须为On(1),第二位必须为Off(0) 10000000 = 128 10111111 = 191 C类第一二位必须为On(1),第三位必须为Off(0) 11000000 = 192 11011111 = 223 D类和E类224-255 224-239 D类组播 240-255 用于科学实验 对于因特网IP地址中有特定的专用地址不作分配: (1)主机地址全为“0”。不论哪一类网络,主机地址全为“0”表示指向本网,常用在路由表中。 (2)主机地址全为“1”。主机地址全为“1”表示广播地址,向特定的所在网上的所有主机发送数据包。 (3)四字节32比特全为“1”。若IP地址4字节32比特全为“1”,表示仅在本网内进行广播发送。 (4)网络号127。TCP/IP协议规定网络号127不可用于任何网络。其中有一个特别地址:127.0.0.1称之为回送地址(Loopback),它将信息通过自身的接口发送后返回,可用来测试端口状态。 地址类型:MAC地址,处于数据链路层; IP地址,处于网络层; 端口号,处于传输层。网络要素:1、通信线路和通信设备2、有独立功能的计算机3、网络软件的支持4、实现数据通信与资源共享。

知道IP地址和子网掩码后可以算出: ●网络地址 ● 广播地址 ● 地址范围 ● 本网有几台主机 【例1】下面例子IP地址为192·168·100·5 子网掩码是255·255·255·0。算出网络地址、广播地址、地址范围、主机数。 1、分步骤计算 1)将IP地址和子网掩码换算为二进制,子网掩码连续全1的是网络地址,后面的是主机地址。虚线前为网络地址,虚线后为主机地址 192.168.100.5 11000000.10101000.01100100.00000101 255.255.255.0 11111111.11111111.11111111.00000000 2)IP地址和子网掩码进行与运算,结果是网络地址 192.168.100.5 11000000.10101000.01100100.00000101 255.255.255.0 11111111.11111111.11111111.00000000 与运算 ______________________________________________________________ 结果为: 192.168.100.0 11000000.10101000.01100100.00000000 3)将上面的网络地址中的网络地址部分不变,主机地址变为全1,结果就是广播地址。 网络地址为: 192.168.100.0 11000000.10101000.01100100.00000000 _________________________________________________________________ __________ 将主机地址变为全1 广播地址为: 192.168.100.255 11000000.10101000.01100100.11111111 4)地址范围就是含在本网段内的所有主机 网络地址+1即为第一个主机地址,广播地址-1即为最后一个主机地址,由此可以看出 地址范围是:网络地址+1 至广播地址-1 本例的网络范围是:192·168·100·1 至192·168·100·254 也就是说下面的地址都是一个网段的。 192·168·100·1、192·168·100·2 ... 192·168·100·20 ... 192·168·100·111... 192·168·100·254 5)主机的数量 主机的数量=2二进制的主机位数-2 减2是因为主机不包括网络地址和广播地址。本例二进制的主机位数是8位。 主机的数量=28-2=254 2、总体计算 我们把上边的例子合起来计算一下过程如下:

解析IP数据包课程设计

课程设计任务书

目录1.实验目的2.实验要求3.预备知识4.课程设计分析5.实现过程6.程序流程图7.相关扩展8.实习体会9.参考文献

一.实验目的: 设计一个解析IP数据包的程序,并根据这个程序,说明IP数据包的结构及IP协议的相关问题,从而IP层的工作原理有更好的理解和认识. 二.实验要求: 本设计的目标是捕获网络中数据包,解析数据包的内容,将、结果显示在标准输出上,并同时写入日志文件. 程序的具体要求如下: 3)以命令行形式运行:ipparse logfile,其中ipparse是程序名,而logfile则代表记录结果的日 志文件. 4)在标准输出和日志文件中写入捕获的IP数据包的版本,头长度,服务类型,数据包总长度, 数据包标识,分段标志,分段偏移值,生存时间,上层协议类型,头校验和,源IP地址和目的IP地址等内容. 当程序接收到键盘输入Ctrl+C时退出. 三.预备知识 互联网络层是TCP/IP协议参考模型中的关键部分.IP协议把传输层送来的消息组装成IP数据包,并把IP数据包传送给数据链层.IP协议在TCP/IP协议族中处于核心地位,IP协议制定了统一的IP数据包格式,以消除个通信子网中的差异,从而为信息发送方和接收方提供了透明的传输通道.编制本程序前,首先要对IP包的格式有一定了解,图1给出了IP协议的数据包格式. IP数据包的第一个字段是版本字段,其度是4位,表示所使用的IP协议的版本.目前的版本是IPV4,版本字段的值是4,下一代版本是IPV6,版本字段值是6.本程序主要针对版本是IPV4的数据包的解析. 报头标长字段为4位,它定义了以4B为一个单位的IP包的报文长度.报头中除了选项字段和填充域字段外,其他各字段是定长的.因此,IP数据包的头长度在20—40B之间,是可变的. 0 4 8 16 19 24 图1 IP数据包的格式 服务类型字段共8位,用于指示路由器如何处理该数据包.该字段长度由4位服务类型(TOS)子域和3位优先级子域组成,1位为保留位,该字段结构如图2所示. B7 b6 b5 b4 b3 b2 b1 b0

IP地址分类以及C类IP地址的子网划分

IP地址分类以及C类IP地址的子网划分 国际规定:把所有的IP地址划分为 A,B,C,D,E A类地址:范围从0-127,0是保留的并且表示所有IP地址,而127也是保留的地址,并且是用于测试环回用的。因此A类地址的范围其实是从1-126之间。 如:10.0.0.1,第一段号码为网络号码,剩下的三段号码为本地计算机的号码。转换为2进制来说,一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”,地址范围从0.0.0.1 到126.0.0.0。可用的A类网络有126个,每个网络能容纳1亿多个主机(2的24次方的主机数目)。 以子网掩码来进行区别:255.0.0.0. B类地址:范围从128-191,如172.168.1.1,第一和第二段号码为网络号码,剩下的2段号码为本地计算机的号码。转换为2进制来说,一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,地址范围从128.0.0.0到191.255.255.255。可用的B类网络有16382个,每个网络能容纳6万多个主机。 以子网掩码来进行区别:255.255.0.0 C类地址:范围从192-223,如192.168.1.1,第一,第二,第三段号码为网络号码,剩下的最后一段号码为本地计算机的号码。转换为2进制来说,一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。范围从192.0.0.0到223.255.255.255。C类网络可达209万余个,每个网络能容纳254个主机。 以子网掩码来进行区别: 255.255.255.0 D类地址:范围从224-239,D类IP地址第一个字节以“1110”开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。 E类地址:范围从240-254,以“11110”开始,为将来使用保留。全零(“0.0.0.0”)地址对应于当前主机。全“1”的IP地址(“255.255.255.255”)是当前子网的广播地址。 在日常网络环境中,基本是都在使用B,C两大类地址,而ADE这3类地址都不打可能被使用到。 从上述描述中,就可以看到有很多朋友会犯的一个错误,就是把192开头的IP地址设置成B类地址,虽然说在局域网中的网络通讯并不会受到影响,但事实上是不规范的一种划分行为。 子网掩码的简单叙述:子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。 以上述IP地址为例来说明一下,比如一个C类IP 地址 192.168.0.1,子网掩码为255.255.255.0(转换2进制,255在2进制表示8个1,也就是全部占满).这杨的写法表示,这个C类IP地址的网络号码为192.168.0 而起主机地址为1. 在这么多网络IP中,国际规定有一部分IP地址是用于我们的局域网使用,也就是属于私网IP,不在公网中使用的,他们的范围是: 10.0.0.0~10.255.255.255 172.16.0.0~172.31.255.255 192.168.0.0~192.168.255.255 接下来,我们再讨论一下,子网划分的问题。 假如给你一个C类的IP地址段:192.168.0.1-192.168.0.254,其中192.168.0 这个属于网络号码,而1-254表示这个网段中最大能容纳254台电脑主机。我们现在要做的就是把这254台主机再次划分一下,将它们区分开来。 192.168.0.1-192.168.0.254默认使用的子网掩码为255.255.255.0,其中的0在2进制中表示,8个0.因此有8个位置没有被网络号码给占用,2的8次方就是表示有256个地址,去掉一个头(网络地址)和一个尾(主机地址),表示有254个电脑主机地址,因此我们想要对这254来划分的话,就是占用最后8个0中的某几位。 假如占用第一个0.那么2进制表示的子网掩码为11111111.11111111.11111111.10000000.转换为10进制就为255.255.255.128,那么这时电脑主机应该为多少?其实很简单,就是2的7次方了(不再是原来的2的8次方了),2的7次方=128,因此假如子网掩码为255.255.255.128的话,这个C类地址可以被区分为2个网络,每个网络中最多有128台主机。 192.168.0.1-192.168.0.127为一个,192.168.0.128-192.168.0.255为第二个。

TCPIP实验之IP数据包分析--

TCP/IP协议与编程实验 姓名: 班级: 学号: 实验题目用Wireshark抓包分析ip数据包 一、实验目的 1、了解并会初步使用Wireshark,能在所用电脑上进行抓包 2、了解IP数据包格式,能应用该软件分析数据包格式 3、查看一个抓到的包的内容,并分析对应的IP数据包格式 二、实验内容 Wireshark 是网络包分析工具。网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。 实验步骤: 1、打开wireshark,选择接口选项列表。或单击“Capture”,配置“option” 选项。

2、设置完成后,点击“start”开始抓包: 3、显示结果: 3、选择某一行抓包结果,双击查看此数据包具体结构。

4、捕捉IP数据报。 ① 写出IP数据报的格式。 IP数据报首部的固定部分中的各字段含义如下: (1)版本占4位,指IP协议的版本。通信双方使用的IP协议版本必须一致。目前广泛使用的IP协议版本号为4(即IPv4)。 (2)首部长度占4位,可表示的最大十进制数值是15。请注意,这个字段所表示数的单位是32位字长(1个32位字长是4字节),因此,当IP的首部长度为1111时(即十进制的15),首部长度就达到60字节。当IP分组的首部长度不是4字节的整数倍时,必须利用最后的填充字段加以填充。因此数据部分永远在4字节的整数倍开始,这样在实现IP协议时较为方便。首部长度限制为60 字节的缺点是有时可能不够用。但这样做是希望用户尽量减少开销。最常用的首部

3)区分服务占8位,用来获得更好的服务。这个字段在旧标准中叫做服务类型,但实际上一直没有被使用过。1998年IETF把这个字段改名为区分服务 DS(Differentiated Services)。只有在使用区分服务时,这个字段才起作用。 (4)总长度总长度指首部和数据之和的长度,单位为字节。总长度字段为16位,因此数据报的最大长度为216-1=65535字节。长度就是20字节(即首部长度为0101),这时不使用任何选项。 (5)标识(identification) 占16位。IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段。但这个“标识”并不是序号,因为IP是无连接服务,数据报不存在按序接收的问题。当数据报由于长度超过网络的MTU而必须分片时,这个标识字段的值就被复制到所有的数据报的标识字段中。相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报。 (6)标志(flag) 占3位,但目前只有2位有意义。 标志字段中的最低位记为MF(More Fragment)。MF=1即表示后面“还有分片”的数据报。MF=0表示这已是若干数据报片中的最后一个。 标志字段中间的一位记为DF(Don’t Fragment),意思是“不能分片”。只有当DF=0时才允许分片。 7)片偏移占13位。片偏移指出:较长的分组在分片后,某片在原分组中的相对位置。也就是说,相对用户数据字段的起点,该片从何处开始。片偏移以8 个字节为偏移单位。这就是说,每个分片的长度一定是8字节(64位)的整数倍。 (8)生存时间占8位,生存时间字段常用的的英文缩写是TTL(Time To Live),表明是数据报在网络中的寿命。由发出数据报的源点设置这个字段。其目的是防止无法交付的数据报无限制地在因特网中兜圈子,因而白白消耗网络资源。最初的设计是以秒作为TTL的单位。每经过一个路由器时,就把TTL减去数据报在路由器消耗掉的一段时间。若数据报在路由器消耗的时间小于1秒,就把TTL值减1。当TTL值为0时,就丢弃这个数据报。 #TTL通常是32或者64,scapy中默认是64 (9)协议占8位,协议字段指出此数据报携带的数据是使用何种协议,以便使目的主机的IP层知道应将数据部分上交给哪个处理过程。(在scapy中,下层的这个protocol一般可以从上曾继承而来,自动填充,我们一般可以省略不填此项) (10)首部检验和占16位。这个字段只检验数据报的首部,但不包括数据部分。这是因为数据报每经过一个路由器,路由器都要重新计算一下首部检验和

实验4_IP协议分析

实验4 IP协议分析 在这个实验里,我们将研究IP协议,通过执行traceroute程序来分析IP数据包发送和接收的过程。我们将研究IP数据包的各个字段,详细学习IP数据包的分片。 一、捕获traceroute 为了产生一个IP数据包,我们将使用traceroute程序来向一些目的地发送不同大小的数据包,这个软件我们在第一个实验已作过简单的尝试了。 但我们试图在IP头部首先发送一个或者更多的具有TTL的数据包,并把TTL的值设置为1;然后向同一个目的地发送一系列具有TTL值为2的数据包;接着向同一个目的地发送一系列具有TTL值为3的数据包等等。路由器在每次接收数据包时消耗掉一个TTL,当TTL达到0时,路由器将会向源主机返回一个ICMP的消息(类型为11的TTL溢出),这样一个TTL值为1的数据包将会引起路由器从发送者发回一个ICMP的TTL溢出消息产生一跳,TTL值为2的数据包发送时会引起路由器产生两跳,TTL值为3的数据包则会引起路由器产生3跳。基于这种方式,主机可以执行traceroute观察ICMP的TTL溢出消息,记录每个路由器的ICMP的溢出消息的源IP地址,即可标识出主机和目的地之间的所有路由器。 我们要运行traceroute让它发送多种长度的数据包,由Windows提供的tracert程序不允许改变由tracert程序发送的ICMP的回复请求消息的大小,在Windows下比较好的一个是pingplotter,它可以在以下网站下载共享版本(现在已下载好存在共享文件夹的压缩包中): 安装pingplotter标准版(你有一个30天的试用期),通过对你所喜欢的站点执行一些traceroute来熟悉这个工具。ICMP回复请求消息的大小可以在pingplotter中设置:Edit-> Options->Default Setting->enginet,在packet size字段中默认包的大小是56字节。pingplotter 发送一系列TTL值渐增的包时,Trace时间间隔的值和间隔的个数在pingplotter中能够设置。按下面步骤做: 1启动Iris,开始包捕获; 2启动pingplotter,然后在“Address to Trace”窗口输入目的地目标的名字: 172.16.1.1 (1岛输入172.16.6.1) 在“# of times to Trace”区域输入3。然后选择Edit-> Options->Default Setting->engine,确认在packet size字段的值为56,点OK。然后按下 Trace按钮。你看到的pingplotter窗口类似如上:

ip地址分类及子网划分

国际规定:把所有的IP地址划分为A,B,C,D,E A类地址:范围从0-127,0是保留的并且表示所有IP地址,而127也是保留的地址,并且是用于测试环回用的。因此 A类地址的范围其实是从1-126之间。 如:10.0.0.1,第一段号码为网络号码,剩下的三段号码为本地计算机的号码。转换为2进制来说,一个A类IP地址由1字节的网络地址和3 字节主机地址组成,网络地址的最高位必须是“0”,地址范围从0.0.0.1 到126.0.0.0。可用的A类网络有126个,每个网络能容纳1亿多个主机(2的24次方的主机数目)。 以子网掩码来进行区别::255.0.0.0. B类地址:范围从128-191,如172.168.1.1,第一和第二段号码为网络号码,剩下的2段号码为本地计算机的号码。转换为2进制来说,一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,地址范围从128.0.0.0到191.255.255.255。可用的B类网络有16382个,每个网络能容纳6万多个主机。 以子网掩码来进行区别:255.255.0.0 C类地址:范围从192-223,如192.168.1.1,第一,第二,第三段号码为网络号码,剩下的最后一段号码为本地计算机的号码。转换为2进制来说,一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。范围从192.0.0.0到223.255.255.255。C类网络可达209万余个,每个网络能容纳254个主机。 以子网掩码来进行区别:255.255.255.0 D类地址:范围从224-239,D类IP地址第一个字节以“1110”开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。 E类地址:范围从240-254,以“11110”开始,为将来使用保留。全零(“0.0.0.0”)地址对应于当前主机。全“1”的IP地址(“255.255.255.255”)是当前子网的广播地址。 在日常网络环境中,基本是都在使用B,C两大类地址,而ADE这3类地址都不打可能被使用到。 从上述描述中,就可以看到有很多朋友会犯的一个错误,就是把192开头的IP地址设置成B类地址,虽然说在局域网中的网络通讯并不会受到影响,但事实上是不规范的一种划分行为。 子网掩码的简单叙述:子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。 以上述IP地址为例来说明一下,比如一个C类IP 地址192.168.0.1,子网掩码为255.255.255.0(转换2进制,255在2进制表示8个1,也就是全部占满).这杨的写法表示,这个C类IP地址的网络号码为192.168.0 而起主机地址为1. 在这么多网络IP中,国际规定有一部分IP地址是用于我们的局域网使用,也就是属于私网IP,不在公网中使用的,他们的范围是: 10.0.0.0~10.255.255.255 172.16.0.0~172.31.255.255 192.168.0.0~192.168.255.255 接下来,我们再讨论一下,子网划分的问题。 假如给你一个C类的IP地址段:192.168.0.1-192.168.0.254,其中192.168.0 这个属于网络号码,而1-254表示这个网段中最大能容纳254台电脑主机。我们现在要做的就是把这254台主机再次划分一下,将它们区分开来。来源:考试大-软件 192.168.0.1-192.168.0.254默认使用的子网掩码为255.255.255.0,其中的0在2进制中表示,

解析IP数据包课程设计报告

成绩评定表

课程设计任务书

目录 1 课程设计目的 (1) 2 课程设计要求 (2) 3 相关知识 (3) 4 课程设计分析 (6) 5 程序代码 (11) 6 运行结果与分析 (18) 7 参考文献 (18)

1 课程设计目的 IP数据包是网络成传输的基本数据单元,熟悉IP数据包结构对于理解网络工作原理具有重要意义。本课程设计的主要目的是通过接受与解析IP数据包,了解IP数据包的基本结构与IP协议的基本功能。

2 课程设计要求 根据后面介绍的IP数据包结构,编写程序接收并解析IP数据包。 1)以命令行形式运行; ParsePacket log_file 其中,ParsePacket为程序名,log_file为日志文件名。 2)输出内容:IP数据包的各字段值,包括版本、头部长度、服务类型、总长度、标识、分段标志、分段偏移值、生存时间、上层协议类型、头校验和、源IP地址 和目的IP地址等。 3)当程序接收到键盘输入Ctrl+C时退出。

3相关知识 互联网络层是TCP/IP协议参考模型中的关键部分.IP协议把传输层送来的消息组装成IP数据包,并把IP数据包传送给数据链层.IP协议在TCP/IP协议族中处于核心地位,IP 协议制定了统一的IP数据包格式,以消除个通信子网中的差异,从而为信息发送方和接收方提供了透明的传输通道.编制本程序前,首先要对IP包的格式有一定了解,图1给出了IP 协议的数据包格式. IP数据包的第一个字段是版本字段,其度是4位,表示所使用的IP协议的版本.目前的版本是IPV4,版本字段的值是4,下一代版本是IPV6,版本字段值是6.本程序主要针对版本是IPV4的数据包的解析. 报头标长字段为4位,它定义了以4B为一个单位的IP包的报文长度.报头中除了选项字段和填充域字段外,其他各字段是定长的.因此,IP数据包的头长度在20—40B之间,是可变的. 0 4 8 16 19 24 31(位) 图3.1 IP数据包的格式 服务类型字段共8位,用于指示路由器如何处理该数据包.该字段长度由4位服务类型(TOS)子域和3位优先级子域组成,1位为保留位,该字段结构如图2所示. 图3.1 服务类型字段结构

IP及IPSEC协议数据包的捕获与分析

IP及IPSEC协议数据包的捕获与分析

IP及IPSEC协议数据包的捕获与分析 为了掌握掌握IP和IPSEC协议的工作原理及数据传输格式,熟悉网络层的协议。我进行了以下实验:首先用两台PC互ping并查看其IP报文,之后在两台PC上设置IPSEC互ping并查看其报文。最终分析两者的报文了解协议及工作原理。 一、用两台PC组建对等网: 将PC1与PC2连接并分别配置10.176.5.119和10.176.5.120的地址。如图1-1所示。 图1-1 二、两PC互ping: IP数据报结构如图1-2所示。 图1-2 我所抓获的报文如图1-3,图1-4所示:

图1-3 请求包 图1-4 回应包 分析抓获的IP报文: (1)版本:IPV4 (2)首部长度:20字节 (3)服务:当前无不同服务代码,传输忽略CE位,当前网络不拥塞

(4)报文总长度:60字节 (5)标识该字段标记当前分片为第1367分片 (6)三段标志分别指明该报文无保留、可以分段,当前报文为最后一段 (7)片偏移:指当前分片在原数据报(分片前的数据报)中相对于用户数据字段 的偏移量,即在原数据报中的相对位置。 (8)生存时间:表明当前报文还能生存64 (9)上层协议:1代表ICMP (10)首部校验和:用于检验IP报文头部在传播的过程中是否出错 (11)报文发送方IP:10.176.5.120 (12)报文接收方IP:10.176.5.119 (13)之后为所携带的ICMP协议的信息:类型0指本报文为回复应答,数据部分 则指出该报文携带了32字节的数据信息,通过抓获可看到内容为:abcdefghijklmnopqrstuvwabcdefghi 三、IPSec协议配置: 1、新建一个本地安全策略。如图1-5。 图1-5 2、添加IP安全规则。如图1-6.

IP地址与子网划分 类地址

IP地址与子网划分讲解

A类网络地址 1.0.0.0到126.0.0.0 0.0.0.0和127.0.0.0保留 B类网络地址 128.1.0.0到191.254.0.0 128.0.0.0和191.255.0.0保留 C类网络地址 192.0.1.0到223.255.254.0 192.0.0.0和223.255.255.0保留 D类网路地址 224.0.0.0到239.255.255.255用于多点广播 E类网络地址 240.0.0.0到255.255.255.254保留 255.255.255.255用于广播 简介 IP地址分为五类: ·A类用于大型网络(能容纳网络126个,主机1677214台)·B类用于中型网络(能容纳网络16384个,主机65534台)·C类用于小型网络(能容纳网络2097152个,主机254台)·D类用于组播(多目的地址的发送)

·E类用于实验 另外,全零(0.0.0.0.)地址指任意网络。全1的IP地址(255.255.255.255)是当前子网的广播地址。 在因特网中,每台计算机的每个连接都有一个由授权单位分配的用于彼此区别的号码,即IP地址。IP地址采用层次结构,按照逻辑结构划分为两个部分:网络号和主机号。网络号用于识别一个逻辑网络,而主机号用于识别网络中的一台主机的一个连接。因此,IP地址的编址方式携带了明显的位置消息。 一个完整的IP地址由个字节,即32位数字组成,为了方便用户理解和记忆,采用点分十进制标记法,中间使用符号“.”隔开不同的字节。 例如:采用32位形式的IP地址如下 00001010 00000000 00000000 00000001 采用十进制数的形式如下 10.0.0.1 A类地址 (1) A类IP地址。由1个字节的网络地址和3个字节的主机地址,网络 地址的最高位必须是“0”。 如:0XXXXXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX(X代表0或1)(2)A类IP地址范围:1.0.0.1---126.255.255.254 (3)A类IP地址中的私有地址和保留地址: ① 10.X.X.X是私有地址(所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址)。 范围(10.0.0.1---10.255.255.254) ② 127.X.X.X是保留地址,用做循环测试用的。 B类地址 (1) B类IP地址。由2个字节的网络地址和2个字节的主机地址,网络地 址的最高位必须是“10”。 如:10XXXXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX(X代表0或1)(2) B类IP地址范围:128.0.0.1---191.255.255.254。 (3) B类IP地址的私有地址和保留地址 ① 172.16.0.0---172.31.255.254是私有地址是我可以使用的IP地

计算机网络课程设计-IP数据包解析实验报告

< 解析IP数据报实验报告 - … (

目录 目录 (2) 1、课程设计目的 (2) 2、课程设计要求 (2) < 3、相关知识 (2) 4、课程设计分析 (6) 网卡设置 (6) 使用套接字 (7) 接收数据包 (7) 定义IP头部的数据结构 (8) IP包的解析 (9) 协议的定义 (9) ; 捕获处理 (9) 5、运行结果 (10) 6、总结 (11) 7、课程设计参考资料 (11) 8、源程序代码 (11) , /

, 1、课程设计目的 本课程设计的目的就是设计一个解析IP数据包的程序,并根据这个程序,说明IP数据包的结构及IP协议的相关问题,从而对IP层的工作原理有更好的理解和认识。 2、课程设计要求 本设计的目标是捕获网络中的IP数据包,解析数据包的内容,将结果显示在标准输出上,并同时写入日志文件。 程序的具体要求如下: 1)以命令行形式运行:ipparse logfile,其中ipparse是程序名, 而logfile 则代表记录结果的日志文件。 2)在标准输出和日志文件中写入捕获的IP包的版本、头长度、服务类型、数据包总长度、数据包标识、分段标志、分段偏移值、生存时间、上层协议类型、头校验和、源IP地址和目的IP地址等内容。 3)当程序接收到键盘输入Ctrl+C时退出。 3、相关知识 互联网络层是TCP/IP协议参考模型中的关键部分.IP协议把传输层送来的消息组装成IP数据包,并把IP数据包传送给数据链层.IP协议在TCP/IP协议族

中处于核心地位,IP协议制定了统一的IP数据包格式,以消除个通信子网中的差异,从而为信息发送方和接收方提供了透明的传输通道.编制本程序前,首先要对IP包的格式有一定了解,图1给出了IP协议的数据包格式. - IP数据包的第一个字段是版本字段,其度是4位,表示所使用的IP协议的版本.目前的版本是IPV4,版本字段的值是4,下一代版本是IPV6,版本字段值是6.本程序主要针对版本是IPV4的数据包的解析. 报头标长字段为4位,它定义了以4B为一个单位的IP包的报文长度.报头中除了选项字段和填充域字段外,其他各字段是定长的.因此,IP数据包的头长度在20—40B之间,是可变的. 0 4 8 16 19 24 31 图1 IP数据包的格式 服务类型字段共8位,用于指示路由器如何处理该数据包.该字段长度由4位服务

ip地址分类及范围

IP地址的分类及范围详解:A、B、C、D、E五类 A类IP地址一个A类IP地址由1字节的网络地址和3字节主机地址组成,它主要为大型网 络而设计的,网络地址的最高位必须是“0”,地址范围从1.0.0.0 到127.0.0.0)。可用的A类 网络有127个,每个网络能容纳1亿多个主机。其中127.0.0.1是一个特殊的IP地址,表示主机本身,用于本地机器的测试。 注:A:0-127,其中0代表任何地址,127为回环测试地址,因此,A类ip地址的实际范围是 1-126.默认子网掩码为255.0.0.0 B类IP地址一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址 的最高位必须是“10”,地址范围从128.0.0.0到191.255.255.255。可用的B类网络有16382个,每个网络能容纳6万多个主机。 注:B:128-191,其中128.0.0.0和191.255.0.0为保留ip,实际范围是128.1.0.0--191.254.0.0 C类IP地址一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最 高位必须是“110”。范围从192.0.0.0到223.255.255.255。C类网络可达209万余个,每个网络能容纳254个主机。 注:C:192-223,其中192.0.0.0和223.255.255.0为保留ip,实际范围是192.0.1.0-- 223.255.254.0 D类地址用于多点广播(Multicast)。 D类IP地址第一个字节以“lll0”开始,它是一个专门 保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多 点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。224.0.0.0到 239.255.255.255用于多点广播。

解析IP数据包课程设计

课程设计任务书 目录 1.实验目的 2.实验要求 ) 3.预备知识 4.课程设计分析 5.实现过程 6.程序流程图 ! 7.相关扩展 8.实习体会

9.参考文献 一.实验目的: 设计一个解析IP数据包的程序,并根据这个程序,说明IP数据包的结构及IP协议的相 关问题,从而IP层的工作原理有更好的理解和认识. 、 二.实验要求: 本设计的目标是捕获网络中数据包,解析数据包的内容,将、结果显示在标准输出上, 并同时写入日志文件. 程序的具体要求如下: 3)以命令行形式运行:ipparse logfile,其中ipparse是程序名,而logfile则代表记录 结果的日志文件. 4)在标准输出和日志文件中写入捕获的IP数据包的版本,头长度,服务类型,数据包总长 度,数据包标识,分段标志,分段偏移值,生存时间,上层协议类型,头校验和,源IP地址 和目的IP地址等内容. 当程序接收到键盘输入Ctrl+C时退出. ~ 三.预备知识 互联网络层是TCP/IP协议参考模型中的关键部分.IP协议把传输层送来的消息组装成IP数据包,并把IP数据包传送给数据链层.IP协议在TCP/IP协议族中处于核心地 位,IP协议制定了统一的IP数据包格式,以消除个通信子网中的差异,从而为信息发送 方和接收方提供了透明的传输通道.编制本程序前,首先要对IP包的格式有一定了解, 图1给出了IP协议的数据包格式. IP数据包的第一个字段是版本字段,其度是4位,表示所使用的IP协议的版本.目前的版本是IPV4,版本字段的值是4,下一代版本是IPV6,版本字段值是6.本程序主要 针对版本是IPV4的数据包的解析. 报头标长字段为4位,它定义了以4B为一个单位的IP包的报文长度.报头中除了选项字段和填充域字段外,其他各字段是定长的.因此,IP数据包的头长度在20—40B 之间,是可变的. 0 4 8 16 19 24 31

IP地址的分类——a,b,c 类是如何划分的

IP地址的分类——a,b,c 类是如何划分的 现在的IP网络使用32位地址,以点分十进制表示,如172.16.0.0。地址格式为:IP地址=网络地址+主机地址或IP地址=主机地址+子网地址+主机地址。 IP地址类型 最初设计互联网络时,为了便于寻址以及层次化构造网络,每个IP地址包括两个标识码(ID),即网络ID和主机ID。同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个主机ID与其对应。IP地址根据网络ID的不同分为5种类型,A类地址、B类地址、C类地址、D类地址和E类地址。1.A类IP地址 一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”,地址范围从1.0.0.0 到126.0.0.0。可用的A类网络有126个,每个网络能容纳1亿多个主机。 2.B类IP地址 一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,地址范围从128.0.0.0到191.255.255.255。可用的B类网络有16382个,每个网络能容纳6万多个主机。 3.C类IP地址 一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。范围从192.0.0.0到223.255.255.255。C类网络可达209万余个,每个网络能容纳254个主机。 4.D类地址用于多点广播(Multicast)。 D类IP地址第一个字节以“lll0”开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。

解析ip数据包

目录 一、课程设计的目的 (1) 二、课程设计要求 (1) 三、需求分析 (1) 1.先对网卡进行编程,以便连接IP层的数据包。 (1) 2.预先创建一个logfile文件来保存所解析的IP数据包。 (1) 3.使用recv函数实现接收数据包的功能。 (1) 四、设计分析 (1) 4.1 网卡设置 (1) 4.2 使用套接字 (2) 五、程序测试 (3) 六、小结 (5) 七、附录 (5)

一、课程设计的目的 本章课程设计的目的就是设计一个解析IP数据包的程序,并根据这个程序,说明IP数据包的结构及IP协议的相关问题,从而对IP层的工作原理有更好的理解和认识。 二、课程设计要求 本设计的目标是捕获网络中的IP数据包,解析数据包的内容,将结果显示在标准输出上,并同时写入日志文件。 程序的具体要求如下: 1)以命令行形式运行:ipparse logfile,其中ipparse是程序名, 而logfile 则代表记录结果的日志文件。 2)在标准输出和日志文件中写入捕获的IP包的版本、头长度、服务类型、数据包总长度、数据包标识、分段标志、分段偏移值、生存时间、上层协议类型、头校验和、源IP地址和目的IP地址等内容。 3)当程序接收到键盘输入Ctrl+C时退出。 三、需求分析 1.先对网卡进行编程(使用套接字进行编程),以便连接IP层的数据包。 2.预先创建一个logfile文件来保存所解析的IP数据包。 3.使用recv函数实现接收数据包的功能。 4.编写ipparse函数解析捕获的数据包的版本、头长度、服务类型、数据包总长度、数据包标识、分段标志、分段偏移值、生存时间、上层协议类型、头校验和、源IP地址和目的IP地址等内容。 四、设计分析 4.1 网卡设置

IP地址的划分(计算机四级考点)

国际规定:把所有的IP地址划分为 A,B,C,D,E A类地址:范围从0-127,0是保留的并且表示所有IP地址,而127也是保留的地址,并且是用于测试环回用的。因此 A类地址的范围其实是从1-126之间。 如:10.0.0.1,第一段号码为网络号码,剩下的三段号码为本地计算机的号码。转换为2进制来说,一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”,地址范围从0.0.0.1到126.0.0.0。可用的A类网络有126个,每个网络能容纳1亿多个主机(2的24次方的主机数目)。 以子网掩码来进行区别::255.0.0.0. B类地址:范围从128-191,如172.168.1.1,第一和第二段号码为网络号码,剩下的2段号码为本地计算机的号码。转换为2进制来说,一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,地址范围从128.0.0.0到191.255.255.255。可用的B类网络有16382个,每个网络能容纳6万多个主机。 以子网掩码来进行区别:255.255.0.0 C类地址:范围从192-223,如192.168.1.1,第一,第二,第三段号码为网络号码,剩下的最后一段号码为本地计算机的号码。转换为2进制来说,一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。范围从192.0.0.0到223.255.255.255。C 类网络可达209万余个,每个网络能容纳254个主机。 以子网掩码来进行区别: 255.255.255.0 D类地址:范围从224-239,D类IP地址第一个字节以“1110”开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。

ip数据包的捕获与解析代码

// PackCaptureDlg.h:header file #define IPV4_WERSION 4 #define IPV6_WERSION 6 #define ICMP_PACKET 1 #define IGMP_PACKET 2 #define TCP_PACKET 6 #define EGP_PACKET 8 #define UDP_packet 17 #define OSPF_PACKET 89 class CPackCaptureDlg:public CDialog { public: //{{AFX_DATA(CFindHostDlg) enum {IDO=IDO_PACKCAPTURE_DIALOG}; int m_Count; CString m_Packet; //}}AFX_DATA protected: //{{AFX_MSG(CFindHostDlg) afx_msg void OnCapture(); //}}AFX_MSG private: typedef struct IP_HEAD //IP头部结构 { union { unsigned char Version; //版本(字节前四位) unsigned char HeadLen; //头部长度(字节后四位) }; unsigned char ServiceType; //服务类型 unsigned short TotalLen; //总长度 unsigned short Identifier; //标识符 union { unsigned short Flags; //标志位(字前三位) unsigned short FragOffset;

IP地址分类范围和计算

IP地址计算 IP地址分类 A类: 1.0.0.0 ——126.255.255.255 B类: 128.0.0.0 ——191.255.255.255 C类: 192.0.0.0 ——223.255.255.255 大于223 小于240 的IP 地址是多点广播地址。 127.0.0.0 ——127.255.255.255 此段地址用于回路测试。 IP 地址中的每一个字节都为0 的地址(“0.0.0.0”)对应于当前主机。 IP 地址中的每一个字节都为1 的IP 地址(“255.255.255.255”)是当前子网的 广播地址。 【例1】下面例子IP地址为192·168·100·5 子网掩码是255·255·255·0。算出网络地址、广播地址、地址范围、主机数。 1、分步骤计算 1)将IP地址和子网掩码换算为二进制,子网掩码连续全1的是网络地址,后面的是主机地址。虚线前为网络地址,虚线后为主机地址 192.168.100.5 11000000.10101000.01100100.00000101 255.255.255.0 11111111.11111111.11111111.00000000 2)IP地址和子网掩码进行与运算,结果是网络地址 192.168.100.5 11000000.10101000.01100100.00000101 255.255.255.0 11111111.11111111.11111111.00000000 与运算 ______________________________________________________________ 结果为: 192.168.100.0 11000000.10101000.01100100.00000000 3)将上面的网络地址中的网络地址部分不变,主机地址变为全1,结果就是广播地址。 网络地址为:192.168.100.0 11000000.10101000.01100100.00000000 将主机地址变为全1 广播地址为: 2.168.100.255 11000000.10101000.01100100.11111111 4)地址范围就是含在本网段内的所有主机 网络地址+1即为第一个主机地址,广播地址-1即为最后一个主机地址,由此可以看出 地址范围是:192·168·100·1 至 192·168·100·254,属同一个网段。

相关文档