实验内容:
- 实验介绍。介绍本次实验的内容,介绍本次实验要抓的包,IP协议是因特网上的中枢。它定义了独立的网络之间以什么样的方式协同工作从而形成一个全球户联网。因特网内的每台主机都有IP地址。数据被称作数据报的分组形式从一台主机发送到另一台。每个数据报标有源IP地址和目的IP地址,然后被发送到网络中。如果源主机和目的主机不在同一个网络中,那么一个被称为路由器的中间机器将接收被传送的数据报,并且将其发送到距离目的端最近的下一个路由器。
- IP包分析:
第一步,确定使用的协议,使用HTTP服务。例如选择http://www.baidu.com/作为目标地址。
第二步,启动抓包:点击【start】开始抓包,在浏览器地址栏输入http://www.baidu.com/。
第三步,通过显示过滤器得到相关数据包:通过抓包获得大量的数据包,为了对数据包分析的方便,需要使用过滤器,添加本机IP协议过滤条件。
第四部,分析TCP数据包,根据图中的数据帧格式,分析IP包的各部分。
- 版本(4bit)。ip报文中,版本占了4位,用来表示该协议采用的是那一个版本的ip,相同版本的ip才能进行通信。
(2) 首部长度(4bit)。该字段表示整个ip包头的长度,其中数的单位是4字节。即二进制数0000-1111(十进制数0-15),其中一个最小长度为0字节,最大长度为60字节。一般来说此处的值为0101,表示头长度为20字节。
(3) 区分服务(8bit)。该字段用来获得更好的服务,在旧标准中叫做服务类型,但实际上一直未被使用过。1998 年这个字段改名为区分服务。只有在使用区分服(DiffServ)时,这个字段才起作用。在一般的情况下都不使用这个字段。
(4) 总长度(16bit)。该字段指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535 字节。总长度必须不超过最大传送单元 MTU。
(5) 标识(16bit)。标识(identification)占 16 位,它是一个计数器,用来产生数据报的标识。
(6) 标志(3bit)。标志(flag)占 3 位,目前只有前两位有意义。标志字段的最低位是 MF (More Fragment)。MF=1 表示后面“还有分片”。MF=0 表示最后一个分片。标志字段中间的一位是 DF (Don't Fragment) 。只有当 DF=0 时才允许分片。
(7) 片偏移(13 bit)。该字段指出较长的分组在分片后某片在原分组中的相对位置。片偏移以 8 个字节为偏移单位。
(8) 生存时间(8 bit)。记为 TTL (Time To Live)数据报在网络中可通过的路由器数的最大值。
(9) 协议(8 bit)。该字段指出此数据报携带的数据使用何种协议以便目的主机的 IP 层将数据部分上交给哪个处理过程。
(10) 首部检验和(16 bit)。该字段只检验数据报的首部不检验数据部分。
(11) 源地址/目的地址(32bit)。
(12) 可选字段,一般一些特殊的要求会加在这个部分。
(13) 数据部分。