通过任何浏览器监控访客帐户的访问网站

我想知道我的家庭计算机的访客帐户的用户访问了哪些网站/ URL。

有没有办法记录这个并将其保存为格式良好的列表到磁盘? 我只需要日期/时间和访问过的URL。 如果可能的话,完整的URL会很好,但只有域也适合一开始。

更新:

在阅读了AB聊天中的链接答案和建议后,我运行了以下命令:

$ sudo iptables -A OUTPUT -m owner --uid-owner 499 -j LOG --log-prefix='[GUEST INTERNET ACCESS] ' 

在设置或确定访客帐户的UID范围后,将访客帐户UID设置为固定的UID 499之后。

但是/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为访客帐户设置日志记录 – 如何启用?

我认为你的意图很清楚:任何人使用任何应用程序作为访客用户访问的网站的日志URL。

建议iptables日志记录来实现此任务是不正确的。 iptables(没有一些模糊的,性能限制扩展)适用于IP协议,而不适用于应用程序级别。

我还看到建议注释的URL中的建议 – 响应者建议只捕获带有SYN标志的数据包(新连接)。 这也是由于上述误解造成的。

实现目标的方法是:

  1. 安装Web代理(最好是轻量级的,例如tinyproxy)。
  2. 添加iptables规则,将仅由特定用户进行的传出连接重定向到端口80,443 / tcp到本地代理。

我在这里描述了什么 (不是我的post)。 这样,您将获得一个Web代理日志,其中记录了所有HTTP请求。 您不会获得与受SSL保护的流量相关的日志,这是一件好事。

重申一下:URL不是IP或TCP头结构的一部分,因此在IP / TCP级别工作的东西不能显示这些数据,除非它有一些TCP解析器(tcpdump / wireshark能够这样做,但不是单独的iptables)。

你试过这个:

 sudo iptables -A output -m owner --uid-owner 499 -j log --log-prefix="'/var/log/kern.log$'uri" 

这可能会有所帮助。