自宅のコンピューターのゲストアカウントのユーザーがアクセスしたWebサイト/ URLを知りたい。
これをログに記録し、適切にフォーマットされたリストとしてディスクに保存する方法はありますか?日付と時刻とアクセスしたURLだけが必要です。可能であれば、完全なURLが適切ですが、最初はドメインのみでも十分です。
更新:
A.B。からチャットでリンクされた回答と提案を読んだ後、次のコマンドを実行しました。
$ Sudo iptables -A OUTPUT -m owner --uid-owner 499 -j LOG --log-prefix='[GUEST INTERNET ACCESS] '
ゲストアカウントUIDを固定UID 499に設定した後 ゲストアカウントのUID範囲を設定または決定する 。
しかし /var/log/kern.log
にはまだそれらのログは含まれていませんが、何かが拒否されたことを示すapparmor
による多くのメッセージ:
Nov 18 11:19:22 wolf-pack kernel: [ 1030.063374] audit: type=1400 audit(1447841962.731:164): apparmor="DENIED" operation="connect" profile="/usr/lib/lightdm/lightdm-guest-session" name="/run/systemd/journal/stdout" pid=4693 comm="dbus-daemon" requested_mask="w" denied_mask="w" fsuid=499 ouid=0
AppArmorの問題に関する別の質問をここに投稿しました: AppArmorがゲストアカウントのiptablesを介して設定されたロギングをブロックする-有効にする方法?
あなたの意図はここで明らかだと思います。ゲストユーザーとしてアプリケーションを使用しているユーザーがアクセスしたWebサイトのURLを記録します。
このタスクを達成するためにiptablesロギングを提案することは正しくありません。 iptables(あいまいでパフォーマンスを制限する拡張機能なし)は、アプリケーションレベルではなくIPプロトコルで機能します。
コメントとして提案されたURLの提案も確認しました-応答者は、SYNフラグ(新しい接続)を持つパケットのみをキャプチャすることを提案しました。これも、上記の誤解が原因です。
あなたが望むものを達成する方法は次のとおりです:
私が念頭に置いていたことを説明します ここ (私の投稿ではありません)。このようにして、すべてのHTTPリクエストが記録されたWebプロキシログを取得します。ただし、SSLで保護されたトラフィックに関連するログは取得できません。これは良いことです。
繰り返します:URLはIPまたはTCPヘッダー構造の一部ではないため、IP/TCPレベルで機能しているものは、いくつかのデータがない限り、このデータを表示できませんTCP dissector(tcpdump/wiresharkはこれを実行できますが、iptablesだけでは実行できません)。