WireShark的过滤语法

此篇分享一些今天学到的一些数据包分析知识点

最想到的地方,怎么能半路就返航。

捕捉过滤器和过滤器的区别
捕捉过滤器(CaptureFilters):用于决定将什么样的信息记录在捕捉结果中。需要在开始捕捉前设置。
显示过滤器(DisplayFilters):在捕捉结果中进行详细查找。

捕捉过滤器是数据经过的第一层过滤器,它用于控制捕捉数据的数量,以避免产生过大的日志文件。显示过滤器是一种更为强大(复杂)的过滤器。它允许您在日志文件中迅速准确地找到所需要的记录。二者语法完全不同。

今天说的是显示过滤器的语法
注意事项:
当使用关键字作为值时,需使用反斜杠“/”
“ether proto /ip” (与关键字”ip”相同).
这样写将会以IP协议作为目标。
“ip proto /icmp” (与关键字”icmp”相同).
这样写将会以ping工具常用的icmp作为目标。

Comparison operators (比较运算符):
英文写法: C语言写法: 含义:
eq == 等于
ne != 不等于
gt > 大于
lt < 小于
ge >= 大于等于
le <= 小于等于
Logical expressions(逻辑运算符):
英文写法: C语言写法: 含义:
and && 逻辑与
or || 逻辑或
xor ^^ 逻辑异或
not !

ip过滤

ip.addr == 10.1.1.1
#显示来源或目的为10.1.1.1
ip.src != 10.1.2.3 or ip.dst != 10.4.5.6
#src(来源) dst(目的)
ip.src == 10.1.2.3 and ip.dst == 10.4.5.6

端口过滤

tcp.port == 25  #显示来源或目的TCP端口为25的封包
tcp.dstport == 25
tcp.flags #显示包含TCP标志的封包
tcp.flags.syn == 0x02 #显示包含TCP SYN标志的封包

文件还原
2种方法:
(1)选择对象导出
WireShark的过滤语法_第1张图片
(2)注意选择原始数据导出WireShark的过滤语法_第2张图片
字符串匹配

upper(http.request.uri) contains "ONLINE"
#contain的用法
http.request.uri contains "online" #请求中包含online

#特定偏移处值的过滤
tcp[20:3] == 47:45:54  /#16进制形式,tcp头部一般是20字节,所以这个是对payload的前三个字节进行过滤 
http.host[0:4] == "trac"

#过滤中函数的使用(upper、lower)
upper(string-field) - converts a string field to uppercase
lower(string-field) - converts a string field to lowercase

# Http模式过滤
 http.request.method=="GET" #只显示HTTP GET方法的
 
#想过滤出data数据包中包含"abcd"内容的数据流。包含的关键词是contains 后面跟上内容
data contains "abcd"

WireShark的过滤语法_第3张图片

发现一个练习网安技能的好平台墨者学院,安利给大家,加油!
参考:
https://blog.csdn.net/chrycoder/article/details/86525316
https://www.jianshu.com/p/1998545dc5b8
https://blog.csdn.net/cumirror/article/details/7054496
(详细)https://www.cnblogs.com/linyfeng/p/9496126.html

你可能感兴趣的:(wireshark)