我正在研究一些 tshark 过滤器,需要针对特定的 SIP 和 DIP 按时间拆分 pcap,我尝试过 editcap 但它只能与时间基础一起使用我无法将 IPADDRESS 传递给 editcap,我看到 tshark 可以做到这一点
[root@ids01 snort-1]# tshark -r snort.log.1518688921 -w /tmp/pcap_tshark.pcap -Y "(frame.time >= "" 2018 年 2 月 17 日 16:00:00"") && ( frame.time <= ""2018 年 2 月 17 日 16:01:00"") && ip.addr==192.0.0.7" tshark:“17”在这种情况下是出乎意料的请参阅粗体错误,过滤器有什么问题,我使用的是centos 7。
答案1
问题在于引号的使用,您需要反斜杠来保留过滤器的双引号,请尝试以下操作:
tshark -r snort.log.1518688921 -w /tmp/pcap_tshark.pcap -Y '(frame.time >= "Feb 17, 2018 16:00:00") && (frame.time <= "Feb 17, 2018 16:01:00") && ip.addr==192.0.0.7'
或者这也允许使用变量而不是硬编码的时间值 - 例如在脚本中:
dbeg="Feb 17, 2018 16:00:00"
dend="Feb 17, 2018 16:01:00"
tshark -r snort.log.1518688921 -w /tmp/pcap_tshark.pcap -Y "(frame.time >= \"${dbeg}\") && (frame.time <= \"${dend}\") && ip.addr==192.0.0.7"