Tcpdump用-w写乱码文件

时间:2017-02-27 14:20:50

标签: bash shell redhat tcpdump

尝试将tcpdump输出捕获到文件时,我得到以下内容:

▒ò▒▒▒▒3▒X▒▒<<▒▒▒▒▒▒▒4▒4▒b 7 7▒▒3▒X▒▒<<▒▒▒▒▒▒▒4▒4▒b 7 7▒▒3▒X▒▒<<▒▒▒▒▒▒▒4▒4▒b 7 7▒▒3▒X▒<<▒▒▒▒▒▒▒4▒4▒b 7 7▒▒3▒Xu<<▒▒▒▒▒▒▒4▒4▒b 7 7▒▒3▒X▒<<▒▒▒▒▒▒▒4▒4▒b 7 7▒▒3▒X▒D<<▒▒▒▒▒▒▒4▒4▒b 7 7▒▒3▒X▒D<<▒▒▒▒▒▒▒4▒4▒b 7 7▒▒3▒X5▒<<▒▒▒▒▒▒▒4▒4▒b 7 7▒▒3▒X▒<<▒▒▒▒▒▒▒4▒4▒b

如果我在没有-w的情况下运行tcpdump,则输出在shell中显示正常。

这是输入:

tcpdump -i eth0 -Z root -w `date '+%m-%d-%y.%T.pcap'`

1 个答案:

答案 0 :(得分:0)

tcpdump -w写入原始文件,不适合直接阅读。您可以使用手册页中建议的tcpdump -r选项读回文件:

  

-r从文件读取数据包(使用-w选项创建)。如果文件是'' - '',则使用标准输入。

     

-w将原始数据包写入文件,而不是解析并打印出来。稍后可以使用-r选项打印它们。如果文件是'' - '',则使用标准输出。有关文件格式的说明,请参阅pcap-savefile(5)。

另一种选择是在不使用-w选项的情况下重定向输出:

tcpdump -i eth0 -Z root > `date '+%m-%d-%y.%T.pcap'`

但如果我没记错的话,你就不会得到-w选项所写的内容。