wiresharketh过滤二层
㈠ Wireshark过滤规则及使用方法
Wireshark是一个强大的网络分析工具,其过滤规则和使用方法有助于我们精确地筛选和分析网络数据。以下是Wireshark中常用的过滤规则及其应用实例:
1. IP过滤
通过 "ip.src eq 192.168.1.107" 或 "ip.dst eq 192.168.1.107" 来查看特定IP的数据包,Linux上的Wireshark会显示符合规则的包。
2. 端口过滤
如 "tcp.port eq 80" 显示TCP端口为80的包,或者 "udp.port eq 80 or tcp.port eq 2722" 显示目标端口为80的UDP或TCP包。
3. 协议过滤
通过 "tcp" 或 "udp" 或 "arp" 等关键字来过滤特定协议的包,如 "!arp" 用于排除ARP包。
4. MAC过滤
如 "eth.dst == A0:00:00:04:C5:84" 过滤目标MAC地址,"eth.src eq A0:00:00:04:C5:84" 过滤源MAC地址。
5. 包长度过滤
如 "udp.length == 26" 用于过滤长度为26字节的UDP包,"tcp.len >= 7" 指的是包含IP数据的TCP包。
6. HTTP模式过滤
"http.request.method == 'GET'" 查找GET请求,"http.request.uri == '/img/logo-e.gif'" 过滤指定URI的HTTP包。
7. TCP参数过滤
"tcp.flags.syn == 0x02" 显示包含SYN标志的TCP包,"tcp.window_size == 0" 过滤窗口大小为0的包。
8. 包内容过滤
使用 "matches" 和 "contains" 语法,如 "udp[8:3]==20:21:22" 查找特定内容的UDP数据包。
9. 其他过滤
- DHCP: 过滤非来自DHCP服务器的bootp包,如 "bootp.type==0x02 and not ip.src==192.168.1.1"。
- MSN: 使用 "msnms && tcp[20:3]==”USR”" 来查找命令编码为USR的包。
通过这些过滤规则,Wireshark让你能更有效地分析和定位网络流量中的关键信息。记得在使用时检查语法的正确性,绿色的过滤框表示成功应用规则。
㈡ wireshark使用教程及过滤语法总结——血泪史的汇聚
wireshark是一款功能强大的网络封包分析软件,适用于网络管理员、软件测试工程师、从事socket编程的工程师等。它具备界面简洁、操作便捷、实时显示捕获数据的优点,且完全开源,适用于多平台,如MS Windows、Mac OS、Linux、FreeBSD等。wireshark主要功能包括捕获、解析网络封包并显示详细信息,但不具有修改封包内容或发送封包的能力。对于网络相关的工作,wireshark都是一个非常实用的工具。
使用wireshark需要具备一定的网络协议知识。软件本身提供了丰富的过滤功能帮助用户在大量数据中快速筛选出所需信息。过滤器分为捕捉过滤器和显示过滤器两种,捕捉过滤器用于控制捕获的数据量,显示过滤器则用于在捕获结果中查找特定信息。过滤器的语法复杂,涉及协议、方向、地址、比较运算符等元素,通过正确使用过滤表达式可以高效地定位所需数据包。
以下是一些过滤表达式的实例,展示如何根据不同需求进行筛选:
- 查看HTTP协议的记录:http
- 源地址或目标地址是192.168.1.102:ip.src ==192.168.1.102 or ip.dst==192.168.1.102
- 过滤目标或来源地址为00:11:22:33:44:55的数据包:eth.addr== 00:11:22:33:44:55
- 显示目的TCP端口为3128的封包:tcp dst port 3128
- 显示来源IP地址为10.1.1.1的封包:ip src host 10.1.1.1
- 显示目的或来源IP地址为10.1.2.3的封包:src net 10.1.2.3/32
- 显示来源为UDP或TCP,并且端口号在2000至2500范围内的封包:src portrange 2000-2500
- 显示来源IP为10.4.1.12或者来源网络为10.6.0.0/16,目的地TCP端口号在200至10000之间,并且目的位于网络 10.0.0.0/8内的所有封包:(src host 10.4.1.12 or src net 10.6.0.0/16) and tcp dst portrange 200-10000 and dst net 10.0.0.0/8
在wireshark使用中,正确设置过滤器是高效分析网络数据的关键。通过实践和熟悉各种过滤表达式,可以极大地提高网络分析的效率和准确性。
㈢ wireshark常用过滤规则
可使用单个或多个过滤条件(可使用==,>=等),多个条件时使用and or进行连接
例子:ip.src ==192.168.1.107 or ip.dst ==192.168.1.107
例子:
tcp.port eq 80 // 不管端口是来源的还是目标的都显示
tcp.port == 80
tcp.dstport == 80 // 只显tcp协议的目标端口80tcp.srcport == 80 // 只显tcp协议的来源端口80
过滤端口范围tcp.port >= 1 and tcp.port <= 80
例子:
tcp udp arp icmp http smtp ftp dns等等
排除arp包,如!arp 或者 not arp
例子太以网头过滤
eth.dst == A0:00:00:04:C5:84 // 过滤目标mac
eth.src eq A0:00:00:04:C5:84 // 过滤来源mac
例子:
udp.length == 26 这个长度是指udp本身固定长度8加上udp下面那块数据包之和
tcp.len >= 7 指的是ip数据包(tcp下面那块数据),不包括tcp本身
ip.len == 94 除了以太网头固定长度14,其它都算是ip.len,即从ip本身到最后
frame.len == 119 整个数据包长度,从eth开始到最后
例子:
http.request.method == “GET”
http.request.method == “POST”
http.request.uri == “/img/logo-e.gif”
http contains “GET”
http contains “HTTP/1.”
tcp.flags 显示包含TCP标志的封包。
tcp.flags.syn == 0x02 显示包含TCP SYN标志的封包。
tcp contains "关键字"
9.报文
https://wiki.wireshark.org/SampleCaptures
㈣ wareshark 怎么用mac过滤
首先我们在wireshark抓到数据包的前提下,在Filter处讲解基于以太网数据头的MAC进行过滤的表达式写法。首先介绍命令:eth.addr eq e0:db:55:8e:8d:dd。查询出来以太网头数据内源MAC以及目的MAC为e0:db:55:8e:8d:dd的数据包。
介绍过滤表达式:eth.src eq e0:db:55:8e:8d:dd,表示查询出来以太网头数据内源MAC为e0:db:55:8e:8d:dd的数据包。
介绍表达式:eth.dst eq e0:db:55:8e:8d:dd,表示查询出来以太网头数据内目的MAC为e0:db:55:8e:8d:dd的数据包。
介绍表达式:eth.addr lt e0:db:55:8e:8d:dd,表示查询出来以太网头数据内源MAC以及目的MAC小于e0:db:55:8e:8d:dd的数据包。
备注:在表达式处写法支持:等于--写法为 eq 或者==;
小于--写法为 lt ;
大于--写法为 gt ;
小于或等于--写法为 le;
大于或者等于--写法为 ge;
不等 ---写法为 ne;
本篇实例采用了lt表示小于。
下面我们介绍居于数据包的长度进行过滤。首先介绍表达式:udp.length ==95,表示查询出来udp协议的数据包,且数据包长度为95的数据包。
备注:此处udp数据包长度+ip头部长度(20)+以太网头部(14)=整体数据包的长度。
介绍表达式:tcp.len >= 29,代表查询出来tcp协议的数据包,且包长度大于等于29的数据包。
备注:此处tcp数据包长度+tcp头部(20)+ip头部(20)+以太网头部(14)=整体数据包长度。
介绍表达式:ip.len eq 41。表示查询ip数据包,且包长度为41的数据包。
备注:此处ip数据包长度+以太网头(14)=整体数据包长度。
介绍表达式:frame.len eq 55。表示查询出来整体包长度为55的数据包。
整体介绍包长度表达式中间eq还可换成lt(小于),le(小于等于),gt(大于),ge(大于等于),ne(不等于)。