Wireshark是什么
Wireshark是一个可以捕获和分析数据包的软件,它可以运行当下主流的操作系统上:Windows,Linux,macOS
Wireshark的历史
20多年前,一个叫Gerald Combs的年轻人在密苏里大学堪萨斯分校完成自己的学业,进入到当时一家小型互联网服务提供商NIS
(Network Integration Services)工作。他经常需要对网络的各种故障进行分析,虽然当时已经有了一些可以完成网络分析的工具,
但是他们缺点明显,另外价格也很高,而且还需要在特定的操作系统上面运行。于是Gerald Combs决定自己编写一款网络分析软件。
1997年7月,仅仅用时一年,Gerald Coms开发的软件就面世了,当时叫Ethereal,并且是开源免费的。2006年Ethereal更名为Wireshark。
Wireshark的工作原理
在讲原理之前,我们要了解一个概念:网卡。
网卡在对接收到的数据包处理之前会检查当前数据包的目的地址进行检查,如果这个数据包的目的地址不是自己,那么就会丢掉这些数据。
相反就会将这些数据包交给操作系统,操作系统再将其分配给各个应用程序。
如果我们启动了wireshark,那么wireshark就会通过操作系统将经过网卡的数据包的数据包拷贝一份发给自己。
但是,有些数据包是不经过网卡的:就是数据包的地址