wireshark抓包过滤器语法及示例 ===================================================================== BPF语法(Berkeley Packet Filter),基于libpcap/wincap库 语句间语法:<Expressions><Logical operations><Expressions> <Expressions>语句内部语法:<Protocol name><Direction><Host(s)><Value> 1.protocol可选值:ether,fddi,ip,arp,rarp,decnet,lat,tcp,dns等等协议 2.direction可选值:src,dst,src and dst,src or dst,默认为src or dst 3.host(s)可选值:net,port,host,portrange。默认为host,如 src 192.168.0.100 等价于src host 192.168.0.100 4.logical可选值:and,or,not(其中not鱼油最高优先级,and和or优先级相同),运算顺序:从左至右 ---------------------------------------------------------------- 以下为抓包过滤器实例: tcp dst port 3128 显示目的TCP端口为3128的封包。 ip src host 10.1.1.1 显示来源IP地址为10.1.1.1的封包。 host 10.1.2.3 显示目的或来源IP地址为10.1.2.3的封包。 src portrange 2000-2500 显示来源为UDP或TCP,并且端口号在2000至2500范围内的封包。 not imcp 显示除了icmp以外的所有封包。(icmp通常被ping工具使用) src host 10.7.2.12 and not dst net 10.200.0.0/16 显示来源IP地址为10.7.2.12,但目的地不是10.200.0.0/16的封包。 (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 显示来源IP为10.4.1.12或者来源网络为10.6.0.0/16,目的地TCP端口号在200至10000之间,并且目的位于网络10.0.0.0/8内的所有封包。wireshark抓包过滤器语法及示例
wireshark显示过滤器语法及表达式示例 ================================================================================================= 显示过滤器的规则和抓包过滤器的规则略有不同! 语句间语法:<Expressions><Logical operations><Expressions> <Expressions>语句内部语法:<Protocol>.<string1>.<string2><comparison operator><value> 比较操作符:== != > < >= <= 逻辑操作符:and/or/xor(有且仅有一个条件被满足)/not IP地址:ip.addr/ip.src/ip.dst 端口过滤:tcp.port/tcp.srcport/tcp.dstport/tcp.flag.syn/tcp.flag.ack 协议:arp/ip/icmp/udp/tcp/bootp/dns ------------------------------------------------------------------------------------------------------- 如果过滤器的语法是正确的,表达式的背景呈绿色。如果呈红色,说明表达式有误。 提示: 1.在展示过滤器手动输入过滤规则时,会自动弹出一些过滤条件 2.右键菜单-设置过滤规则时,可以右击的对象包括源IP,目的IP,协议,也可以在数据包解析区右击数据。 3.在展示过滤器判断的Expression按键,可以使用像选择题一样,配置出过滤规则 1.针对IP地址的过滤: ip.src == 192.168.0.1 #源地址 ip.dst == 192.168.0.1 #目的地址 ip.addr == 192.168.0.1 #源或者目的地址 !(ip.src == 192.168.0.1) #排除 ip.src != 10.1.2.3 #排除 2.针对协议的过滤 http #根据协议名进行过滤 http or telnet #过滤多种协议 tcp || udp #过滤多种协议 not arp #排除某种协议 !tcp #排除某种协议 3.针对端口的过滤 tcp.port == 80 #某一端口 tcp.dstport == 25 #某一目的端口 udp.port >= 2048 #多端口(捕获高端口) tcp.dstport>=33758 or tcp.dstport<=33755 #多端口 tcp.dstport>=33758 and tcp.srcport==20 #多端口 4.针对长度和内容的过滤 tcp.len eq 1 udp.length < 30 #数据段的长度 http.content_length <=20 #数据段的长度 http.request.uri matches “vipscu” #数据包内容(匹配http请求中含有vipscu字段的请求信息) tcp.payload eq 01 5.深度字符串匹配 tcp contains "http" #显示payload中包含”http”字符串的tcp封包。 tcp contains "22222" http.request.uri contains "online" #显示请求的uri包含”online”的http封包。 tcp contains "id=abcdafeafeagfeagfaraera1242dfea" frame contains "id=abcdafeafeagfeagfaraera1242dfea" ip contains "id=abcdafeafeagfeagfaraera1242dfea" http contains "id=abcdafeafeagfeagfaraera1242dfea" 6.特定偏移处值的过滤 tcp[20:3] == 47:45:54 #16进制形式,tcp头部一般是20字节,所以这个是对payload的前三个字节进行过滤 http.host[0:4] == “trac” # 7.使用函数(upper、lower) 函数upper、lower upper(string-field) - converts a string field to uppercase lower(string-field) - converts a string field to lowercase 示例 upper(http.request.uri) contains “ONLINE” #wireshark过滤支持比较运算符、逻辑运算符,内容过滤时还能使用位运算。 8.补充示例: tcp.flags.reset eq 1 #根据tcp RST标志位进行过滤 tcp.flags.fin eq 1 tcp.flags.reset eq 1 tcp.seq eq 1 #根据TCP报文序列号进行过滤 tcp.ack_raw == 754313633 frame.time >="dec 01, 2015 15:49:48" and frame.time <="dec 01, 2015 15:49:49" #二层报头的时间进行过滤 tcp.options.timestamp.tsval == 2947948748 #如果有 TCP timestamp 扩展,就用 TCP timestamp tcp.options.timestamp.tsecr == 3209788920wireshark显示过滤器语法及表达式示例
标签:src,封包,dst,tcp,11111111111111111,host,语法,wireshark From: https://www.cnblogs.com/AllenWoo/p/16610519.html