コンピュータからのすべての発信接続をログに記録する

コンピュータからのすべての発信接続をログに記録する

PC 上のアプリケーションがインターネットに送信する内容に非常に興味があります。すべての送信データ (コンテンツを含む - その接続を使用して送信されるもの) を記録する方法はありますか? 理想的には、これらの記録は、私の側で使用されているポート、それが指している IP:ポート、接続が開かれた時間と閉じられた時間、送信された内容などの情報を含むデータベース/ファイルに保存されます。それは可能 (かつ信頼できる) ですか?

私は Windows 8.1 を実行しており、ワイヤレス ルーターにアクセスできます。


編集: ログは特にユーザーフレンドリーである必要はありません。私はプログラマーです。

答え1

本当にログに記録したいなら全てトラフィックには、ルートキットやその他の悪意のあるプログラムによって隠されている可能性のあるトラフィックが含まれるため、外部から実行する必要があります。Wi-Fi ルーターに openwrt や tomato などの代替ファームウェアが搭載されている場合は、tcpdump を実行して、結果を自分のコンピューターまたは別のコンピューターに転送できます。ファームウェアによっては、CIFS や samba などのファイル共有を使用できる場合があります。

tcpdump -i eth0 -s 2000 -w 出力ファイル

または

tcpdump -i eth0 -s 2000 -A

注: ネットサーフィンの習慣によっては、数 GB または TB のログが簡単に生成される可能性があります。

私は 2 つの NIC を持つファイアウォールとして機能する PC を設定し、内部ネットワークにスイッチを配置して複数のデバイスを使用できるようにしました。インターネットの性質上、わずかに疑わしいトラフィックをログに記録するだけでも膨大なログ ファイルが生成されます。

あなたはプログラマーなので、libpcap と libmysql を利用して MySQL データベースに直接ログを記録するプログラムを作成できます。

疑わしいトラフィックを監視する別のプログラムは鼻を鳴らす

関連情報