热搜词
发表于 2021-12-25 17:53:06 | 显示全部楼层 |阅读模式
Wireshark(前称Ethereal)是一个网络数据包分析软件。网络数据包分析软件的功能是截取网络数据包,并尽可能显示出最为详细的网络数据包数据。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
网络管理员使用Wireshark来检测网络问题,网络安全工程师使用Wireshark来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协定除错,普通使用者使用Wireshark来学习网络协定的相关知识。当然,有的人也会“居心叵测”的用它来寻找一些敏感信息……。Wireshark相对于tcpdump而言,界面更友好,功能更强大。
wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容,总结,如果是处理HTTP,HTTPS 还是用Fiddler, 其他协议比如TCP,UDP 就用wireshark。
官方网址: http://www.wireshark.org
实施抓包
安装好 Wireshark 以后,就可以运行它来捕获数据包了。方法如下:
1) 选择网卡
wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡。
6-1911061106321c.gif

该图为 Wireshark 的主界面,界面中显示了当前可使用的接口,例如,本地连接 5、本地连接 10 等。要想捕获数据包,必须选择一个接口,表示捕获该接口上的数据包。

在上图中,选择捕获“本地连接”接口上的数据包。选择“本地连接”选项,然后单击左上角的“开始捕获分组”按钮,将进行捕获网络数据,如下如所示。

图中没有任何信息,表示没有捕获到任何数据包。这是因为目前“本地连接”上没有任何数据。只有在本地计算机上进行一些操作后才会产生一些数据,如浏览网站。

6-19110611122D11.gif

3) 当本地计算机浏览网站时,“本地连接”接口的数据将会被 Wireshark 捕获到。捕获的数据包如图所示。图中方框中显示了成功捕获到“本地连接”接口上的数据包。

6-1911061123354J.gif

4) Wireshark 将一直捕获“本地连接”上的数据。如果不需要再捕获,可以单击左上角的“停止捕获分组”按钮,停止捕获。使用显示过滤器默认情况下,Wireshark 会捕获指定接口上的所有数据,并全部显示,这样会导致在分析这些数据包时,很难找到想要分析的那部分数据包。这时可以借助显示过滤器快速查找数据包。

显示过滤器是基于协议、应用程序、字段名或特有值的过滤器,可以帮助用户在众多的数据包中快速地查找数据包,可以大大减少查找数据包时所需的时间。

使用显示过滤器,需要在 Wireshark 的数据包界面中输入显示过滤器并执行,如图所示。

6-191106113UI56.gif

图中方框标注的部分为显示过滤器区域。用户可以在里面输入显示过滤器,进行数据查找,也可以根据协议过滤数据包。

显示过滤器及其作用
显示过滤器作用
arp显示所有 ARP 数据包
bootp显示所有 BOOTP 数据包
dns显示所有 DNS 数据包
ftp显示所有 FTP 数据包
http显示所有 HTTP 数据包
icmp显示所有 ICMP 数据包
ip显示所有 IPv4 数据包
ipv6显示所有 IPv6 数据包
tcp显示所有基于 TCP 的数据包
tftp显示所有 TFTP(简单文件传输协议)数据包

例如,要从捕获到的所有数据包中,过滤出 DNS 协议的数据包,这里使用 dns 显示过滤器,过滤结果如图所示。图中显示的所有数据包的协议都是 DNS 协议。

6-191106114412303.gif

分析数据包层次结构任何捕获的数据包都有它自己的层次结构,Wireshark 会自动解析这些数据包,将数据包的层次结构显示出来,供用户进行分析。这些数据包及数据包对应的层次结构分布在 Wireshark 界面中的不同面板中。

下面介绍如何查看指定数据包的层次结构。

1) 使用 Wireshark 捕获数据包,界面如图所示。

6-191106115024Q8.gif


上图中所显示的信息从上到下分布在 3 个面板中,每个面板包含的信息含义如下:
  • Packet List 面板:上面部分,显示 Wireshark 捕获到的所有数据包,这些数据包从 1 进行顺序编号。
  • Packet Details 面板:中间部分,显示一个数据包的详细内容信息,并且以层次结构进行显示。这些层次结构默认是折叠起来的,用户可以展开查看详细的内容信息。
  • Packet Bytes 面板:下面部分,显示一个数据包未经处理的原始样子,数据是以十六进制和 ASCII 格式进行显示。

2) 以 HTTP 协议数据包为例,了解该数据包的层次结构。在 Packet List 面板中找到一个 HTTP 协议数据包,如图所示。

6-19110611555V25.gif

其中,编号 21 的数据包是一个 HTTP 协议数据包。此时在 Packet Details 面板上显示的信息就是该数据包的层次结构信息。

这里显示了 5 个层次,每个层次的含义如下:
  • Frame:该数据包物理层的数据帧概况。
  • Ethernet II:数据链路层以太网帧头部信息。
  • Internet Protocol Version 4:网际层 IP 包头部信息。
  • Transmission Control Protocol:传输层的数据段头部信息。
  • Hypertext Transfer Protocol:应用层的信息,此处是 HTTP 协议。

由此可见,Wireshark 对 HTTP 协议数据包进行解析,显示了 HTTP 协议的层次结构。

3) 用户对数据包分析就是为了查看包的信息,展开每一层,可以查看对应的信息。例如,查看数据链路层信息,展开 Ethernet II 层,显示信息如下:
Ethernet II, Src: Tp-LinkT_46:70:ba (ec:17:2f:46:70:ba), Dst: Giga-Byt_17:cf:21 (50:e5:49:17:cf:21)
Destination: Giga-Byt_17:cf:21 (50:e5:49:17:cf:21)  #目标MAC地址
Source: Tp-LinkT_46:70:ba (ec:17:2f:46:70:ba)  #源MAC地址
Type: IPv4 (0x0800)
显示的信息包括了该数据包的发送者和接收者的 MAC 地址(物理地址)。

可以以类似的方法分析其他数据包的层次结构。在下面的章节中将要借助 Wireshark 工具来分析数据包。
全部评论0
回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2024-12-25 15:24 , Processed in 0.214364 second(s), 36 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2024 Discuz! Team