2012-02-23 7 views
0

私はPythonアプリケーションを作成していますが、Webブラウザでユーザーが見ているWebサイトやOS Xと、可能であれば、Linux。これは、ユーザーが特定のWebサイトにアクセスしている時間を追跡するためです。ユーザーが閲覧または接続しているウェブサイトを検出する方法

私は、Safariで現在のページを返すCocoaの呼び出しがあることを知っていますが、これはChromeとFirefoxでも最低限必要です。

私が調べた最初のものは、pylibpcapでPythonで使用できるlibpcap経由のpcapです。 pcapはパケットキャプチャのためのものであり、理論的には私が理解しているように、パケットが特定の「ブラックリストに載っている」IPアドレスに流れるかどうかを検出できます。これは仕事の一種ではありますが、静的なWebページがブラウザで開いていてそのまま残っていると、このメカニズムでは検出できません。

まず、私は上記でlibpcapで説明したことを行うことができますか?私はネットワークフィルタリングなどの初心者ですので、私は完全にはわかりません。

第2に、これを行うには良い方法はありますか?

(アプリケーションのTimeSinkには興味深いアプローチがあります。これは、タイトルバーに表示されているものを見て、ユーザーが閲覧しているウェブサイトを判断する方法です。私は決定的タイトルが訪れているものドメイン決めることと、(2)私は唯一のアクティブなタブのタイトルを見ることができることができないかもしれない。)

enter image description here

+0

明白な場所は、DNSルックアップにフックするように思われます。 –

+0

@Lattyware hm、これを行う方法についての手掛かりはありますか?私はGoogle検索で空になっています。 – terrace

答えて

1

たぶんTwisted proxyを使用して、すべてのブラウザを渡しますそれ?

HTTPヘッダーを分析して関連情報を抽出することができます。ここで

は一例です。ここhttps://github.com/nbareil/twisted-proxy

+0

ありがとう、これをチェックします。期待しているようだ。 – terrace

関連する問題