本機環回包
在進行通信開發的過程中,我們往往會把本機既作為客戶端又作為服務器端來調試代碼,使得本機自己和自己通信。但是wireshark此時是無法抓取到數據包的,需要通過簡單的設置才可以。 具體方法如下:
①:以管理員身份運行cmd
②:route add 本機ip mask 255.255.255.255 網關ip
例如: route add 172.16.51.115 mask 255.255.255.255 172.16.1.1 metric 1
使用完畢后用 route delete 172.16.51.115 mask 255.255.255.255 172.16.1.1 metric 1 刪除,否則所有本機報文都經過網卡出去走一圈回來很耗性能
此時再利用wireshark進行抓包便可以抓到本機自己同自己的通信包,這樣配置的原因是將發往本機的包發送到網關,而此時wireshark可以捕獲到網卡驅動的報文實現抓包。
WireShark語法
- 基本語法:
等於:==
小於:<
並且:&&
或者:|| - 過濾來源IP或者目標IP:
ip.src == 192.168.1.107 ;
ip.dst == 192.168.1.107;
ip.addr == 192.168.1.107; - 過濾端口:
tcp.port == 80; udp.port == 80; tcp.dstport == 80; // 只顯tcp協議的目標端口80 tcp.srcport == 80; // 只顯tcp協議的來源端口80
- 過濾MAC:
eth.dst == A0:00:00:04:C5:84; eth.src == A0-00-00-04-C5-84;
- 包長度過濾:
udp.length == 26 這個長度是指udp本身固定長度8加上udp下面那塊數據包之和
tcp.len >= 7 指的是ip數據包(tcp下面那塊數據),不包括tcp本身
ip.len == 94 除了以太網頭固定長度14,其它都算是ip.len,即從ip本身到最后 frame.len == 119 整個數據包長度,從以太網開始到最后 - HTTP過濾:
http 只顯示http報文
ssl 只顯示ssl加密報文(https)
http.request.method == "GET" http.request.method == "POST" http.request.full_uri==” http://task.browser.360.cn/online/setpoint” http.request.uri == "/online/setpoint" http.content_type == "text/html" http.response.code==302