- ベストアンサー
tcpdumpログファイルへのリダイレクトができない理由
- Redhat9環境下でtcpdumpのログファイルへのリダイレクトができない現象が発生しています。
- cronで実行するスクリプトによるtcpdumpの出力先を/var/log/tcpdumpPop.logに設定していますが、ログファイルが正常に作成されず、何も表示されません。
- そのため、直接コマンドライン上でtcpdumpを実行した場合には正常に表示されるが、リダイレクトでは表示されない問題が発生しています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ごめんなさい。ケースバイケースなのでこれ以上はわかりません。 当方の環境では tcpdump -w testfile.log とした後、 tcpdump -r testfile.log とすると、取得したパケットの内容が表示されていました。こんな感じに。 02:37:40.602019 test.minidns.net.ssh > client1.4730: P 151755013:151755057(44) ack 2214292755 win 7504 (DF) [tos 0x10] 02:37:40.769337 client1.4730 > test.minidns.net.ssh: . ack 44 win 15631 (DF) 02:37:41.264288 192.168.0.2.2313 > 192.168.0.255.2313: udp 57 02:37:42.548456 client1.4730 > test.minidns.net.ssh: P 1:21(20) ack 44 win 15631 (DF) 02:37:42.560618 test.minidns.net.ssh > client1.4730: P 44:64(20) ack 21 win 7504 (DF) [tos 0x10] 02:37:42.676324 client1.4730 > test.minidns.net.ssh: . ack 64 win 15611 (DF) 02:37:42.899253 client1.4730 > test.minidns.net.ssh: P 21:41(20) ack 64 win 15611 (DF) 中身が空のファイルを tcpdump -r すると"tcpdump: fread: Success"と出るみたいなので、tcpdumpのファイル出力が正しくできていないのではないでしょうか。ファイルサイズが0ではないですか?
その他の回答 (2)
- g_nagata
- ベストアンサー率64% (27/42)
tcpdump -w でファイルに書き込んだものはバイナリなのでtailやlessでは読めません。 取得したファイルを tcpdump -r ファイル名 で、確か読めたと思います。詳しくはmanを参照してください。
補足
ご回答誠に有難うございます。 manを呼んでみました。 確かに-rになってました。 # tcpdump -r /var/log/tcpdumpPop.log tcpdump: fread: Success となってしまいましたがこれはどういう意味なんでしょうか?
- g_nagata
- ベストアンサー率64% (27/42)
答になってませんが、 tcpdump -i eth0 -a -vvv -w TcpDumpLog.dump でダンプをファイルに吐かせるのはいかがでしょうか。
補足
有難うございます。 > tcpdump -i eth0 -a -vvv -w TcpDumpLog.dump > でダンプをファイルに吐かせるのはいかがでしょうか。 これならリダイレクトせずに済むのですね。 実際に試してみました。 下記のように文字化けしてしまいましたが これは何が原因なのでしょうか? # tail -f /var/log/tcpdumpPop.log 埣押`B >>@蝿@発E0tR@棒Y凄 hn涓wpuB ゜ <<@蝿@発E(tS@卆Y凄 hn涓x P \ CC@蝿@発E5w@凄Y凄 hn涓x 'USER user22 \ EE@蝿@発E7@凄 广仭嗷 髀躋墫知 ?@凄Y凄 hn涓 PSTAT \ ? 凄 冲不 ?凄 ? 凄 ?痕續祚竰闔?續?鳬弟??鳫釡朧壱
お礼
ありがとうございます。 お陰さまで参考になりました。