我需要在满足某个条件后停止tshark(wireshark的命令行equi)。
在tshark手册页中,我发现停止条件可以应用于持续时间,文件,文件大小和多文件模式。
我是否可以通过捕获过滤器应用任何停止条件,以便tshark停止捕获。
ex:收到特定端口号的TCP SYN数据包(捕获过滤器中应用的条件)后,tshark停止捕获。
请回答这个谜语。
答案 0 :(得分:0)
您可以将输出传递到head并选择与查询匹配的第一帧,但您还需要禁用输出缓冲(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