WireShark 常见过滤规则

0 常见的操作符

wireshark中有几个比较常见的条件判断操作符:

操作符 操作符 含义
eq r== 等于
ne != 不等于
gt > 大于
ge >= 大于等于
lt < 小于
le <= 小于等于
and &&
or
not

复杂的条件运算建议加上括号进行区分 ()

1、IP地址相关的过滤:

ip.addr == 127.0.0.1 //过滤ip地址为 127.0.0.1的包(包括源和目的)
ip.src == 192.168.1.55 //过滤源ip地址为 192.168.1.55的包
ip.dst == 192.168.1.55 //过滤目的ip地址为 192.168.1.55的包

上述同样可以用host来进行代替例如:

ip.host  ip.src_host  ip.dst_host

此外还有许多有关ip相关的过滤规则,常见就是以上几种,其他的信息就是和 ip层协议(第三层协议)相关的内容了,具体可以查看《tcp/ip详解卷一》第三章
ip层

2、tcp相关过滤规则

到tcp/udp这一层(传输层)就没有ip地址的概念了。

端口相关
  • tcp.port == 8080
  • tcp.srcport == 9527
  • tcp.dstport == 1883
tcp数据长度
  • tcp.len == 29
tcp的标志位
  • tcp.flags.fin == 1
  • tcp.flags.ack == 1
  • tcp.flags.syn == 1
  • tcp.flags.push == 1
  • tcp.flags.reset == 1
  • tcp.flags == 0x002
    tcp flags 标志位
    这些和具体tcp协议标志相关,推荐相关数据进行深层次阅读《tcp/ip详解卷一》第三章 网际协议 在这里不进行详细解答,有时间利用相关的例子对每一个标志进行剖析
tcp 16进制内容进行过滤
tcp[20:2] == 33:44

tcp协议本身的长度位 20 从20个字节开始也就是真正的数据段,该句话的意思是检索tcp数据段中以 33 44 开头的报文
在这里插入图片描述

tcp 对ASCII 字符进行过滤
tcp contains "bms"

该句含义是 过滤 tcp报文中包含字符串bms的报文
在这里插入图片描述

data contains "bms"  // tcp 或者udp数据段中包含bms的报文

有关tcp就简单介绍这些 还有许多有关tcp的过滤规则,通常都和tcp的传输协议有关,建议阅读相关介绍tcp的书籍。

3、udp 相关过滤规则

udp相对tcp来说相对简单

端口相关
  • udp.port == 8080
  • udp.srcport == 9527
  • udp.dstport == 1883
udp 数据长度
  • udp.length == 8 + 22 //udp本身的8个字节加上 数据段长度
    在这里插入图片描述
udp 16进制内容进行过滤

用法与tcp类似

udp[8:2] == 33:44

udp协议本身的长度位 8 从8个字节开始也就是真正的数据段,该句话的意思是检索udp数据段中以 33 44 开头的报文

udp 对ASCII 字符进行过滤

用法与tcp类似

udp contains "bms"

该句含义是 过滤 tcp报文中包含字符串bms的报文

发布了67 篇原创文章 · 获赞 15 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/wanxuexiang/article/details/89116017