wireshark界面

图中的1显示的时显示过滤器表达式;

图中的2显示的时数据包的时间、来源、目的地、协议、长度等;

图中的3分不同协议层显示了数据包的信息;

图中4显示了数据的16表示。

显示过滤器表达式的规则

在Wireshark中,显示过滤器表达式语句遵循以下规则:

  1. 表达式由一个或多个条件组成,条件之间可以使用逻辑运算符(如AND、OR、NOT)进行组合。
  2. 可以使用各种协议、字段和属性来构建条件,例如IP地址、端口号、协议类型、帧长度等。
  3. 字段名和操作符之间使用空格分隔,操作符用来描述所需的比较操作或匹配模式。
  4. 使用双引号(")将字符串值括起来,例如:"keyword"。
  5. 使用圆括号()来分组条件,以明确优先级。

显示过滤器表达式举例

数据链路层

  1. 显示所有以太网帧(Ethernet frame):eth
  2. 显示源MAC地址为00:11:22:33:44:55的数据包:eth.src == 00:11:22:33:44:55
  3. 显示目标MAC地址为00:aa:bb:cc:dd:ee的数据包:eth.dst == 00:aa:bb:cc:dd:ee
  4. 显示帧长度大于1500字节的数据包:frame.len > 1500
  5. 显示VLAN标记为10的数据包:vlan.id == 10
  6. 显示使用WiFi协议的数据包:wlan
  7. 显示WLAN信道为6的数据包:wlan.channel == 6
  8. 显示WLAN SSID为"example"的数据包:wlan.ssid == "example"
  9. 显示数据包中有错误的校验和(FCS):not wlan.fcs_good
  10. 显示虚拟局域网(VLAN)标记解析失败的数据包:vlan.dropped

网络层

  1. 显示所有IP数据包:ip
  2. 显示源IP地址为192.168.0.1的数据包:ip.src == 192.168.0.1
  3. 显示目标IP地址为192.168.0.1的数据包:ip.dst == 192.168.0.1
  4. 显示TTL(生存时间)小于等于32的数据包:ip.ttl <= 32
  5. 显示协议类型为ICMP的数据包:ip.proto == icmp
  6. 显示IPv6数据包:ipv6
  7. 显示源IPv6地址为2001:db8::1的数据包:ipv6.src == 2001:db8::1
  8. 显示目标IPv6地址为2001:db8::2的数据包:ipv6.dst == 2001:db8::2
  9. 显示IP片段的数据包:ip.flags.fragment
  10. 显示IP选项存在的数据包:ip.options

传输层

  1. 显示所有TCP数据包:tcp
  2. 显示源端口号为80的数据包:tcp.srcport == 80
  3. 显示目标端口号为443的数据包:tcp.dstport == 443
  4. 显示标志位包含SYN和ACK的数据包:tcp.flags.syn == 1 and tcp.flags.ack == 1
  5. 显示窗口大小小于100的数据包:tcp.window_size < 100
  6. 显示所有UDP数据包:udp
  7. 显示源或目标端口号为53的数据包:udp.port == 53
  8. 显示源或目标端口号为123的数据包:udp.port == 123
  9. 显示使用SCTP协议的数据包:sctp
  10. 显示源或目标端口号为5060的SIP数据包:sctp.port == 5060 and sip

应用层

  1. 显示所有HTTP请求数据包:http.request
  2. 显示所有HTTP响应数据包:http.response
  3. 显示源或目标端口号为53的DNS数据包:dns.port == 53
  4. 显示FTP控制连接数据包:ftp
  5. 显示SMTP协议的数据包:smtp
  6. 显示POP3协议的数据包:pop3
  7. 显示IMAP协议的数据包:imap
  8. 显示使用SSH协议的数据包:ssh
  9. 显示使用TLS/SSL加密的数据包:tls or ssl
  10. 显示具有特定关键词"password"的数据包:data contains "password"

这些示例提供了更多选择,涵盖了不同层级和协议的过滤器表达式。您可以根据需要自由组合这些条件,并根据具体情况调整字段和值以满足您的需求。请记住,Wireshark支持的过滤器表达式可能会因版本和捕获的数据类型而有所不同。