选项-Y, -2 and -R in tshark
迷惑我很久了。
看完说明书我才知道-Y用于单通滤波器和-2在 2 遍过滤器中(如果我们在第 1 遍过滤器结束之前无法获取一些信息)
但我还是不明白有什么区别-2 -Y 'blabla'
and -2 -R 'balabala'
and -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)
你能帮我解决这个问题吗?先感谢您!
我回答了这个问题http://ask.wireshark.org https://ask.wireshark.org/questions/58343/2-pass-filter-in-wiresharktshark,但我也会将我的答案粘贴在这里,以防有人在这里而不是那里寻找答案。
-R
指定一个read过滤器,因此仅读取和处理文件中匹配的数据包;不匹配的数据包本质上被视为文件根本不包含它们。将此与-Y
,它指定一个display过滤器,因此仅显示匹配的数据包,但所有数据包仍会被读取和处理。
您遇到的问题frame.number
是一个已知的错误,很久以前就被确定不值得修复。看Bug 380 https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=380, “wireshark -R 不支持‘frame.number’作为读取过滤器”.
您还可以了解一些背后的历史-R
vs. -Y
here:
- Bug 8223 https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8223
- Bug 8316 https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8316
- Bug 8529 https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8529
- Bug 9048 https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9048
- Wireshark-dev mailing list discussion:
- Wireshark 的本地存档 https://www.wireshark.org/lists/wireshark-dev/201303/msg00008.html
- 邮件档案 https://www.mail-archive.com/wireshark-dev@wireshark.org/msg27170.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)