Wireshark提供了两种过滤器:
捕获过滤器:在抓包以前就设定好过滤条件,而后只抓取符合条件的数据包。
显示过滤器:在已捕获的数据包集合中设置过滤条件,隐藏不想显示的数据包,只显示符合条件的数据包。
须要注意的是,这两种过滤器所使用的语法是彻底不一样的,想一想也知道,捕捉网卡数据的其实并非Wireshark,而是WinPcap,固然要按WinPcap的规则来,显示过滤器就是Wireshark对已捕捉的数据进行筛选。php
使用捕获过滤器的主要缘由就是性能。若是你知道并不须要分析某个类型的流量,那么能够简单地使用捕获过滤器过滤掉它,从而节省那些会被用来捕获这些数据包的处理器资源。当处理大量数据的时候,使用捕获过滤器是至关好用的。
新版Wireshark的初始界面很是简洁,主要就提供了两项功能:先设置捕获过滤器,而后再选择负责抓包的网卡。因而可知捕获过滤器的重要性。html
Wireshark拦截经过网卡访问的全部数据,没有设置任何代理mysql
Wireshark不能拦截本地回环访问的请求,即127.0.0.1或者localhostnginx
显示过滤器:sql
下面是Wireshark中对http请求的拦截,注意不包含httpscookie
http.request.uri contains "product"
连接地址中包含product的请求,不算域名tcp
http.host==shanghai.rongzi.com
过滤域名post
http.host contains rongzi.com
更模糊的过滤,能够有多个二级域名性能
http.content_type =="text/html"
content_type类型过滤测试
http.request.uri=="/product/"
完整地址过滤,有参数的话就不合适这样过滤
http.request.method=="GET"
tcp.port==80
http && tcp.port==8613 or tcp.port==8090 or tcp.port==8091
ip.dst==42.159.245.203
搜集:
http.host==magentonotes.com http.host contains magentonotes.com //过滤通过指定域名的http数据包,这里的host值不必定是请求中的域名 http.response.code==302 //过滤http响应状态码为302的数据包 http.response==1 //过滤全部的http响应包 http.request==1 //过滤全部的http请求,貌似也可使用http.request http.request.method==POST //wireshark过滤全部请求方式为POST的http请求包,注意POST为大写 http.cookie contains guid //过滤含有指定cookie的http数据包 http.request.uri==”/online/setpoint” //过滤请求的uri,取值是域名后的部分 http.request.full_uri==” http://task.browser.360.cn/online/setpoint” //过滤含域名的整个url则须要使用http.request.full_uri http.server contains “nginx” //过滤http头中server字段含有nginx字符的数据包 http.content_type == “text/html” //过滤content_type是text/html的http响应、post包,即根据文件类型过滤http数据包 http.content_encoding == “gzip” //过滤content_encoding是gzip的http包 http.transfer_encoding == “chunked” //根据transfer_encoding过滤 http.content_length == 279 http.content_length_header == “279″ //根据content_length的数值过滤 http.server //过滤全部含有http头中含有server字段的数据包 http.request.version == “HTTP/1.1″ //过滤HTTP/1.1版本的http包,包括请求和响应 http.response.phrase == “OK” //过滤http响应中的phrase
捕捉过滤器:
捕捉--》捕捉过滤器
捕捉--》选项--》
点击开始就开始捕捉数据。
经过测试发现,上面用例是用的域名,可是实际是用的ip,由于不少不一样域名,可是相同ip的数据也能够被捕捉到!
具体的规则能够看下面的连接,里面有不少例子。
Wireshark捕捉mysql语句:
mysql.query contains "SELECT"
http://www.cnblogs.com/wangkangluo1/archive/2011/12/19/2293750.html
http://yttitan.blog.51cto.com/70821/1737031
http://yttitan.blog.51cto.com/70821/1734425