facebook.com など、ユーザーが Web サイトを開いた/訪問したかどうかを検出するプログラムを作成したいと考えています。使用する Web ブラウザーに関係なく動作する必要があります。
DNS キャッシュでレコードをチェックすることを考えましたが、うまくいくと思いましたが、問題があります - 誤検知が発生します。一部のページには Facebook ウィジェットが含まれているためです。この場合、facebook.com を DNS キャッシュに表示させるために fb にアクセスする必要はありません。fb ウィジェットを含む Web サイトにアクセスすると常に表示されます。
2 番目のアイデアは、アクティブな TCP 接続を探すことでしたが、これもうまくいきません。
最後のアイデアは、トラフィックを傍受することでした。Wireshark で簡単なテストを行いましたが、DNS キャッシュ レコードのチェックと同じ問題、より正確には誤検知があります。また、fb は https プロトコルを使用するため、単純なアドレスを確認することはできません。DNS から IP を取得し、スニッフィングされたトラフィックでそれらを見つけようとする必要があります。
この問題を解決する方法がわかりません。