1、过滤http握手的空报文
使用wireshark打开pcap包,通过条件过滤数据长度为0的包,命令如下:
tcp.len > 0
2、过滤重复数据包
使用cmd命令窗口,进入wireshark安装目录,找到editcap.exe程序。执行editcap.exe -d命令,指定源文件(d:\input.pcap)和目标文件(d:\output.pcap),命令如下:
C:\Program Files\Wireshark>editcap.exe -d d:\input.pcap d:\output.pcap
3、过滤TCP重传数据包
使用wireshark打开pcap包,通过条件过滤tcp.analysis.retransmission的包,命令如下:
http && !(tcp.analysis.retransmission)
4、过滤TCP解析错误数据包
使用wireshark打开pcap包,通过条件过滤TCP重传,乱序,丢包,重复响应的包,命令如下:
tcp.analysis.flags && !tcp.analysis.window_update
5、常规过滤
过滤源ip、目的ip
ip.dst==192.168.101.8 #查找目的地址为192.168.101.8的包
ip.src==1.1.1.1 #查找源地址为1.1.1.1 的包
端口过滤
tcp.port==80 #把源端口和目的端口为80的都过滤出来
tcp.dstport==80 #只过滤目的端口为80的
tcp.srcport==80 #只过滤源端口为80的包
协议过滤
arp #ARP协议
icmp || icmpv6 #ICMP协议
smb || nbss || nbns || nbipx || ipxsap || netbios #Server Message Block类协议
http || tcp.port == 80 || http2 #HTTP协议,这是很简陋的识别方法
tcp.flags & 0x02 || tcp.flags.fin == 1 #TCP连接的起始和关闭报文
hsrp || eigrp || ospf || bgp || cdp || vrrp || carp || gvrp || igmp || ismp #路由类协议
eth.fcs_bad==1 || ip.checksum_bad==1 || tcp.checksum_bad==1 || udp.checksum_bad==1 || sctp.checksum_bad==1 || mstp.checksum_bad==1 || cdp.checksum_bad==1 || edp.checksum_bad==1 || wlan.fcs_bad==1 #条件中的各类协议的checksum异常
! ip.dst == 224.0.0.0/4 && ip.ttl < 5 && !pim) || (ip.dst == 224.0.0.0/24 && ip.dst != 224.0.0.251 && ip.ttl != 1 && !(vrrp || carp) #TTL异常报文
tcp.flags.reset eq 1 #TCP流被RESET报文
icmp.type eq 3 || icmp.type eq 4 || icmp.type eq 5 || icmp.type eq 11 || icmpv6.type eq 1 || icmpv6.type eq 2 || icmpv6.type eq 3 || icmpv6.type eq 4 #ICMP协议错误,协议的type字段值错误报文
http模式过滤
http.request.method=="GET" #过滤get请求的包
http.request.method=="POST" #过滤post请求的包
两个过滤条件连接符and的使用
ip.src==192.168.101.8 and http #过滤ip为192.168.101.8并且为http协议
网友评论