本发明涉及一种识别网站指纹的方法,具体涉及一种基于流量识别网站指纹的方法。
背景技术:
目前通用的指纹分析方式是通过对目标站点发请求包或攻击包,通过对响应头和响应体进行解析从而判断网站是否包含某种指纹信息。随着目前人们网络安全意识的不断提高和技术的不断发展,市面上也有越来越多的网站防护措施,这些防护措施有效的拦截了恶意请求和攻击的同时也使的正常指纹探测的难度和准确地越来越差。
该问题不解决,将使各安全厂商在应对0day产生时,无法准确的分析其影响范围。同时错误影响范围的发布将会造成人们的恐慌,造成其公信力的降低。
伴随着internet的普及和业务发展,人们对交换机的需求也越来越大。交换机是任意两个网络节点提供独享的电信号通路。基于交换机的作用,理所当然的所有的请求和响应包也会从交换机上获取到,通过对这种方式获取的流量数据的分析识别出来的指纹信息将更加全面准确。
因此,需要采取一定探测方式,提高探测的准确性。
技术实现要素:
本发明要解决的技术问题是提供一种高效的基于流量识别网站指纹的方法。
为解决上述技术问题,本发明提供一种基于流量识别网站指纹的方法:包括以下步骤:
1)、对镜像端口流量数据进行解析;
2)、获取网站指纹信息并储存开发语言。
作为对本发明基于流量识别网站指纹的方法的改进:
步骤1包括:
1.1)、对镜像的流量数据解析;
1.2)、对抓取的数据包进行识别,判断是否为tcp数据包;
如是tcp数据包,则执行步骤1.3,判断是请求包或是响应包;如果不是tcp数据包,则放行;
1.3)、对tcp数据包进行解析并配对;
若抓取的tcp数据包为请求包,则获取其总的tcp长度大小及seq值大小,将tcp长度和seq值相加的结果放入redis中;
key键为相加结果,value值为http请求头;
若抓取的包为响应包,获取其ack值;执行步骤1.4;
1.4)、判断redis中是否有该ack值对应的key;
若有,执行步骤1.5;
1.5)、将步骤1.4中的key取出并与本次响应(ack值)进行组合成一个完整的请求响应包,执行步骤2。
作为对本发明基于流量识别网站指纹的方法的进一步改进:
步骤1.1为:使用scapysniff监听镜像网卡的流量数据。
作为对本发明基于流量识别网站指纹的方法的进一步改进:
步骤2包括:获取开发语言和cms框架并储存。
作为对本发明基于流量识别网站指纹的方法的进一步改进:
步骤2包括:
2.1)、从响应包中获取响应头信息;
根据响应头的x-powered-by判断开发语言是否为php、asp.net;根据请求头中path是否包含.action或jsp且响应包中响应码是否为200判断出该网站的开发语言是否为java;
如果识别语言为java则执行步骤2.2.2,如果为php则执行2.2.1,如果为asp.net则执行2.2.3;
2.2.1)、php开发语言的cms框架有eschop、dedecms、discuz、wordpress、phpwind、phpcms、帝国cms;
2.2.2)、基于java开发语言的cms框架有publiccms、opencms、jeecms;
2.2.3)、基于asp.net非法语言的cms框架有dtcms、roycms、kaliko;
2.3)、储存指纹识别结果。
本发明基于流量识别网站指纹的方法的技术优势为:
本发明提出基于流量数据分析指纹信息有效的解决了各种防护设备造成的指纹协议识别不到或准确率低的现象。具有高可靠性和高效性的优点。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细说明。
图1为本发明基于流量识别网站指纹的方法的流程示意图。
具体实施方式
下面结合具体实施例对本发明进行进一步描述,但本发明的保护范围并不仅限于此。
实施例1、基于流量识别网站指纹的方法,如图1所示,包括以下步骤:
1)、对镜像端口流量数据进行解析
1.1)、对镜像的流量数据解析
使用scapysniff监听镜像网卡的所有流量数据;
1.2)、对抓取的数据包进行识别,判断是否为tcp数据包;
如是tcp数据包,则执行步骤1.3,判断是请求包或是响应包;如果不是tcp数据包,则放行;
1.3)、对tcp数据包进行解析并配对
若抓取的tcp数据包为请求包,则获取其总的tcp长度大小及seq值大小,将tcp长度和seq值相加的结果放入redis(键值对高速缓存数据库)中;
key键为相加结果,value值为http请求头(从tcp协议中获取请求包,http请求头在下面scap抓包结构中可以获取)。
若抓取的包为响应包,获取其ack值;执行步骤1.4;
1.4)、判断redis中是否有该ack值对应的key;
若有,执行步骤1.5;
1.5)、将步骤1.4中的key取出并与本次响应(ack值)进行组合成一个完整的请求响应包,执行步骤2;
scap抓包http协议数据结构
请求包
响应包
伪代码实现
2)、对步骤1.5得到的请求响应包指纹规制匹配;
2.1)、从响应包中获取响应头信息,响应头的x-powered-by(对应的开发语言php、asp.net等)初步筛选出开发语言类网站和其他类型指纹;
根据请求头中path是否包含.action或jsp且响应包中响应码是否为200判断出该网站的开发语言是否为java;
如果识别语言为java则执行步骤2.2.2,如果为php则执行2.2.1,如果为asp.net则执行2.2.3。
对已识别出开发语言类指纹的网站可以根据后续针对该开发语言的cms类型进行具体探测,使用该方式可以大幅度提高指纹监测效率。
2.2)、规制匹配
大类:开发语言、操作系统、server类型、cms类型;
其中:
开发语言:php、asp.net、java等
操作系统:linux、windows等
server类型:nginx、openresty、tomcat、iis、apache等
cms类型:eschop、dedecms、discuz、wordpress、phpwind、phpcms、帝国cms、dkcms、phpmaps等;
规制匹配;其中cms类型中每种类型都跟开发语言类型相关,
2.2.1)、php开发语言的cms框架有eschop、dedecms、discuz、wordpress、phpwind、phpcms、帝国cms等,
2.2.2)、基于java开发语言的cms框架有publiccms、opencms、jeecms等。
2.2.3)、基于asp.net非法语言的cms框架有dtcms、roycms、kaliko等
2.3)、储存指纹识别结果。
这样将各种指纹类型关联起来之后相比较原始的指纹监测方式监测效率会提升很大。
最后,还需要注意的是,以上列举的仅是本发明的若干个具体实施例。显然,本发明不限于以上实施例,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。
代做工资流水公司淮安代开签证工资流水沧州房贷流水代办福州自存银行流水代办湛江在职证明代办南通银行流水账单报价莆田银行流水费用天津工资流水账单样本遵义背调银行流水开具常德做银行流水电子版邢台代做贷款银行流水广州个人银行流水多少钱潮州查询工资流水银川企业贷流水多少钱扬州查询自存银行流水苏州开消费贷流水吉林工资证明模板东莞对公账户流水图片东莞背调工资流水南京日常消费流水办理北京签证流水代办泰州对公流水代办打入职银行流水宜昌公司流水代做遵义代做个人银行流水郑州银行流水单价格西安代办银行对公流水三亚薪资流水办理新乡做消费贷流水莆田开工资证明临沂开房贷流水香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