自宅のデバイス(ラップトップ、電話など)と外界との間のすべてのネットワーク通信のログを次の形式で収集したいと思います。
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」オプションを削除してください。