【最详细】Wireshark使用教程(一):
https://developer.aliyun.com/article/1540676
4.3 协议过滤
tcp
,udp
,arp
,icmp
,http
,smtp
,ftp
,dns
,msnms
,ip
,ssl
,oicq
,bootp
等。排除的化,前面加个‘!’或者‘not’。
只显示tcp报文
在tcp后面打个‘.’,可以看到,是可以根据协议的字段进行过滤的
比如,过滤ack的包,可以看到,下面的所有包都是带ack==1的包
过滤http包,以及dns包,以及ssl包
4.4 其他常用过滤
过滤HTTP的GET请求和POST请求,以及HTTP过滤内容
http.request.method == GET
http.request.method == POST
过滤HTTP协议的响应包,响应码是200的
http contains "HTTP/1.1 200 OK"
用contains字段过滤内容,如 过滤HTTP协议Content-Type类型,Content-Type: text/plain;tcp包含admin
http contains "Content-Type: text/plain"
tcp contains "admin"
过滤包的指定的字段:协议[其实位置:长度]
举个例子:tcp协议,从第2个字符开始(起始是0,不是1,这个2是偏移的位置),长度为3,内容为01,bb,eb
tcp[2:3] == 01:bb:eb
过滤规则是支持正则语法的,使用的是matches,不是contains
例如:tcp中包含user字段的,tcp matches ".GET"
,是包含GET
的包,.GET
是正则表达式,如果用tcp contains ".GET"
,contains把.GET
当初字符串
5.流查看
数据包位置,点击鼠标右键,可以跟进不同的协议选择不同的流查看,我们可以先选tcp流进行跟踪。
点击之后,会看到这条tcp流上的所有请求和回复
有些流是密文的,查看的时候就是乱码,比如ssl的,如果follow的是ssl的流,查看的是空。
6.数据包保存
wireshark可以把抓到的数据包保存成文件,点击File,可以把抓到是数据包保存save/save as,也可以把之前保存的数据包打开open
可以选择保存特殊的包Export Specified Packetes
,在下面选择Selected packet
选择你要保存的包。
说明
Linux下也可以安装wireshark:
yum install wireshark
yum install wireshark-gnome
如果需要图形界面,要UI支持要安装gnome,Linux下重点讲一下另外一种抓包工具tcpdump,可以保存结果,在wireshark中查看,后面讲。
wiresharkd的基本常用用法,足够进行协议分析。
总结
掌握wireshark使用,在网络数据分析中是非常有用的