ユーザーが特定のサイトのリンクをクリックしたかどうかを確認するために統計的に分析しようとしている大きなトラフィックファイルがあります。
パケットはフロー(IP1 <=> IP2)でソートされていると言うことが重要です。
私の最初のアイデアは、パケットのコンテンツを調べてhrefとリンクを検索し、それらをタイムスタンプ付きの何らかのデータ構造で保存し、その後、パケットを繰り返し処理して、リンクが表示された時間に近いリクエストを検索することでした。
次の擬似コードのようなもの:
for each packet in each flow:
search for "href" or "http://" or "https://"
save the links with their timestamp
for each packet in each flow:
if it's an http request and its url matches some url in the list and the
time is close enough, record it
このコードの問題は、ページの読み込み中に一部の(重要な)リンクが動的に生成され、上記の方法では見つからないことです。
別のアイデアは、httpヘッダーのリファラーフィールドを確認し、関連するサイトから参照されているパケットを探すことでした。このメソッドは、フレームと埋め込みオブジェクトのために多くの誤検知を生成します。
これは私のサーバーではなく、ユーザーの行動の統計分析のためのツールを作成することです(したがって、サイトに何らかの種類のクリックトラッカーを追加することはできません)。
ユーザーがネットワークトラフィックに応じてリンクをクリックしたかどうかを確認するために、私にできることは誰にもわかりますか?
どんな助けも感謝します!
ありがとうございました
ジョブに間違ったツールを使用しています。サーバーログを(少なくとも)使用しないのはなぜですか?さらに、リンクが動的に生成される場合、同じ生成(パターンに従う必要がありますか?)または何らかの推測を行わずにその情報を取得することはできません。結局のところ、特定のサイトにアクセスする方法はいくつかしかありません。
—
セス
ご返事ありがとうございます!私はあなたが正しいと思います、そして私の見解はここで間違っています。私の意図は、トラフィックだけでユーザーの行動を決定することであり、私の仮定によれば、サーバー自体にアクセスすることはできません(長期的には、いくつかの(特定の)ウェブサイトのリンククリック動作を確認したいので、サーバー側のプログラムは使用できません)。実際には、パケットには完全な形ではない(ただし、変数の連結として)表示されないクリックがあることがわかりました。\ nそれを確認するために他にできることはありますか?
—
usr371