2017-02-27 150 views
-2

当试图tcpdump的输出捕捉到一个文件中,我得到如下:tcpdump的使用-w写乱码文件

▒ò▒▒▒▒3▒X▒▒< <▒▒▒▒▒▒▒ 4▒4▒b7▒▒3▒X▒▒< <▒▒▒▒▒▒▒4▒4▒b7▒▒3▒X▒▒< <▒▒▒▒▒▒▒ 4,44bb 7▒▒▒▒▒▒< <▒▒▒▒▒▒▒4▒4▒b7▒▒3▒Xu < <▒▒▒▒▒▒▒4▒4▒b7▒▒3▒X▒< <▒▒▒▒▒▒▒4▒4▒b7▒▒3▒X▒D< <▒▒▒▒▒▒▒4▒4▒b7▒▒3▒X▒D< <▒▒▒▒▒▒▒4▒4▒b7▒▒3▒X5▒< < ▒▒▒▒▒▒▒4▒4▒b7▒▒3▒X▒< <▒▒▒▒▒▒▒4▒4▒b

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

这里是输入:

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

这是一个pcap文件,而不是文本。使用'tcpdump -r'显示它或用wireshark打开它。 – hek2mgl

回答

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选项被写入。