一部の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"