我正在尝试将 tcpdump 的结果写入文本文件。我对保存 pcap 文件以供以后使用不感兴趣,我只需要 tcpdump 以纯文本形式返回的内容(连接的 ips 和时间戳)。
我尝试了这个但它似乎不起作用:
tcpdump port 5000 and '(tcp-syn)!=0' > network_output.txt
此命令应该保存到文本文件,但是它却在终端中回显输出,就像我关闭它一样> network_output.txt
。
答案1
您正在使用什么操作系统和 shell?(您的命令在我的系统上运行良好。)
尝试tcpdump port 5000 and '(tcp-syn)!=0' &> network_output.txt
(注意&>
而不是>
),看看它是否能达到你想要的效果。它将标准输出和错误输出合并到一个文件中。虽然它被称为错误输出,但第二个输出流通常用于交互式终端的输出,例如进度信息。
如果这不起作用,请尝试:
script network_output.txt
tcpdump port 5000 and '(tcp-syn)!=0'
然后按 Ctrl-C 退出tcpdump
,再按 Ctrl-D 退出script
。文件中会包含多余的垃圾,但也会包含所有终端输出。