一 wireshark抓包命令
wireshark抓包的命令相对于tcpdump感觉还是比较简单的,毕竟界面更容易操作。同上一篇类似,主要还是讲平时在windows开发时用得比较多的抓包命令,不会特别难,难是难在要抓到精确的包和正确的过滤。
1 wireshark的主要过滤方式
wireshark的主要过滤方式和上一篇tcpdump的主要过滤方式实际上无差别,都是按一定的方式进行过滤。
2 HTTP模式过滤
这里讲一下关于HTTP模式过滤的方式,当然其它协议的过滤方法大体相同,反正我用到什么的时候就总结什么,大家主要按照例子归纳即可,毕竟抓包语句千变万化。
注意,下面的过滤的意思是将符合该信息的内容显示出来,即将过滤换成查看更方便理解。看部分例子即可。
//过滤经过指定域名的http数据包,这里的host值不一定是请求中的域名,也有可能是响应
http.host == magentonotes.com
http.host contains magentonotes.com
//过滤http响应状态码为200的数据包
http.response.code == 200
//过滤所有的http响应包
http.response==1
由于200和响应一样的意思,所以过滤的结果一样。
//过滤所有的http请求,使用http.request结果一样
http.request == 1
下面结果多了一些SSDP协议,我们不需要理会,只需要看深色的HTTP请求即可。
//wireshark过滤所有请求方式为POST的http请求包,注意POST为大写
http.request.method == POST
//过滤含有指定cookie的http数据包
http.cookie contains guid
//过滤请求的uri,取值是域名后的部分。例如http://szextshort.weixin.qq.com/mmtls/00003353,去掉域名后为:/mmtls/00003353。
http.request.uri==”/mmtls/00003353”
//过滤含域名的整个url则需要使用http.request.full_uri,例如上面的例子
http.request.full_uri == "http.request.full_uri == "http://szextshort.weixin.qq.com/mmtls/00003353""
//过滤http头中server字段含有nginx字符的数据包
http.server contains "nginx"
//过滤content_type是text/html的http响应、post包,即根据文件类型过滤http数据包
http.content_type == "text/html"
//过滤content_encoding是gzip的http包
http.content_encoding == "gzip"
//根据transfer_encoding过滤
http.transfer_encoding == "chunked"
//根据content_length的数值过滤
http.content_length == 279
http.content_length_header == "279"
//过滤所有含有http头中含有server字段的数据包
http.server
//过滤HTTP/1.1版本的http包,包括请求和响应
http.request.version == "HTTP/1.1"
同上面,我们不需要理会SSDP的包,只需要看深色的HTTP包即可。
//过滤http响应中的phrase
http.response.phrase == "OK"
17.
//抓两个主机的http包
ip.addr == 10.212.143.11 and tcp.port == 38080 and http
3 wireshark抓sip国标的包
关于Linux或者Windows抓国标的包,上一篇tcpdump已经讲得很清楚了,这里不再讲述。