wireshark基本用法及過慮規則
1.過濾IP,如來源IP或者目標IP等于某個IP
<DIV style=></div>
<P style=>linux上運行的wireshark圖形窗口截圖示例,其他過慮規則操作類似,不再截圖。 </p>
<P style=>ip.src eq 10.175.168.182 </p>
<P style=>截圖示例:
</span></p>
<P style=> </p>
<P style=>提示: 在Filter編輯框中,收入過慮規則時,如果語法有誤,框會顯紅色,如正確,會是綠色。 </p>
<P style=>
</p>
<DIV style=></div> </div>
2.過濾端口
<P style=>udp.port eq 15000 </p>
<DIV style=>過濾端口范圍 </div> <DIV style=>tcp.port >= 1 and tcp.port <= 80 </div>
<DIV style=>
</div>
<DIV style=></div> </div>
3.過濾協議
<P style=>排除arp包,如!arp 或者 not arp </p>
<P style=>
</p>
<DIV style=></div> </div>
4.過濾MAC
<DIV style=>less than 小于 < lt </div> <DIV style=>小于等于 le </div>
<DIV style=>等于 eq </div> <DIV style=>大于 gt </div>
<DIV style=>大于等于 ge </div>
<DIV style=>不等 ne </div>
<DIV style=>
</div>
<DIV style=></div> </div>
5.包長度過濾
<P style=>eth —> ip or arp —> tcp or udp —> data </p>
<P style=>
</p>
<DIV style=></div> </div>
6.http模式過濾
<DIV style=></div>
<DIV style=>// GET包 </div> <DIV style=>http.request.method == “GET” && http contains “Host: “ </div>
<DIV style=>http.request.method == “GET” && http contains “User-Agent: “ </div>
<DIV style=>// POST包 </div>
<DIV style=>http.request.method == “POST” && http contains “Host: “ </div>
<DIV style=>http.request.method == “POST” && http contains “User-Agent: “ </div>
<DIV style=>// 響應包 </div>
<DIV style=>http contains “HTTP/1.1 200 OK” && http contains “Content-Type: “ </div>
<DIV style=>http contains “HTTP/1.0 200 OK” && http contains “Content-Type: “ </div>
<DIV style=>一定包含如下 </div>
<DIV style=>Content-Type: </div>
<DIV style=>
</div>
7.TCP參數過濾
<DIV style=></div> </div>
<DIV style=></div>
8.包內容過濾
<DIV style=></div> </div>
<DIV style=></div> <DIV style=>-----------------------------------------------</span> </div>
<DIV style=>tcp[20]表示從20開始,取1個字符 </div>
<DIV style=>
<DIV style=>udp[8:3]==81:60:03 // 偏移8個bytes,再取3個數,是否與==后面的數據相等? </div> <DIV style=>udp[8:1]==32 如果我猜的沒有錯的話,應該是udp[offset:截取個數]=nValue </div>
<DIV style=>eth.addr[0:3]==00:06:5B </div>
<DIV style=>例子: </div> <DIV style=>判斷upd下面那塊數據包前三個是否等于0x20 0x21 0x22 </div>
<DIV style=>我們都知道udp固定長度為8 </div>
<DIV style=>udp[8:3]==20:21:22 </div>
<DIV style=>判斷tcp那塊數據包前三個是否等于0x20 0x21 0x22 </div> <DIV style=>tcp一般情況下,長度為20,但也有不是20的時候 </div>
<DIV style=>tcp[8:3]==20:21:22 </div>
<DIV style=>如果想得到最準確的,應該先知道tcp長度 </div>
<DIV style=>matches(匹配)和contains(包含某字符串)語法</span></span> </div> <DIV style=>ip.src==192.168.1.107 and udp[8:5] matches “\\x02\\x12\\x21\\x00\\x22″ ------???--------</span> </div>
<DIV style=>ip.src==192.168.1.107 and udp contains 02:12:21:00:22</span> </div>
<DIV style=>udp contains 7c:7c:7d:7d 匹配payload中含有0x7c7c7d7d的UDP數據包,不一定是從第一字節匹配。</span> </div>
<DIV style=>
</div>
<DIV style=>-------------------------------------- 不理解 Begin------------------------------------------------------------------------------------ </div>
<DIV style=>例子: </div>
<DIV style=>0x02 xx xx 0x00 0x22 … 0x03</span> </div>
<DIV style=>如何拼寫過慮條件??? </div>
<DIV style=>udp[11:2]==00:80 表示命令編號為00:80 </div>
<DIV style=>當命令編號為00:80時,QQ號碼為00:00:00:00 </div>
<DIV style=>得到msn登陸成功賬號(判斷條件是”USR 7 OK “,即前三個等于USR,再通過兩個0x20,就到OK,OK后面是一個字符0x20,后面就是mail了) </div> <DIV style=>USR xx OK mail@hotmail.com </div>
<DIV style=>正確 </div>
<DIV style=>msnms and tcp and ip.addr==192.168.1.107 and tcp[20:] matches “^USR\\x20[\\x30-\\x39]+\\x20OK\\x20[\\x00-\\xff]+” </div>
<DIV style=>
</div>
<DIV style=></div> </div>
9.dns模式過濾
<DIV style=></div>
<DIV style=>
</span></div>
<DIV style=></div> </div>
10.DHCP
<DIV style=></div> <DIV style=>注意:DHCP協議的檢索規則不是dhcp/DHCP, 而是bootp</span> </div>
<DIV style=></div> </div>
11.msn
12. wireshark字符串過慮語法字符
如下內容轉自:http://www.csna.cn/viewthread.php?tid=14614
類似正則表達式的規則。
1、wireshark基本的語法字符
eth.addr[0:3]==00:1e:4f 搜索過濾MAC地址前3個字節是0x001e4f的數據包。
來自:http://blog.csdn.net/hzhsan/article/details/43453251