我正在编写一个Python应用程序,它需要知道用户在web浏览器中查看哪些网站,或者在OS X上连接到哪些网站,如果可能的话,还需要知道Linux。这是为了跟踪用户访问某些网站的时间。在
我知道在OSX上有一个Cocoa调用,它返回Safari中的当前页面,但这至少必须适用于Chrome和Firefox,最好是在任何已知或未知的客户端上。在
我研究的第一件事是pcap通过libpcap,我可以在Python中使用pylibpcap。pcap是用于数据包捕获的,据我所知,理论上,我可以检测数据包是否流入/流出某些“黑名单”IP地址。这可能是可行的,但是如果一个静态网页在浏览器中打开并保持原样,我就无法通过这个机制检测到它。在
首先,我甚至可以用libpcap实现我上面描述的功能吗?我是个网络过滤之类的初学者,所以我不太确定。在
第二,有没有更好的办法?在
(苹果操作系统的TimeSink应用程序有一个有趣的方法,就是查看标题栏中显示的内容,以确定用户正在浏览哪个网站。这对我来说并不理想,原因有两个:(1)我可能无法确定标题正在访问哪个域;(2)我只能看到活动选项卡的标题。)
也许可以使用Twisted proxy并让所有浏览器都通过它?在
您将能够分析HTTP报头并提取相关信息。在
下面是一个例子:https://github.com/nbareil/twisted-proxy
相关问题 更多 >
编程相关推荐