自宅のデバイス(ラップトップ、電話など)と外界との間のすべてのネットワーク通信のログを次の形式で収集したいと思います。
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
コマンドはどのようになりますか?
明確にするために、この質問はmanページを掘り下げることで回答できる可能性が最も高いことを知っています。 tcpdump
に関する誰かの豊富な経験を利用して、時間を節約し、よくある間違いなどを回避したいと思います。
P. S.これの主な目的は、潜在的に存在するバックドアまたはその他の望ましくない/予期しないネットワークアクティビティを監視/調査することです。
tcpdump -n -e -q -i any
と:
-n
:アドレスを名前に変換しません(これにより、tcpdump
がDNSの逆ルックアップを実行するのを防ぐことができます)-e
:各ダンプ行(特にMACアドレス)にリンクレベルのヘッダーを出力します。これを-i any
と組み合わせて使用します。これは、着信/発信ネットワークインターフェイスを再決定するために必要になります。-q
:出力行が短くなるように、出力するプロトコル情報が少なくなります-i any
:any
キーワードを使用して、すべてのインターフェースからパケットをキャプチャできます上記のコマンドで指定された長さはペイロードの長さであることに注意してください。パケット長も必要な場合は、「-q」オプションを削除してください。