IP地址定位之IP画像——如何形成IP用户画像?

IP用户画像的技术研究内容,包含采集IP用户的网络行为数据、对IP知识库进行特征提取等。那么我们如何形成用户画像?如图1所示,以在线广告领域的应用为例,介绍IP用户画像的形成流程,一共分为四步。

 

图1 IP用户画像形成总流程

  • 第一步

使用一款移动APP,收集它的用户IP,并把这个IP连同匿名化后的用户ID号、时间戳信息(即,一个三元组,(ID,IP,Time))共享给我们。我们通过IP地理位置定位系统,完成IP与地理位置的映射,形成用户位置的收集和展示,如图1第一步和图2所示。

 

图2 用户IP映射到地理位置

 

  • 第二步

为了移除不准确和不精确的经纬度,我们要对数据进行清洗。如图1第二步和图3所示。

 

图3 数据清洗

  • 第三步

我们把这些位置数据转换成现实地点、人口统计信息、相关发生事件,从而了解用户在现实世界中的行为。如图1第三步和图4所示。

 

图4 位置数据细化

  • 第四步

我们分析这些数据,对每一位用户的基本属性、消费能力、兴趣爱好和职业信息等进行特征提取和建模分析,从而建立用户画像。如图1第四步和图5所示。

 

图5 绘制用户画像

 

如图6所示,是用户大白一天不同时间段出现的地理位置,根据地理位置找出对应的现实地点,从而进行数据分析对该用户进行画像。从早上九点到晚上九点,大白分别用固网IP1、移动网络IP2、移动网络IP3和固网IP4进行上网,IP1、IP2、IP3、IP4对应的现实地点分别为CBD商圈、西餐厅、运动馆和高档小区,由此我们可以得出大白的职业、消费水平、业余爱好、收入水平信息,从而完成对用户大白的画像。

 

图6 用户画像的应用示例

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
笔者曾混迹过各种攻防演练活动,参与过防守方、攻击方,也算是大概了解了每一个队伍的任务~参加防守时印象尤为深刻,也跟一起防守的“战友”做过有趣的事情,例如:反打攻击队;题外话说的有点多了,来说说为什么开发这样一个平台:作为一个防守方光看日志固然是枯燥无味的,偶尔来几次反向打击啥的,增添防守的乐趣~所以我想到了做这样一个系统,就是想在“空暇”时间能获取点“黑客攻击者”的“画像”。 本平台采用被动式的方式分析黑客攻击者画像,可扩展赋能蜜罐以及安全设备,将平台接口部署在蜜罐Web界面上即可,当攻击者访问所部署的Web界面即触发平台分析功能,对访问者进行分析,数据回传平台分析其网络身份、IPIP定位:物理地址等信息。 AHRID 信息展示 平台支持接口授权的方式授权站点,已授权站点才可使用平台接口进行被动式的攻击者画像分析以及数据回传。 AHRID 接口授权 平台的分析功能采用模块化设计,可针对不同的分析功能新建不同的分析模块进而让平台的分析功能更加丰富完善(开源版本目前只支持JSONP探针模块) AHRID 提交模块 AHRID开源版使用 授权使用 登录进AHRID平台之后需要先添加接口授权: AHRID 接口授权 当添加完毕后,复制接口代码至蜜罐页面或需监测的页面中即可(建议复制到最后),这样就已经部署成功了,只需要等待攻击者触发数据回传功能,等待画像信息即可。 模块提交 当已经发现一个JSONP劫持漏洞时,即可提交到AHRID平台上: JSONP 劫持漏洞 漏洞地址:http://my.website/dorabox/csrf/jsonp.php?callback=test 要获取的信息:username 模块提交说明: 1. 名字模块名字(建议使用英文) 2. SRC存在JSONP劫持漏洞的URL地址 3. 回调参数值回调参数的值(参数=值) 4. 数据字段JSON字段(例如:{"username":"123"},要获取的是username即填写username;例如:{"data":{"uid":"123"}},要获取的是uid即填写data.uid) 5. 信息展示地址一般填写无或者随意填写 6. 模块描述根据模块功能说明 AHRID 模块提交示例 AHRID开源版设计概述 当攻击者访问到部署了AHRID接口的页面,即触发JSONP探针获取攻击者已登录状态下的登录信息,回传登录信息+IP+UA,后端会对IP进行物理地址转换,最终将数据记录到数据库。 数据库结构 表:Admin - 列:id,username,password 表:Hackinfo - 列:hid,host,ip,user_agent,jsondata,creaye_time,times 表:Plugins - 列:pid,name,src,callback,columns,url,commit 表:Apis - 列:aid,host IP地址转换依赖:GeoLite2-City.mmdb IP定位依赖:接口 apis.map.qq.com、way.jd.com + 取中心点 依赖环境:Python2 + Flask + Mysql 所需网络环境:互联网(可出网) AHRID开源版搭建 1.config.py 配置文件修改 需要配置的信息如下: USERNAME: Mysql用户名 PASSWORD: Mysql用户密码 HOST: Mysql主机地址 PORT: Mysql端口 SECRET_KEY: SESSION 秘钥(建议16位以上随机英文字母+数字+特殊符号) TX_KEYS: 腾讯接口KEYS(2个以上,参考:https://lbs.qq.com/webservice_v1/guide-ip.html) JCLOUD_KEY: 京东云接口KEY(Github可白嫖) 2.Mysql创建“ahrid”数据库 3.执行如下代码 python manage.py db init python manage.py db migrate 4.启动服务:sudo python app.py 默认端口为:80,可自行修改app.py文件如下代码部分 server = pywsgi.WSGIServer(('0.0.0.0', 80), app)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值