2012-05-16 70 views
3

我需要在滿足特定條件後停止tshark(wireshark的命令行設備)。tshark停止標準

從tshark手冊頁,我發現停止條件可以適用於持續時間,文件,文件大小和多個文件模式。

是否有任何停止條件,我可以通過捕獲過濾器應用,以便tshark停止捕獲。例如:在收到來自特定端口號的TCP SYN數據包(捕獲過濾器中應用的條件)後,tshark停止捕獲。

請回答這個謎語。

回答

0

可以通過管道輸出頭,拿起你的查詢,但你還需要禁用輸出緩衝匹配的第一幀(stdbuf是的coreutils的一部分)

如(Linux)的

stdbuf -i0 -o0 -e0 tshark -r file.pcap -Y 'sctp.verification_tag == 0x2552' | head -1 

Mac:

gstdbuf -i0 -o0 -e0 tshark -r file.pcap -Y 'tcp.flags.syn == 1 && tcp.port == 80' | head -1