私の家のデバイス(ノートブック、携帯電話など)と外部世界間のすべてのネットワーク通信ログを次の形式で収集したいと思います。
Timestamp / Device MAC Address / Source IP:Port / Destination IP:Port / Protocol (Internet/Transport Layers) / Amount of data in bytes
アイデアは、ロギング用の物理Linuxボックス(「ログサーバー」)を設定してtcpdump
実行することです。
Internet ⟺ Logging Server ⟺ Wi-Fi/Ethernet Switch ⟺ Devices
(ボックスには、インターネット接続とローカルスイッチ用の2つのイーサネットインターフェイスがあります。)
ログファイルの処理(回転、解析、レポートツールに提供)を担当しているとします。そのtcpdump
命令はどんな姿なのでしょうか?
明らかに、この質問はマニュアルページを詳しく見れば答えを得ることができるでしょう。私はtcpdump
時間を節約し、一般的なミスを避けるために誰かの膨大な経験を活用しようとしています。
PSこのタスクの主な目的は、バックドアまたは他の望ましくない/予期しないネットワーク活動の潜在的な存在を監視/調査することです。
ベストアンサー1
tcpdump -n -e -q -i any
そして:
-n
:アドレスを名前に変換しないでください(特にtcpdump
リバースDNS検索を防ぎます)。-e
:各ダンプラインにリンクレベルヘッダー(特にmacアドレス)を印刷します。と一緒に使用すると、着信と発信の-i any
ネットワークインターフェイスを再決定するために必要です。-q
: 少ないプロトコル情報を印刷するため、出力ラインが短くなります。-i any
:このany
キーワードは、すべてのインターフェイスでパケットをキャプチャするために使用できます。
上記のコマンドで提供される長さはペイロード長です。パケット長も必要な場合は、-qオプションを削除してください。