这是网络第2次试验
wireshark分析仪网站. http://www.wireshark.org/

了解ICMP协议

ICMP(Internet Control Message Protocol)网际报文控制协议,是Internet协议族的核心协议之一,它主要用在网络计算机的操作系统中发送出错信息。例如:请求服务不可用,主机不可达。ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息。但是ICMP不是高层协议,而是IP层协议。

ICMP在网络层中的位置:

ICMP本身是一个网络层协议。但是,它的报文并不是如预期的那样直接传递给数据链路层。实际上,ICMP报文首先 要封装成IP数据报,然后才被传递到下一层:

在一个IP数据报中,如果协议字段值是1,就表示IP数据是ICMP报文。
ICMP首部格式:

图中的格式的具体含义——
类型(Type): ICMP信息基于RFC规范的类型分类

代码(Code): ICMP信息基于RFC规范的子类型

检验和(CheckSum):用来保证ICMP数据的头部和数据部分的完整

数据部分:依赖于类型和代码域的部分

完整的ICMP报文类型如下图:

了解FTP协议

FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。

Wireshark实战

(一)配置过滤器

目的是只获取icmp协议的包,便于分析。

抓包前使用捕捉过滤器:

之后启动抓包。

(二)捕获一段PING命令的数据流

ICMP协议因为其ping功能而著名,ping用来检测一个设备主机的可连续性。
如下图,向www.baidu.com发送ping命令:


上图为包的简要纲略,每一列分别对应帧编号,发送时间,发送源ip地址,目的地ip地址,协议,长度以及该包报告信息或内容。
可以看到我们抓到了8个ICMP报文,向对方主机询问(request)四次同时接收到四次应答(reply)。

报文内容分析

①选取具体某一帧——此处选择第一帧:Echo(ping)请求包,分析其分组内容。
上面是分组首部的详细信息,下面是以十六制和ASCLL码形式展现的分组内容:

第一行:帧1(1为序号),所抓分组的字节数为74;

第二行:以太网,有限局域网技术,数据链路层,源mac地址为(54:27:1e:5d:12:dc),目标mac地址为(d0:76:e7:05:b8:b0)。

第三行:ipv4协议,是网络层协议,源ip地址为(192.168.1.104);目标ip地址为(111.13.100.91);

第四行:TCP协议,运输层协议。

②逐层分析
第一层(帧首部):

第二层(数据链路层):

第三层(网络层):

第四层(运输层):

③分析其他包
分析ICMP响应包---------Echo(ping)reply,也就是对应的2帧

(三)捕获一段Tracert命令的数据流

①Tracert:路由跟踪实用程序。用于确定IP数据包访问目标所采取的路径,其工作原理是通过向目标发送不同IP生存时间 (TTL) 值的“Internet控制消息协议(ICMP)”回应数据包,跟踪路由诊断程序确定到目标所采取的路由。实际应用中可以使用跟踪路由命令确定数据包在网络上的停止位置。TTL是有效的跃点计数,在必需路径的每个路由器转发数据包之前至少递减一,当TTL递减至0时,路由器将“ICMP超时”的消息发送回源地址。执行tracert命令后,源主机先发送TTL为1的回显数据包,并在随后的每次发送过程中将TTL递增一,直到目标响应或TTL达到最大值,从而确定路由。路由则通过检查中间路由器送回的“ICMP已超时”的信息来确定路由。

②执行Tracert命令
与ping命令类似,先在wireShark中开启抓包,然后在命令行中执行Tracert命令:

截图中输入命令后第一行显示测试包最大跳数30,防止路由回环;域名解析后ip为111.13.100.91。

③下面14跳,通过百度这些ip地址可查到ip所在地信息,分析大致过程如下:

1行:请求从本机出发(本地局域网某主机)

2-3行:江苏省苏州市 移动 这应该是江苏移动的路由器

6-8行:中国 移动 移动的总路由器

9-11行:北京市 移动位于北京的路由器

14行:北京市 百度,最终成功找到了百度的服务器

(其中4/5、12/13行请求超时,可能是因为网络路径中间件不允许应答该类型报文,但路由通畅或是网络拥堵);

报文内容分析


上图为包的简要纲略,每一列分别对应帧编号,发送时间,发送源ip地址,目的地ip地址,协议,长度以及该包报告信息或内容。

选取第1帧进行分析:
网络层:
主机发送的第一个包的TTL为1,并在随后的每次发送过程中将TTL递增1。

