实践教你学习wireshark(三)

4,768 阅读5分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第九天,点击查看活动详情

实践教你学习wireshark(三)

数据呈现

我们在学习抓包时,第一时间必然看到的是这个界面

image.png 但是单单这个界面可能很多参数啊,表格啊,值,列名可能都不了解,所以这篇文章主要讲解wireshark捕捉界面

开始

Wireshark捕获数据包后会以多种形式呈现给用户。在Wireshark中,捕获的每个数据包称为一个分组。每个分组都以3种模式展现,分别是分组列表、分组详情和分组字节流.

image.png

分组列表

我们在上图可以看到分组列表中默认列分别是编号列No.、时间列Time、源地址列Source、目标地址列Destination、协议列Protocal、长度列Length和信息列Info

编号列No

编号列是Wireshark自动添加的序号,标识分组在当前捕获文件中的顺序。其中,默认从编号1开始,即第一个分组,后面以此类推。

时间列Time

时间列用来显示获取分组的时间。时间列提供多种形式,用户可以根据需要选择显示的模式。

源地址列Source

源地址列是指分组发送方地址,常见形式为Mac地址或者IP地址。

目标地址列Destination

目标地址列是指分组接收方地址,常见形式为Mac地址或IP地址。另外,还有一种特殊的地址,即广播地址,如Broadcast和239.255.255.250等。

协议列Protocol

协议列是指分组传输的协议,如TCP、UDP、HTTP和DNS等

长度列Length

长度列是指整个分组的数据长度。

信息列Info

信息列是Wireshark解析分组后提取的重要信息。通过分析该列的信息,可以快速了解到该分组传输的信息。

编辑列

所有列都可以进行编辑,如修改列的名称、类型和值等。通过修改列,可以显示自己需要的信息。

image.png

image.png

有时我们想着能不能不用默认列,此时需要按照以下步骤

image.png

image.png

分组详情(重要)

分组详情表示显示分组的详细信息.这里将以http的一次请求来讲解分组详情,毕竟http目前对我开发人员来说还是比较常见的

image.png 看到这个可能很多人会有点懵逼,但是如果结合下面一张图,或许很多人就会豁然开朗,也能很快明白为什么wireshark能更加直观的看到网络传输的步骤

image.png 看到这个OSI层对应的TCP/IP协议或许就明白上面的图中所表示了

image.png

我们可以根据上面这个图发现,wireshark能捕捉到应用层->传输层->网络层->数据链路层->物理层中所使用的各个协议,双击其中一个就能直接看到在每一层传输的数据是什么样的

Transmission Control Protocol, Src Port: 28466, Dst Port: 80, Seq: 1, Ack: 1, Len: 244

代表传输层中运用了tcp协议,由ip:192.168.3.116:28466传给目标IP:110.43.81.63:80

Internet Protocol Version 4, Src: 192.168.3.116, Dst: 110.43.81.63

这个也就是我们常说的ipv4

Ethernet II, Src: Clevo_75:8d:d6 (80:fa:5b:75:8d:d6), Dst: BeijingX_25:79:69 (8c:de:f9:25:79:69)

这个就是以太网协议

Frame 962: 298 bytes on wire (2384 bits), 298 bytes captured (2384 bits) on interface \Device\NPF_{4D421A04-DCBE-485F-A14D-BBFE9F92C88C}, id 0

这个就是物理层以二进制数据形式在物理媒体上传输数据

专家信息

专家信息是Wireshark基于捕获数据包添加的建议信息。下面将介绍通过专家信息查看分组详情的方法。

image.png

image.png 在该信息中共包括5列,分别为严重(安全级别)、概要(描述信息)、组、协议和计数(包数)。 接下来即可分析Wireshark对数据包添加的建议信息,并查看对应的分组详情。其中,Wireshark支持的安全级别有以下几种:

  • Error(错误):该级别的数据包表示存在非常严重的错误,或者解析器解析时的错误。
  • Warning(警告):该级别的数据包不是正常通信中的数据包。简单地说就是非正常通信产生的数据包。
  • Note(注意):该级别的数据包是正常通信时的异常数据包。
  • Chat(会话):该级别的数据包是正常通信的基本信息。
  • Comment(注释):添加注释的数据包。其中,包的注释信息是需要用户手动添加的,所以默认没有显示注释类级别的包。

分组字节流

分组字节流是显示数据包的原始信息。通过查看分组字节流信息,即可看到数据包的原始信息。

image.png

分组字节流以数值形式和文本形式同时显示,并且支持多种形式展现数据

数值形式

Wireshark允许以十六进制和二进制两种方式显示数值。Wireshark默认是以十六进制显示字节流信息的,而二进制形式适合查看协议的比特位信息,如TCP的SYN位,

image.png

我们可以将其转至为二进制查看

image.png

image.png

文本形式

wireshark默认以ascii的文本形式来展示数据

image.png

分析分组字节

Wireshark提供了一个分析分组字节流功能,可以在独立窗口中以更多的形式显示数据。

image.png

image.png

从分组字节流对话框中可以看到,默认解码格式为无,显示格式为ASCII。通过“解码为”和“显示为”下拉列表框即可切换解码和显示格式。这里支持的解码格式包括Base64、压缩、可打印引用和ROT13。支持的显示格式包括ASCII、ASCII与控制符、C语言数组、EBCDIC、Hex转储、HTML、图像、ISO 8859-1、原始数据、UTF-8、UTF-16和YAML