目录
一.原理
前言:TCP/IP四层模型和OSI模型对照,以及FTP在模型中的位置。
1.IP协议包格式
2.各个字段注解:
•总长度:总长度指首都及数据之和的长度,单位为字节.因为总长度字段为 16位,所以数据报的最大长度为 216-1=65 535字节.在IP层下面的每一种数据链路层都有自己的帧格式,其中包括帧格式中的数据字段的最大长度,即最大传送单元 MTU (Maximum Transfer Unit).当一个数据报封装成链路层的帧时,此数据报的总长度 (首部加上数据)一定不能超过下面的数据链路层的MTU值,否则要分片.
•标识 (Identification):占 16位.IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加 1,并将此值赋给标识字段.但这个"标识"并不是序号,因为 IP是无连接的服务,数据报不存在按序接收的问题.当数据报由于长度超过网络的 MTU 而必须分片时,这个标识字段的值就被复制到所有的数据报的标识字段中.相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报.
•生存时间(Time To Live):占 8位, 其表明数据报在网络中的寿命.由发出数据报的源点设置这个字段.其目的是防止无法交付的数据报无限制地在因特网中兜圈子,因而白白消耗网络资源.最初的设计是以秒作为 TTL的单位.每经过一个路由器时,就把TTL减去数据报在路由器消耗掉的一段时间.若数据报在路由器消耗的时间小于 1 秒,就把TTL值减 1.当 TTL值为 0时,就丢弃这个数据报.
•协议:占 8 位.协议字段指出此数据报携带的数据是使用何种协议,以便使目的主机的IP层知道应将数据部分上交给哪个处理过程.
•首部检验和:占 16位.这个字段只检验数据报的首部,但不包括数据部分.这是因为数据报每经过一个路由器,都要重新计算一下首都检验和 (一些字段,如生存时间,标志,片偏移等都可能发生变化),不检验数据部分可减少计算的工作量.
•源地址:占32位.
•目的地址:占 32位
二.IP包分析
1.访问内部搭建的www网站,ip地址为1922.168.1.154,抓包如下
2.对于TCP中的字段分析,其ip版本号和头部长度字段如下:
3.服务字段(无用处)
4.总长度
5.标识
6.标志,片偏移
7.生存时间(Time To Live)
8.协议类型(TCP)
9.首部检验和
10.源地址
11.目的地址
三.TTL字段分析
TTL(生存时间)是网络发送的数据包中包含的计时器值,它告诉接收者在丢弃和过期数据(数据包)之前要保留或使用该数据包多长时间。对于不同的操作系统,TTL值是不同的。
一般情况下:
设备/操作系统 | TTL |
* nix(Linux / Unix) | 64 |
Windows | 128 |
1.上面的ttl字段如下,win10系统
2.ping实验室一台linux服务器(后面-l 4000 用于下文的ip切片分析)
3.ping百度:
4.使用tracert命令 对访问百度所经过的路由进行跟踪:
tracer命令主要原理:使用ICMP协议的回显,进行判断。主要操作:设置从0开始的ttl字段的长度,然后依次低增1,直到抵达目标地址。根据不同的ICMP回显,来进行追踪。
四.切片分析
原理:
1.使用ping命令构造较大数据包,使得产生切片:
2.抓包结果如下:(过滤条件ip.addr== 192.168.1.146)
(由上可知,将会分成3个片段)
3.分析前三个包即可(通过标识位可验证是否属于同一个包),第一个包如下:
DF位=0,MF位=1,说明后面还有数据包。标识位:0xe25b(57947)
4.第二个包如下:
DF位=0,MF位=1,说明后面还有数据包。标识位:0xe25b(57947)
5.第三个切片如下:
DF位=0,MF位=0,说明后面没有该数据包。标识位:0xe25b(57947)
6.偏移量计算:
7总结:
五.源文件下载
下载地址:IP协议抓包分析wireshark源文件,包括切片-互联网文档类资源-CSDN下载
本文链接:CSDN
形成的ppt以及操作视频:计算机网络IPFTP协议分析.ppt(wireshark抓包分析)-互联网文档类资源-CSDN下载
wireshark源文件github地址:GitHub - 869019048/ftp_ip_protocel_wiresharkfile