乘风破浪,遇见最美Windows 11之现代Windows桌面应用开发 - 使用免费开源跨平台Wireshark抓取更底层网络请求


什么是Wireshark

https://www.wireshark.org

Wireshark是一个免费和开源的数据包分析器。它被用于网络故障诊断、分析、软件和通信协议开发以及教育。该项目最初名为Ethereal,由于商标问题,于2006年5月改名为Wireshark

Wireshark是跨平台的,在当前版本中使用Qt widget工具包来实现其用户界面,并使用pcap来捕获数据包;它可以在Linux、macOS、BSD、Solaris、其他一些类似Unix的操作系统和Microsoft Windows上运行。还有一个基于终端(非GUI)的版本叫TShark。Wireshark以及与它一起发布的其他程序,如TShark,都是自由软件,根据GNU通用公共许可证第2版或任何后续版本的条款发布。

历史

在20世纪90年代末,毕业于密苏里大学堪萨斯城分校计算机科学系的Gerald Combs在一家小型互联网服务提供商工作。当时的商业协议分析产品价格在1500美元左右,而且不能在公司的主要平台(Solaris和Linux)上运行,因此Gerald开始编写Ethereal并在1998年左右发布了第一个版本。Ethereal的商标由Network Integration Services拥有

2006年5月,Combs接受了CACE技术公司的工作。Combs仍然拥有Ethereal大部分源代码的版权(其余部分在GNU GPL下可重新发布),所以他使用Ethereal Subversion仓库的内容作为Wireshark仓库的基础。然而,他并不拥有Ethereal的商标,所以他把名字改为Wireshark。2010年,Riverbed Technology收购了CACE,并接管了Wireshark的主要赞助商。Ethereal的开发已经停止了,Ethereal的一个安全咨询建议改用Wireshark

多年来,Wireshark赢得了多个行业奖项,包括eWeek、InfoWorld和PC Magazine。它也是Insecure.Org网络安全工具调查中评级最高的数据包嗅探器,并且是2010年8月的SourceForge月度项目。

Combs继续维护Wireshark的整体代码,并发布该软件的新版本。该产品网站列出了近2000个额外的贡献作者。

开源

https://gitlab.com/wireshark/wireshark

Wireshark是一个网络流量分析器,或 "嗅探器",适用于Linux、macOS、BSD和其他Unix和类似Unix的操作系统以及Windows。它使用Qt,一个图形用户界面库,以及libpcap和npcap作为 包捕获和过滤库

Wireshark发行版还包括TShark,它是一个 它是一个面向行的嗅探器(类似于Sun的snoop或tcpdump),使用了 它使用了与Wireshark相同的剖析、捕获文件的读写和数据包过滤代码。的代码,以及editcap,它是一个读取捕获文件的程序。和editcap,后者是一个读取捕获文件并从捕获文件中写出数据包的程序,可能是以不同的捕获文件格式,并带有一些不同的捕获文件格式,并有可能从捕获文件中删除一些数据包、从捕获的数据包中删除。

获取Wireshark

官网安装包

https://www.wireshark.org/#download

  • Windows Installer (64-bit)
  • macOS Arm 64-bit.dmg
  • macOS Intel 64-bit.dmg

Winget命令安装

通过搜索命令,我们能找到它

winget search wireshark

winget install wireshark

使用Wireshark

扫描本地网络接口

启动Wireshark后,它将会扫描本地网络接口,如果你看不到,那么可能要考虑重新安装一次,尤其是把附属的那些组件也安装好。

一般情况下,这里我们选"以太网"即可。双击它就是选中。

监控网络接口流量

选择网络接口之后,即可就进入监控捕获模式了。

如果我们要过滤纯http请求,那么我们可以在"应用显示过滤器"里面输入http,然后回车生效

这里请求很多,我们也可以Ctrl+F来查找,然后选择正确的过滤方式,比如这里我们选字符串方式,输入我们想要查找的字符串即可。

有些时候,抓取一段时间会产生很多请求,我们需要维持当前过滤条件不变清空下重来,那么我们可以点击一个重置按钮。

参考

  • https://en.wikipedia.org/wiki/Wireshark