2017-02-27 3741 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選項被寫入。