————
官网下载匹配版本即可
官网:https://www.wireshark.org/download.html
得到安装包正常安装完成即可。
————
————
一打开wireshark是这样的,首先要选择一张网卡就行抓包。
我这里是连的WiFi,就双击 WLAN 即可开始捕获数据包。
然后就会进入抓包界面。
刚一接触这个工具,看到这个界面会觉得特别繁杂,各种数字字符,不知道是什么东西。
这里就一个部分一个部分地进行认识了。
首先最上面的菜单栏能够进行文件操作,编辑数据包,捕获数据包设置等操作。
往下的工具栏可以进行开始捕获和停止捕获数据包,以及数据包的保存、关闭与重新加载。
界面看到很多种不同的颜色,在工具栏也可设置不同种类数据包的不同颜色。
有几个放大镜模样的图标可对文本进行放大或缩小。
再就是数据包显示过滤栏,即对所捕获的数据包进行过滤,只差看想要看到的数据包种类。
下面的是数据包详细区,在数据包列表区选中某一行的数据包,这里详细区就会出现这一个数据包的详细信息。
往下的数据包字节区,对应与上面一栏某一个数据包详细信息的字节信息。
最后是最底下的数据包统计区,统计了目前抓包的总数量,以及是否丢包的信息。
————
————
————
文件操作:打开某个数据包文件,wireshark 数据包文件一般为 .pcapng 文件。
合并,即合并多个文件为一个 .pcapng 文件,比如两个文件里分别有50个数据包(数据包列表区有50行),合并为一个数据包文件,里面就有100个数据包。
导出:把目前打开的这个文件中某些数据包进行导出为另一个文件,“导出分组解析结果”指导出不同格式的文件,有纯文本、“CSV”格式等。
视图: 看到主工具栏、过滤栏等选项打了勾,就是在wireshark 界面中可以看到的区域
————
分有抓包过滤器和显示过滤器。
————
抓包过滤器,是在抓包前设置好,只抓取哪些需要的数据包,比如只捕获协议为 http 的数据包。
在捕获一栏中可找到捕获过滤器进行设置。
抓包过滤规则:
类型type:host、net、post
方向dir:src、dst
协议proto:either、ip、tcp、http、ftp
逻辑运算符:&&(与)、||(或)、!(非)
一些例子:
过滤mac地址:
ether host 00:88:ca:86:f8:0d
ether src host 00:88:ca:86:f8:0d
ether dst host 00:88:ca:86:f8:0d
过滤IP地址:
host 192.168.1.1
src host 192.168.1.1
dst host 192.168.1.1
过滤端口:
port 80
!port 80
src port 80
dst port 80
过滤协议:
arp
icmp
src host 192.168.1.1 && dst port 80 (抓取源地址为192.168.1.1,目标为80端口的流量)
!broadcast (不抓取广播包)
————
显示过滤器,是前面提到的主界面中的一栏,在已有的数据包中只查看哪些,便于观察数据包,去掉查看的过滤条件后就会重新显示所有数据包。
显示过滤规则:
比较操作符:
!=(不等于)
>(大于)
<
>=
<=
逻辑操作符:
and(两个条件同时满足)
or(其中一个满足)
xor(有且仅有一个满足)
not(没有条件满足)
IP地址:
ip,addr
ip.src
ip.dst
端口:
tcp.port
tcp.srcport
tcp.dstport
tcp.flag.syn
协议:
arp
ip
icmp
tcp
bootp
dns
例子:
过滤IP:
ip.addr == 192.168.1.1
ip.src == 192.168.1.1
ip.dst == 192.168.1.1
ip.src == 192.168.1.1 and ip.dst == 192.168.3.2
过滤端口:
tcp.port == 80
tcp.srcport == 80
tcp.dstport == 80
tcp.flag.syn == 1
过滤协议:
arp
tcp
ucp
not http
not arp
ip.src == 192.168.1.1 and tcp.dstport == 80
ip.addr == 192.168.1.1 and udp.port == 4000
————
而这些列信息也只是每个数据包的部分信息,在下一栏的数据包详细区都可以找到
如果要除去某一列详细,可以右键某一列,点击 remove this column 除去这个列信息的显示。
也可以点击 edit column 编辑列信息,会在上方多出一栏编辑框,比如把 列信息 source 的标题名字改掉。
要增加某条列信息可在数据包详细区右键数据包的某条信息,点击“应用为列”。
这里我演示的是 Time to live(TTL)应用为列信息。
可以看到列表区就多了一列 TTL 数据包存活时间的信息。
No..:每个数据包的序号,第一个第几个包,可以作为数据包捕获先后的依据。
Time:时间,捕获这一个数据包的时间。但是显示的格式0.000000 并不是我们常见的,可以在视图栏选中时间显示格式为第一条“日期和时间”。
source :这个数据包的源地址,即发送这个数据包的IP。
destination:这个数据包的目标地址,即接收这个数据包的IP。
protpcol:这个数据包的协议,比如dns、http等。
length:这个数据包的长度。
info:数据包的信息。
————
Frame: 物理层的数据帧概况
Ethernet II: 数据链路层以太网帧头部信息
Internet Protocol Version 4: 互联网层IP包头部信息
Transmission Control Protocol: 传输层T的数据段头部信息,此处是TCP
Hypertext Transfer Protocol: 应用层的信息,此处是HTTP协议