我有大量流量文件,正在尝试进行统计分析以检查用户是否点击了特定网站上的链接。
重要的是要说我的数据包是按流排序的(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 标头中的 referrer 字段并查找由相关站点引用的数据包。由于框架和嵌入对象,此方法会产生大量误报。
值得一提的是,这不是我的服务器,我的目的是制作一个统计分析用户行为的工具(因此,我无法在我的网站上添加某种点击跟踪器)。
有人知道我该怎么做才能根据用户的网络流量检查他们是否点击了链接吗?
任何帮助都将不胜感激!
谢谢