Wireshark/tshark中的双通滤波器

Wireshark/tshark中的双通滤波器,wireshark,tshark,Wireshark,Tshark,tshark中的选项-Y、-2和-R让我困惑了很久 阅读手册后,我知道单通滤波器中使用了-Y,双通滤波器中使用了-2(在第一通滤波器结束之前我们无法获得一些信息的情况下) 但是我仍然不明白-2-Y'blabla'和-2-R'balabala'和-2-Y'blalal'-R'blala'之间有什么区别 我还做了一个让我发疯的实验: tshark -n -r test.pcap -2 -R 'frame.number > 0' 1 0.000000 10.140.28.17 ->

tshark
中的选项-Y-2-R让我困惑了很久

阅读手册后,我知道单通滤波器中使用了-Y,双通滤波器中使用了-2(在第一通滤波器结束之前我们无法获得一些信息的情况下)

但是我仍然不明白
-2-Y'blabla'
-2-R'balabala'
-2-Y'blalal'-R'blala'之间有什么区别

我还做了一个让我发疯的实验:

tshark -n -r test.pcap -2 -R 'frame.number > 0'
  1   0.000000 10.140.28.17 -> 10.74.68.58  TCP 80 62276 > 8989 [SYN, ECN, CWR] Seq=0 Win=65535 Len=0 MSS=1460 WS=32 TSval=330325315 TSecr=0 SACK_PERM=1
  2   0.000056  10.74.68.58 -> 10.140.28.17 TCP 76 8989 > 62276 [SYN, ACK, ECN] Seq=0 Ack=1 Win=28960 Len=0 MSS=1460 SACK_PERM=1 TSval=2078759468 TSecr=330325315 WS=128
  3   0.000678 10.140.28.17 -> 10.74.68.58  TCP 68 62276 > 8989 [ACK] Seq=1 Ack=1 Win=131744 Len=0 TSval=330325316 TSecr=2078759468
  4   0.000756 10.140.28.17 -> 10.74.68.58  HTTP 158 GET /index.html HTTP/1.1
  5   0.000770  10.74.68.58 -> 10.140.28.17 TCP 68 8989 > 62276 [ACK] Seq=1 Ack=91 Win=29056 Len=0 TSval=2078759468 TSecr=330325316
但是当我执行
tshark-n-r test.pcap-2-r'frame.number>1'
时,没有打印任何内容。如何解释

我的tshark版本是:tshark 1.10.6(master-1.10的v1.10.6)


你能帮我解决这个问题吗?提前谢谢你

我在上回答了这个问题,但我也会将我的答案粘贴在这里,以防有人在这里而不是那里寻找答案

-R
指定读取筛选器,因此仅读取和处理来自文件的匹配数据包;不匹配的数据包本质上被视为文件根本不包含它们。与此相对应的是
-Y
,它指定了一个显示过滤器,因此仅显示匹配的数据包,但仍会读取和处理所有数据包

您看到的
frame.number
问题是一个已知的bug,很久以前就确定不值得修复。请参阅,“wireshark-R不支持将“frame.number”作为读取筛选器”

您还可以在此处查看
-R
-Y
之间的一些历史记录:

  • Wireshark开发人员邮件列表讨论:

感谢您提供有关bug报告和邮件列表讨论的所有链接——很高兴看到像这样有文档记录的答案。