运输层:

(四)使用wireShark分析FTP协议工作过程

过滤条件设置为FTP协议。

在FTP工作流程中使用控制链接和数据连接两种方式来实现数据传输,下面我们来分析这两种包的详细信息。

分析控制链接的数据

FTP的控制连接用于传送用户名、密码及设置传输方式等控制信息,下面以保存的ftp.pcapng捕获文件为例,分析FTP协议控制连接数据包。

上图中显示了所有数据包的Info列,在这里可以看到ftp传输的所有信息,因为FTP是明文形式传输数据包的,所有我们在InFo列里能看到登录FTP服务器的用户名、密码和传输文件等。在上图中,登录FTP服务器的用户名为zcliang,密码为********,下载了文件index.html。这里显示的都是成功,如果传输过程中出差的话,会返回相应的应答码。

在捕获的FTP数据包中,USER,PASS,CWD,RETR和STOR等都是控制连接使用的控制命令。这些控制命令在包详细信息中,显示的格式都相同。这里以控制用户信息的命令为例,分析包的详细信息。在ftp.pcapng捕获文件中,捕获的用户信息如下:

从该界面可以看到登录FTP服务器时,使用的控制命令是USER和PASS。根据这两个命令,可以看到登录的账号为zcliang,密码为********。
这两个包的详细信息如下——
用户名包详细信息:

从上面的信息中,可以看到该包使用了FTP协议,输入的用户名为zcliang,请求的命令是USER,请求参数为zcliang。

密码包的详细信息:

从上面的信息中,可以看到输入的密码为******,请求的命令是PASS,请求参数为******。
其余的LIST,CWD等命令此处省略。

分析数据连接的数据

数据连接用于传送文件数据,也就是通过FTP服务器进行上传和下载文件。下面以捕获的文件为例,分析数据连接的数据。

我们发现前三个FTP报文出现两个关键字PORT和PASV,这是什么呢?百度百科一下:

**PORT(主动)**方式的连接过程是,服务器开放一个端口,通知客户端连接,服务端接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了一个1024+的随机端口,你过来连接我”。于是服务器从20端口向客户端的1024+随机端口发送连接请求,建立一条数据链路来传送数据。

**PASV(被动)**方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用 PASV命令告诉客户端:“我打开了一个1024+的随机端口,你过来连接我”。于是客户端向服务器的1024+端口发送连接请求,建立一条数据链路来传送数据。


结合TCP协议的内容来看,这一段交互就是我们像科大的站点发了一个port请求,服务器接受请求顺便告诉我们“port请求我们收到啦,不过建议你们用pasv比较好哦~”,然后我们向服务器发出RETR(retireve)请求下载index.html,于是服务器发来报文,内容就是“我(服务器)开放了一个端口,你可以来连接了”,我们反手就是一个报文回复“连接上啦哈”,于是服务器又发了一个ftp的报文作为回应“我们服务器端用二进制方式来对index.html文件进行数据传输PS.它有13bytes这么大”,并且发来ACK报文建立连接。
这之后,index.html这个文件因为比较小,所以不需要分隔成小文件,直接以ftp-data方式传输过来了,过程中还出现了一下ACK的报文我想应该是重新确认一下连接的作用。

RETR命令的帧详细信息如下,响应帧在295,但不是一个FTP协议的帧。

FTP-DATA帧用来向客户端传输数据,详细信息如下:

可以看到,数据包大小为13字节等信息,还给出了文件中的文本数据:Hello World。

所有ftp-data的报文发完以后,也就是文件传输完成时候,服务器发来报文告诉我们“所有文件都传完啦”,并且直接有扔过来一个ACK报文,我们客户端也反手一个ACK报文,虚晃一枪“大哥谢谢啦,你等等别走我看看还有没需求要找你”,也就是维持会话的意思。

实验做完了,我们cmd键入quit断开连接,得到回应goodbye。我们看看wireshark那边,是两个ftp包互相告别。

至此,WireShark协议分析仪的使用告一段落。

