根据老师给的 300w 域名列表爬到的相应 DNS 响应数据。


参考两篇论文中对域名数据特征的选择, 可以分为两个方面, 一方面是词法特征, 另一个方面是网络属性, 以下先对所有的属性进行汇总:

以下是对两篇论文中域名数据的汇总和筛选:

提取基于网页内容的判别结果中的数据作为黑名单, 以及在判别结果中出现的部分alextop域名作为白名单, 进行以上特征的统计分析: 第一个是域名长度的统计, 可以看出与正常域名相比, 赌博色情域名的长度曲线更尖锐, 往往集中于10到15的长度

第二个是对分隔符’.'的出现次数统计, 可以看出赌博色情网站比正常网站的分隔符略多

第三个是对特殊字符的出现频率检测, 在这一项上两者没有表现出特别大的区别

第四个是数字占域名总长度比例的统计, 对正常域名来说, 数字的比例几乎都小于0.1, 而赌博色情网站的比例则分布的比较平均

第五个是分隔符内数字个数的最大值, 它与上一项的主要差别在于与总长度无关, 同样的, 对正常域名来说, 很少出现大于2个的数字, 而赌博色情域名则较长出现多个数字

第六个是分隔符间的最大长度, 结果与域名总长度类似

第七个是数字字母的转换频率, 如a11b的转换频率就是2, 这一项正常域名和赌博色情域名的差别也比较大, 正常域名的切换频率普遍都比较小,而赌博色情域名则大多有1-3次的转换频率

从以上结果可以看出, 在长度、字母/数字数量和出现频率等方面, 正常域名和赌博色情域名均表现出了差别。
再从网络特征方面来看, 对白名单和黑名单中的域名进行进一步的请求探测(使用dnspython库, 最新stable版本1.15.0 更新于sep 2016): dnspython的resolver模块提供了dns查询的借口—query方法, 可以指定查询类型, 如A, CNAME, AAAA等, 查询结果可能为NoAnswer(无响应), NXDOMAIN(域名不存在), TimeOut(请求超时)等。我们对黑名单和白名单中的所有域名进行了请求, 得到了它们特征之间的对比图像: 首先是TTL值, 前一张图片是重新请求的黑名单与白名单的TTL值, 可以看出黑名单的值明显较为分散

但是对于五个月前的请求值, 又发现白名单的请求值较为分散(因此这个特征有待商榷):

而对于请求类型来说, 明显可以看出白名单中域名的类型分布更加分散, 这是因为公司和机构有更多的资金去进行优化, 而赌博色情网站大多为了盈利, 而且域名时常有变动, 不会进行较全面的映射。

1. Identifying Gambling and Porn Websites with Image Recognition 这篇文章里中用截图的方式对整个网页的内容进行抓取(截图的代码可以参考:https://blog.csdn.net/qiqiyingse/article/details/62896264) 然后使用SURF算法提取特征点(SURF算法:https://blog.csdn.net/tengfei461807914/article/details/79177897) 特征点聚类后建立BoW词袋模型(这是一个通过BoW搜索同类图像的代码:http://yongyuan.name/blog/CBIR-BoW-for-image-retrieval-and-practice.html) 最后用SVM(支持向量机)做监督学习
2. An efficient scheme for automatic web pages categorization using the support vector machine(New Review of Hypermedia & Multimedia,2016) 首先对先前的分类方法进行了评估,提出在小训练集上svm的表现比贝叶斯好 然后提出在html5出现之后,之前的基于网页标签的特征提取需要进行改进,并提出了新的方法 最后用svm对网页进行分类,并做出评估
3. LWCS: a large-scale web page classification system based on anchor graph hashing 文章介绍了LWCS这个大规模网页分类系统的组成和工作原理 第一步是网页爬虫,使用heritrix这个基于Java的开源爬虫,改为数据库初始化,增加了筛选重复网页的过滤器,重写了工作队列 第二步是对爬下来的原始数据去噪, 然后使用NLPIR将文本内容分割为短语 第三步是特征选择,采用tf-idf方法(https://blog.csdn.net/allenshi_szl/article/details/6283375) 选择每个类别的前500个词语 第四步是锚点图哈希, 用K均值聚类方法生成锚点, 以及最后的哈希码 第五步是使用KNN分类器计算每个需要判别的网页与训练集中网页的相似度, 并把它归为相似度最大的一类
4. Building a Dynamic Reputation System for DNS 基于被动DNS信息搜集的DNS信誉评判系统, 可以生成一个动态的域名黑名单, 可检测出最新生成的恶意域名 其数据来自美国两个州的骨干网DNS…
以上整理并转自我的个人 GitHub 账号,如需转载请注明出处,谢谢 !