欢迎访问获嘉县宇宇网络传媒有限责任公司(http://www.bjxzys.com)!

网站域名测试方法(域名在线测试)网站域名测试,

目录:

1.网站域名测试兼职

2.网站域名测试

3.网站域名测试方法

4.域名在线测试

5.网站域名测吉凶

6.域名检测网站

7.免费域名检测

8.域名ping测试

9.域名网速测试

10.域名测试怎么测试

1.网站域名测试兼职

湖南网站seo

2.网站域名测试

想要了解该内容的看客们一定对DGA相关内容有一定了解了,这里就不再赘述,只是做简单说明这方面内容近几年在安全领域算是比较热门的(包括僵尸网络,DNS流量,DGA域名备案的网站域名等等)什么是僵尸网络僵尸网络中用来控制主机,负责处理信息,下发任务的中心机器,也称C&C服务器(control & command)。

3.网站域名测试方法

一个成熟的僵尸网络往往具有多个C&C服务 器 对于安全人员来说,查杀了僵尸网络的C&c服务器也就等于毁灭而这个僵尸网络,那么作为安全对抗,僵尸网络的缔造者也会想尽办法对其进行隐藏和保护其主控端那么对于固定的C&C服务器域名,安全人员一般来说很容易备案的网站域名对其进行查杀,因此,基于DGA方法僵尸网络也就产生了,DGA全程随机域名生成算法,是指使用主控端和被控端协商好的一种基于随机算法的域名生成协议,简单来说就是生成一个随机字符串来作为域名并进行注册,将其作为C&C服务器的域名并不定时经常性更换。

4.域名在线测试

由于具备强随机性,短时效性,通过DGA生成的域名往往在查杀上更具备难度使用机器学习的方法来对DGA域名进行查杀,业界已有实现;笔者首次接触实在备案的网站域名2016年wooyun年会上一位圈内大牛的一篇报告,在报告中他详细介绍了包括二层,三层flux方法等在内的诸多高级生成DGA方法,并从数学上介绍了一些生成算法以及机器学习的检测方法.本文是参考

5.网站域名测吉凶

https://github.com/phunterlau/dga_classifier的一个简单实现版本全部代码可以在 笔者GitHub项目中查看https://github.com/0F备案的网站域名uzzingQ/dg。

6.域名检测网站

a_check实现导入我们需要用到的python库;需要注意的是这里使用的是python2版本,python3需要改一下代码,另外crossvalidation方法貌似现在也已经不用了,需要从model_

7.免费域名检测

selection中导入import sys import os import numpy as np 备案的网站域名 import pandas as pd import matplotlib.pyplot as plt import sklearn import argparse from load import load_data from common import getshan,getyuanyin,getroot备案的网站域名,getrootclass,getlen,getw2v from sklearn.feature_extraction.text import CountVectorizer import re from sklearn import preprocessing from sklearn.utils import shuffle 备案的网站域名 from sklearn import cross_validation from sklearn.svm import SVC import seaborn as sns plt.style.use(seaborn) sns.set(font_scale=2) pd.set_option(display.备案的网站域名max_columns, 500)

8.域名ping测试

本次使用训练集位于train.txt中,共包含10w正常url数据以及15w 使用DGA算法生成的域名数据 首先载入数据集看一下数据集情况method = train path = train.txt train_data = load_data(path,method) train_data.备案的网站域名info()

9.域名网速测试

可以看到正常域名都是大家比较熟悉的那些,Google,youtube等等而恶意域名,肉眼可见的奇怪,而且…根域名更奇怪那么就先把根域名尝试作为一个特征吧,探测一下!周所周知,正大光明的网站一般使用正大光明的域名,比如说很常见的如com;cn;org;cc;net等等,因此我们把这个作为一个点来分类;由于是一个简单的项目,我们不是用one-hot编码,频率编码等手段,备案的网站域名仅仅依照经验将其分为常见,不常见两个类别。

10.域名测试怎么测试

注:本文的功能函数代码均位于github中common.py文件中,我们这里将他们写全def getroot(domain): return domain.split(.)[-1] def getrootclass(root): common_root = [cn,com,cc,net备案的网站域名,org,gov,info] if root in common_root: return 0 else: return 1

以下第一行代码用于获取每一个域名的根域名并加入DataFrame中 第二行代码用于分类并将类别信息加入DataFrame中,在这里我们简单的依据尝试选出一些常见的域名,作为网站经常使用的正常域名train_dat备案的网站域名a[root] = train_data[domain].map(lambda x:getroot(x)).astype(str) train_data[rootclass] = train_data[root].map(lambda x:getrootclass(x)).astype(int)

再看一下数据情况,会发现咱们原本的DataFrame多了两列信息,就是我们刚才加上去的~备案的网站域名

有没有发现看上去好像正常域名的rootclass都等于0,不正常的都等于1; 感觉好像是的!那么我们来画个图看一看再整个数据集上的分布吧suby = train_data.label.values subx = train_data.rootclass.values sns.countplot(x=rootclass, hue=label,data=train_d备案的网站域名ata)

ok 很明显可以看出来数据分布上的差异了,在正常样本上也就是label=0时,常见根域名出现的概率远远大于非正常域名,几乎可以说是忽略不计,而对于不正常域名label=1时,非常见根域名出现的概率大概是正常域名的4-5倍

所以我们完全可以将根域名作为我们模型的一个特征 笔者采用的这种方法是较为简陋的一种,更科学地特征工程可以更好的挖掘这一特征接下来挖掘一些其他可能的特征,比如说最简单的,长度备案的网站域名?试试看,还是使用一样的思路,将每一条域名的长度计算出来来,作为一列加入到我们的train_data中,并采用可视化的方法来看一看域名的长度是否在不同label上有着不同的分布

以下代码用于计算每个域名的长度并返回结果,作为train_data中的一列def getlen(domain): return len(domain) train_data[len] = t备案的网站域名rain_data[domain].map(lambda x:getlen(x)).astype(int) sns.countplot(x=len, hue=label,data=train_data)

外贸网站seo推广

我们可以发现非正常域名的长度分布更加集中,而正常域名分布更像是一个正态分布,ok,把他作为一个特征下一步要想一想还有什么特征 信息学中有一个很重要的概念,叫熵(虽备案的网站域名然它最早出自化学和物理学2333),在信息学中,它用于衡量一个系统的混乱程度,简而言之,对于一个随机字符串,他就代表着字符串中字母出现以及分布的混乱程度,打个比方: str1 = aaabbb str2 = asdfgh 两者长度相同,可是看上去str1比str2更整齐,更有规律不少,而str2更像是用脸滚键盘滚出来的,熵主要用于判断器混乱程度,不同于我们用肉眼判断,她有一个著名的公式,叫香农熵公备案的网站域名式:

G = -ΣLog(P(Xi)) * P(Xi)其中P(Xi)是字符出现的概率 比如 str1中 P(a) = 3 / (3+3) = 0.5 str2中 P(a) = 1 / (6) = 0.166667

def getshan(domain): tmp_dict = {} domain_len = len(domain) for i in ra备案的网站域名nge(0,domain_len): if domain[i] in tmp_dict.keys(): tmp_dict[domain[i]] = tmp_dict[domain[i]] + 1 else: tmp_dict[domain[i]] = 1 shannon = 0 for i in tmp备案的网站域名_dict.keys(): p = float(tmp_dict[i]) / domain_len shannon = shannon – p * math.log(p,2) return shannon train_data[shan] = train_data[domain].map(lambda x:getshan(x)).a备案的网站域名stype(float)

接下来还有什么参数呢,plunter的原文从语言学提供了提供了一些新的思路,比如说 好读没错,根据常规来说一个正常的网站一定会希望他的网站域名是读起来朗朗上口并且好记的,根据语言学和音韵学来说,貌似在字符中插入一定的元音字母会让一个字符串卡萨诺航区或者读起来更像是一个单词一样,元音是啥 a e i o u ,比如说 baidu 五个字母中有3个都是元音 再比如说 googl备案的网站域名e 六个字母中有3个元音,比如说zzzzuvfbt 9个单词中只有一个元音…

看上去这会是一个好的特征 我们来看看! 以下一行代码用于计算元音字母所占的比例def getyuanyin(domain): yuan_list = [a,e,i,o,u] domain = domain.lower() count_word = 0 co备案的网站域名unt_yuan = 0 yuan_ratio = 0 for i in range(0,len(domain)): if ord(domain[i]) >= ord(a) and ord(domain[i]) <= ord(z): count_word = count_word + 1 if domain[i] in备案的网站域名 yuan_list: count_yuan = count_yuan + 1 if count_word == 0: return yuan_ratio else: yuan_ratio = float(count_yuan) / count_word return yuan_ratio 备案的网站域名 train_data[yuan_ratio] = train_data[domain].map(lambda x:getyuanyin(x)).astype(float)

结果显而易见 正常域名中元音所占的比率远远大于非正常域名!OK,暂时想不到其他的什么特征了,就用这几个建立一个demo版本吧特征有了,下一步干啥呢归一化,就是把数据的范围放缩至一个相同的范围以避免数据跨度或量级的巨大差别而导备案的网站域名致训练上的困难或者结果上的偏差(一般来说非树形的算法容易受到这种影响) sklearn给出了丰富强大的接口来帮你

scaler = preprocessing.StandardScaler() len_scale_param = scaler.fit(train_data[len].values.reshape(-1,1)) train_data[len_scaled备案的网站域名] = scaler.fit_transform(train_data[len].values.reshape(-1,1),len_scale_param) shan_scale_param = scaler.fit(train_data[shan].values.reshape(-1,1)) train_data[shan_sclaed] = scaler.fit备案的网站域名_transform(train_data[shan].values.reshape(-1,1),shan_scale_param)

ok 现在看一下我们在经过特征工程和数据预处理以后的数据长啥样吧

train_pre = train_data.filter(regex = label|yuan_ratio|len_scaled|shan_scale_param|rootclass) 备案的网站域名train_pre = shuffle(train_pre)

看上去是一些靠谱的特征了,那么最后一步,把我们需要的特征都拿出来,带入模型训练首先,我们需要的列:rootclass,yuan_ratio,len_scaled,shan_scaled是我们所需要的,把他们拿出来,转化成numpy矩阵的格式

shuffle()是一个很好用的函数,他将帮你把你的数据集打乱顺序,避免相同label的数据都堆积在备案的网站域名一起好啦!接下来,我们把数据转化成矩阵,并且切分成训练集和测试集(正常来说还应该有一个数据集叫做验证集,本例只作简单演示,就去掉啦)

train_pre =train_pre.as_matrix() y_train = train_pre[0:200000,0] x_train = train_pre[0:200000,1:] y_test = tra备案的网站域名in_pre[200000:201000,0] x_test = train_pre[200000:201000,1:]

OK 数据处理的过程到这里就已经全部结束了,接下来要做的,就是选择一个合适的模型进行训练了本次我们选择经典的SVM函数,并选择RBF作为核方法model = SVC(kernel=rbf,C=0.4).fit(x_train,y_train) pr备案的网站域名int (training finished) pre = cross_validation.cross_val_score(model,x_test,y_test,cv = 5) print (pre)

结果:

使用测试机集做了一哈验证,平均准确率在88%上下,emmmm 效果差强人意,毕竟只是一个小样例,要求不能太高哈23333本篇over 如果想了解关机器学习算备案的网站域名法 可以参考 李航博士的 《统计学习方法》 和周志华教授的 《机器学习》

下一篇将会尝试使用深度学习的方法完成这一任务并大大提升准确率

网站seo化自己可以吗

  • 最新
  • 最热