使用WireShark协议分析仪来分析ICMP与FTP协议相关推荐

  1. wireshark抓包分析icmp(面向无连接的协议)

    前言:icmp协议一般结合ping与tracert命令进行使用.操作系统中规定的icmp数据包规定的不能超过64kb,而ping攻击就是利用这一特点大量发送ping包导致目标主机内存分配错误等情况导致 ...

  2. PXE+VMware主机模式+KickStart脚本 自动安装ESXi 并试用WireShark抓包分析其中的协议TFTP,DHCP

    1 安装 1.1 实验环境: Windows 10 (主机) VMWare workstation 15  (运行于主机上) Tiny PXE Server 1.0.0.21   (官网地址,下载地址 ...

  3. 计算机网络实验二抓包协议分析,计算机网络实验-使用Wireshark分析TCP和UDP协议...

    <计算机网络实验-使用Wireshark分析TCP和UDP协议>由会员分享,可在线阅读,更多相关<计算机网络实验-使用Wireshark分析TCP和UDP协议(6页珍藏版)>请 ...

  4. 为什么使用Stelnet与sftp协议,而不用telnet与ftp协议

    网络工程师了解本文的必要性: 本文所述为网络工程师的操作基础第一课,大中型企业一般地理范围宽,尤其在要求效率高.业务连续性强,对网络的可用性.稳定性和可靠性要求高的企业,一般不采用跑腿的方式,使用笔记 ...

  5. Wireshark抓包分析之ICMP协议包

    Wireshark抓包分析之ICMP协议包 一. Wireshark简介:(前身为Ethereal,2006年改名为wireshark) Wireshark 是一个网络封包分析软件.网络封包分析软件的 ...

  6. FTP协议中的登录 上传 下载 新建目录 删除目录 的wireshark包分析(一文看完TCP包分析,附源文件,ppt,操作视频)

    ​​​​​​​目录 一原理 二.FTP登录 三.FTP下载 四.FTP上传 五.FTP新建目录 六.FTP删除目录 一原理 前言:TCP/IP四层模型和OSI模型对照,以及FTP在模型中的位置. • ...

  7. FTP协议解析之Wireshark报文分析

    FTP是客户端-服务器协议,客户端将请求文件,而本地或远程服务器将提供该文件.我们熟知的FTP客户端:WinSCP.WS FTP.FileZilla等都是使用文件传输协议,它是一种标准的Interne ...

  8. wireshark抓包分析数据怎么看 wireshark使用教程

    大家都知道Wireshark是非常流行且知名的网络抓包数据分析工具,可以截取各种网络数据包,并显示数据包详细信息,常用于开发测试过程各种问题定位.网络故障排查等情况.但是很多网友不清楚如何使用Wire ...

  9. tcpdump抓包ftp协议_tcpdump抓包分析详解

    简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的 ...

  10. Wireshark网络封包分析

    一.Wireshark简介 Wireshark是一个网络封包分析软件.网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料.Wireshark使用WinPCAP作为接口(现在普遍 ...

最新文章

  1. 微信小程序之上传附件
  2. 在asp.net中解决cookies中文乱码问题
  3. [转]SupSite页面文件与模块关系说明
  4. python对数据进行分类_在Python中对一系列数据进行分类的最佳方法
  5. sass、gulp应用
  6. 前沿 | NVIDIA PyTorch库让3D深度学习研究更简单!
  7. 两个Activity左右滑动手势切换
  8. mac查看进程 总是忘记
  9. 操作DataTable
  10. C# 对IOC的理解 依赖的转移
  11. 海康、大华摄像头chrome高版本实时播放(java集成)
  12. 全国各地车牌代码整理出数据库表SQL Server
  13. linux 使用rpm命令安装和卸载软件的使用方法
  14. ssh和telnet客户软件ZOC如何设置UTF-8
  15. simulink他励直流电动机串电阻启动仿真
  16. 图像处理直方图均衡化
  17. js原生ajax写法
  18. 2021-5-8字符串作业
  19. HTML中td的colspan和rowspan
  20. 自动驾驶采标系列二:车载感知与车载传感器标定

热门文章

  1. windows安装ffmpeg,yasm,opencv
  2. 二进制 八进制 十进制 十六进制 相互转化法
  3. 技术分享 | MySQL:caching_sha2_password 快速问答
  4. 个人邮箱与企业邮箱的区别
  5. 一个完整的机器学习模型的流程
  6. Helix QAC所提供的四种抑制方式
  7. TM1620 led显示芯片用stm8来驱动
  8. Vue实现tab导航栏,支持左右滑动
  9. 基于C51单片机的锂电池容量检测仪电压电流检测 原理图PCB程序设计
  10. 环境规划与管理--知识点总结