【问题标题】:2-pass filter in Wireshark/tsharkWireshark/tshark 中的 2 通滤波器
【发布时间】:2016-12-27 06:01:36
【问题描述】:

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

看了说明书,我知道-Y用在单通滤波,-2用在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 (v1.10.6 from master-1.10)

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

【问题讨论】:

    标签: wireshark tshark


    【解决方案1】:

    我在 http://ask.wireshark.org 上回答了这个问题,但我也会将我的答案粘贴在这里,以防有人在这里而不是那里寻找答案。

    -R 指定一个 read 过滤器,因此只有来自文件的匹配数据包才会被读取和处理;不匹配的数据包基本上被视为文件根本不包含它们。与 -Y 对比,它指定了一个 display 过滤器,因此只显示匹配的数据包,但仍会读取和处理所有数据包。

    您在frame.number 中看到的问题是一个已知错误,很久以前就确定不值得修复。请参阅Bug 380“wireshark -R 不支持 'frame.number' 作为读取过滤器”

    您还可以在此处了解 -R-Y 背后的一些历史:

    【讨论】:

    • 感谢所有指向错误报告和邮件列表讨论的链接——很高兴看到像这样一个有据可查的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-10
    • 2014-07-29
    • 2015-02-01
    • 2014-02-09
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多