このオプションを使用してキャプチャをファイルに保存すると、Red Hat Enterprise Linux Server release 6.5
結果ファイルは空になります。tcpdump
-w
[root@plop ~]# tcpdump -n -w tcpdump.cap
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
^C217 packets captured
217 packets received by filter
0 packets dropped by kernel
[root@plop ~]# cat tcpdump.cap
[root@plop ~]# ll tcpdump.cap
-rw-r-----. 1 root root 0 Aug 25 14:13 tcpdump.cap
[root@plop ~]#
>
また、andを使用してコマンド出力をリダイレクトしようとしましたが、&>
常に空のファイルが表示されます。
その理由は何ですか?
気づく:
- ファイルにリダイレクトされない場合、端末は正しい出力(多数のパケット)を見ることができます。
- 同じことをしましたが、期待
thsark
どおりに動作しました(出力ファイルが正しい)。 - バージョン
tcpdump
はtcpdump version 4.1-PRE-CVS_2012_02_01
- バージョン
libpcap
はlibpcap version 1.4.0
- そのオプションを試しましたが、
-U
問題は解決されませんでした。
ベストアンサー1
そのオプションを追加してみてください-U
。
マニュアルページから:
-U
--packet-buffered
If the -w option is not specified, make the printed packet output ``packet-buffered''; i.e., as the description of the contents of each packet is printed, it will be written to the standard
output, rather than, when not writing to a terminal, being written only when the output buffer fills.
If the -w option is specified, make the saved raw packet output ``packet-buffered''; i.e., as each packet is saved, it will be written to the output file, rather than being written only when
the output buffer fills.
The -U flag will not be supported if tcpdump was built with an older version of libpcap that lacks the pcap_dump_flush() function.