wireshark 过滤规则
2014-07-08 11:27
218 查看
捕捉过滤器--捕捉前依据协议的相关信息进行过滤设置
语法: | Protocol | Direction | Host(s) | Value | Logical Operations | Other expression |
例子: | tcp | dst | 10.1.1.1 | 80 | and | tcp dst 10.2.2.2 3128 |
(host 10.4.1.12 or src net 10.6.0.0/16) and tcp dst portrange 200-10000 and dst net 10.0.0.0/8 |
Protocol(协议):
可能值: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp.
如果没指明协议类型,则默认为捕捉所有支持的协议。
注:在wireshark的HELP-Manual Pages-Wireshark Filter中查到其支持的协议。
Direction(方向):
可能值: src, dst, src and dst, src or dst
如果没指明方向,则默认使用 “src or dst” 作为关键字。
”host 10.2.2.2″与”src or dst host 10.2.2.2″等价。
Host(s):
可能值: net, port, host, portrange.
默认使用”host”关键字,”src 10.1.1.1″与”src host 10.1.1.1″等价。
Logical Operations(逻辑运算):
可能值:not, and, or.
否(“not”)具有最高的优先级。或(“or”)和与(“and”)具有相同的优先级,运算时从左至右进行。
“not tcp port 3128 and tcp port 23″与”(not tcp port 3128) and tcp port 23″等价。
“not tcp port 3128 and tcp port 23″与”not (tcp port 3128 and tcp port 23)”不等价。
显示过滤器--对捕捉到的数据包依据协议或包的内容进行过滤
1.协议过滤语法语法: | Protocol | . | String 1 | . | String 2 | Comparison operator | Value | Logical Operations | Other expression |
例子: | http | request | method | == | "POST" | or | icmp.type |
依据协议过滤时,可直接通过协议来进行过滤,也能依据协议的属性值进行过滤。
按协议进行过滤:
snmp || dns || icmp | 显示SNMP或DNS或ICMP封包。 |
ip.addr == 10.1.1.1 |
ip.src != 10.1.2.3 or ip.dst != 10.4.5.6 |
ip.src == 10.230.0.0/16 | 显示来自10.230网段的封包。 |
tcp.port == 25 | 显示来源或目的TCP端口号为25的封包。 |
tcp.dstport == 25 | 显示目的TCP端口号为25的封包。 |
http.request.method== "POST" | 显示post请求方式的http封包。 |
http.host == "tracker.1ting.com" | 显示请求的域名为tracker.1ting.com的http封包。 |
tcp.flags.syn == 0×02 | 显示包含TCP SYN标志的封包。 |
可以使用6种比较运算符:
英文写法: | C语言写法: | 含义: |
eq | == | 等于 |
ne | != | 不等于 |
gt | > | 大于 |
lt | < | 小于 |
ge | >= | 大于等于 |
le | <= | 小于等于 |
英文写法: | C语言写法: | 含义: |
and | && | 逻辑与 |
or | || | 逻辑或 |
xor | ^^ | 逻辑异或 |
not | ! | 逻辑非 |
2.1深度字符串匹配
contains :Does the protocol, field or slice contain a value
示例
tcp contains "http" | 显示payload中包含"http"字符串的tcp封包。 |
http.request.uri contains "online" | 显示请求的uri包含"online"的http封包。 |
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
示例
upper(http.request.uri) contains "ONLINE"
wireshark过滤支持比较运算符、逻辑运算符,内容过滤时还能使用位运算。
如果过滤器的语法是正确的,表达式的背景呈绿色。如果呈红色,说明表达式有误。
参考 :
http://blog.csdn.net/cumirror/article/details/7054496
http://www.derekblog.com/2010/05/17/wireshark-filters/
相关文章推荐
- wireshark的一些过滤规则
- wireshark过滤规则及使用方法
- wireshark 过滤规则
- wireshark 过滤规则
- wireshark抓包的过滤规则
- Wireshark技巧-协议过滤规则与显示规则
- wireshark过滤规则
- wireshark 如何写过滤规则
- Wireshark-BPF过滤规则
- WireShark过滤规则
- Wireshark过滤规则语法
- wireshark过滤规则及使用方法
- wireshark过滤规则
- wireshark 过滤规则
- wireshark抓包后查看数据报时的过滤规则/过滤语法及举例说明
- wireshark 过滤规则(持续更新...)
- Wireshark过滤规则之:http数据包
- wireshark过滤规则
- wireshark过滤规则
- wireshark过滤规则