6-5信息内容安全的对抗技术.pptx

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络信息安全的对抗技术中国矿业大学 曹天杰目录反爬虫技术1主动干扰技术2信息隐藏技术31. 反爬虫技术Jasmine.More人访问流量爬虫访问流量反爬虫技术现状40%~60% 网络流量由爬虫贡献,爬虫趋于智能化发展爬虫遍布各类网站,票务类、电商类、招聘类、银行类、政府类、社交类等影响消耗网络资源,影响正常客户访问, 增加网站运营成本爬取产品、价格信息,不正当竞争混淆网站用户生态,影响营销分析网络访问流量100%90%80%70%60%50%40%30%20%10%0%20132016常规应对高级应对检查HTTP Header检查HTTP Header设备指纹访问频次访问频次访问频次数据服务基于JS反爬虫设备指纹设备指纹访问频次人机识别验证码数据服务爬虫行为分析访问频次设备指纹验证码人机识别数据服务爬虫行为深度分析爬虫分类及应对不执行Javascript不进行伪装简单网页爬虫网页爬虫代理IP池,Cookie池,UA,referer伪装高级网页爬虫执行Javascript,自动化工具+浏览器内核(Selenium+PhantomJS)无界面浏览器爬虫浏览器爬虫自动化工具+浏览器界面浏览器爬虫服务端限制“请求头设置” 反爬虫策略: HTTP的请求头是在每次向网络服务器发送请求时,传递的一组属性和配置信息。 HTTP 定义了十几种请求头类型,如python-requests、 User-Agent等,易被发现,网站运维如发现携带有这类请求头的数据包,拒绝访问目标网站可能会对HTTP请求头的每个属性进行“是否常规访问”的判断,但如果把User-Agent属性设置成其他无关参数,伪装成通用搜索引擎或者其他浏览器请求头,例如设置r=requests.get (url,headers={’User-Agent’: ’Baiduspider’}) 就可解决。服务端限制“签名请求规则”反爬虫策略:签名请求指在请求url中增加一个sign字段,通常取值为自定义字段的md5校验码。对于每一次HTTP或者HTTPS协议请求,网站根据访问中的签名信息验证访问请求者身份,判断是否允许继续访问。爬虫技术人员对待此类网站,通常会判断发起请求方,如果是JS发起的请求,签名规则可以在JS函数中寻找,再根据规则去构造签名;如果是App发起的请求,最大可能是由于前端调用原生封装,或者原生发起等多种原因。情况复杂的,需要反编译App包,但也不一定能成功,需要反复调试验证服务端限制“流量限制” 反爬虫策略:监控用户是否快速地提交表单,或者快速地与网站进行交互,从而限制速度异常、短时间大量下载信息的IP访问。容易误伤其他正常浏览用户,因为同一区域内的其他用户可能有着相同的IP,所以一般很少采用此方法限制爬虫。爬虫技术人员如果发现请求被限制,可尝试请求延迟,通过AJAX延时加载、异步更新脚本技术延迟网页加载的速度,避免被目标网站查封。还可考虑使用分布式爬取或者购买代理IP设置代理池的方式解决服务端限制“ cookie/cookies限制”反爬虫策略:“ cookie/cookies限制”指服务器对每一个访问网页的用户都设置cookie/cookies,给其一个cookie/cookies字段。网站为了辨别用户身份、进行session跟踪,当该cookies访问超过某一个阈值时就禁止掉该cookie/cookies,导致数据爬取失败。网络爬虫想要模拟真实用户请求,就需要拟造匿名身份,然后填入cookie/cookies中,在每一次访问时带上cookie/cookies,如果登录用户cookie/cookies信息在固定周期内失效,那就要找到登录接口,重新模拟登录,存储cookie/cookies,再重新发起数据请求服务端限制“验证码限制”反爬虫策略:验证码是基于人能从图片中识别出文字和数字而机器却不能的原理产生的,是网站最常用来验证是爬取机器人还是普通用户在浏览的方式之一。爬虫工具可建立简单的验证码库,如对图片里的字母或者数字进行识别读取,可使用识图的模块包或一些验证码识别第三方库( pytesser, PIL) 来破解。 但复杂验证码,无法通过识图识别,可以考虑使用第三方收费服务或通过机器学习让爬虫自动识别复杂验证码,识别后程序自动输入验证码继续数据爬取服务端限制“数据加密”反爬虫策略:有些网站把ajax请求的所有参数全部加密,根本没办法构造所需要的数据请求。有的网站反爬虫策略更复杂,还把一些基本的功能都封装了,全部都是在调用网站自己的接口,且接口参数也是加密的爬虫可以考虑用selenium+phantomJS框架,调用浏览器内核,并利用phantomJS执行js模拟人为操作,触发页面中的js脚本。从填写表单到点击按钮再到滚动页面,不考虑具体的请求和响应

文档评论(0)

执着仅一次 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档