Wireshark过滤语法详解

需积分: 18 42 下载量 83 浏览量 更新于2024-11-03 1 收藏 15KB DOCX 举报
"Wireshark过滤技术详解" Wireshark是一款强大的网络封包分析软件,它允许用户捕获并深入分析网络流量。过滤功能是Wireshark的核心特性之一,可以帮助用户快速定位和理解网络通信中的特定信息。以下是对Wireshark过滤语法的详细解释: 1. 过滤IP地址: Wireshark可以过滤基于源IP或目标IP的数据包。例如,`ip.srceq192.168.1.107`将显示所有源IP为192.168.1.107的数据包,而`ip.dsteq192.168.1.107`则筛选目标IP为同一地址的数据包。`ip.addreq192.168.1.107`同时匹配源IP和目标IP。 2. 过滤端口: 要过滤特定端口,可以使用`tcp.port`或`udp.port`。例如,`tcp.porteq80`将显示所有TCP端口80的数据包,而`tcp.srcport==80`和`tcp.dstport==80`分别过滤源端口和目标端口为80的TCP包。若要过滤多个端口,如TCP 80和UDP 80,可以使用`tcp.porteq80orudp.porteq80`。同时,`tcp.port>=1andtcp.port<=80`会显示TCP端口在1到80之间的所有数据包。 3. 过滤协议: Wireshark支持多种协议的过滤,如`tcp`, `udp`, `arp`, `icmp`, `http`, `smtp`, `ftp`, `dns`, `msn`, `msipss`, `lol`, `icq`, `bootp`, `smb`等。例如,`!arp`或`not arp`可以排除所有ARP包。 4. 过滤MAC地址: 在以太网层面,可以过滤特定MAC地址。`eth.dst==A0:00:00:04:C5:84`筛选目标MAC为A0:00:00:04:C5:84的数据包,`eth.srceqA0:00:00:04:C5:84`则是筛选源MAC。还可以用`eth.addreqA0:00:00:04:C5:84`来过滤源和目标MAC都是该值的数据包。MAC地址的表示形式也可以是短格式,如`eth.dst==A0-00-00-04-C5-84`。 5. 包长度过滤: 用户可以根据数据包的长度进行筛选。例如,`udp.length==26`将显示UDP负载长度为26字节的包,`tcp.len>=7`会显示IP层TCP数据长度至少为7字节的包(不包括TCP头部),`ip.len==94`则筛选IP包总长度为94字节(不包括以太网头部)。`frame.len==119`会显示整个数据包长度为119字节,包括所有层的头部。 6. HTTP模式过滤: 对于HTTP流量,可以依据请求方法或URI进行过滤。`http.request.method=="GET"`和`http.request.method=="POST"`分别显示GET和POST请求。`http.request.uri=="/img/logo-edu.gif"`会过滤出请求URI为"/img/logo-edu.gif"的HTTP请求。`http.contains`和`http.contain`可以用于查找HTTP报文体中包含特定字符串的请求。 通过灵活运用这些过滤规则,用户能够高效地分析网络流量,定位问题,或者监控特定网络行为。记住,过滤表达式可以组合使用,以实现更复杂的筛选条件。同时,Wireshark还提供了交互式的过滤器构建工具,帮助用户直观地创建和测试过滤规则。