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