iis 网站压缩外贸网站 费用
news/
2025/9/23 1:22:56/
文章来源:
iis 网站压缩,外贸网站 费用,邢台市建设工程质量监督网站,做pc端网站必知文章目录 下载数据集NSL-KDD数据集介绍输入的41个特征输出的含义数据处理训练技巧建神经网络#xff0c;输入41个特征#xff0c;输出是那种类别的攻击模型训练模型推理写gradio前端界面#xff0c;用户自己输入41个特征#xff0c;后端用模型推理计算后显示出是… 文章目录 下载数据集NSL-KDD数据集介绍输入的41个特征输出的含义数据处理训练技巧建神经网络输入41个特征输出是那种类别的攻击模型训练模型推理写gradio前端界面用户自己输入41个特征后端用模型推理计算后显示出是否是dos攻击。使用方法获取代码和模型 【深度学习】用神经网络进行入侵检测NSL-KDD数据集用TCP连接特征判断是否是网络入侵
下载数据集NSL-KDD
NSL-KDD数据集有dos,u2r,r21,probe等类型的攻击和普通的正常的流量即是这样
Normal正常记录 DOS拒绝服务攻击 PROBE监视和其他探测活动 R2L来自远程机器的非法访问 U2R普通用户对本地超级用户特权的非法访问
数据集样子 数据集介绍
https://towardsdatascience.com/a-deeper-dive-into-the-nsl-kdd-data-set-15c753364657 https://mathpretty.com/10244.html
输入的41个特征
下面是对TCP连接的41个特征的介绍
特征编号特征名称特征描述类型范围1duration连接持续时间从TCP连接建立到结束的时间或每个UDP数据包的连接时间连续[0, 58329]秒2protocol_type协议类型可能值为TCP, UDP, ICMP离散-3service目标主机的网络服务类型共70种可能值离散-4flag连接状态11种可能值表示连接是否按照协议要求开始或完成离散-5src_bytes从源主机到目标主机的数据的字节数连续[0, 1379963888]6dst_bytes从目标主机到源主机的数据的字节数连续[0, 1309937401]7land若连接来自/送达同一个主机/端口则为1否则为0离散0或18wrong_fragment错误分段的数量连续[0, 3]9urgent加急包的个数连续[0, 14]10hot访问系统敏感文件和目录的次数连续[0, 101]11num_failed_logins登录尝试失败的次数连续[0, 5]12logged_in成功登录则为1否则为0离散0或113num_compromisedcompromised条件出现的次数连续[0, 7479]14root_shell若获得root shell 则为1否则为0离散0或115su_attempted若出现su root 命令则为1否则为0离散0或116num_rootroot用户访问次数连续[0, 7468]17num_file_creations文件创建操作的次数连续[0, 100]18num_shells使用shell命令的次数连续[0, 5]19num_access_files访问控制文件的次数连续[0, 9]20num_outbound_cmds一个FTP会话中出站连接的次数连续021is_hot_login登录是否属于“hot”列表是为1否则为0离散0或122is_guest_login若是guest登录则为1否则为0离散0或123count过去两秒内与当前连接具有相同的目标主机的连接数连续[0, 511]24srv_count过去两秒内与当前连接具有相同服务的连接数连续[0, 511]25serror_rate过去两秒内在与当前连接具有相同目标主机的连接中出现“SYN”错误的连接的百分比连续[0.00, 1.00]26srv_serror_rate过去两秒内在与当前连接具有相同服务的连接中出现“SYN”错误的连接的百分比连续[0.00, 1.00]27rerror_rate过去两秒内在与当前连接具有相同目标主机的连接中出现“REJ”错误的连接的百分比连续[0.00, 1.00]28srv_rerror_rate过去两秒内在与当前连接具有相同服务的连接中出现“REJ”错误的连接的百分比连续[0.00, 1.00]29same_srv_rate过去两秒内在与当前连接具有相同目标主机的连接中与当前连接具有相同服务的连接的百分比连续[0.00, 1.00]30diff_srv_rate过去两秒内在与当前连接具有相同目标主机的连接中与当前连接具有不同服务的连接的百分比连续[0.00, 1.00]31srv_diff_host_rate过去两秒内在与当前连接具有相同服务的连接中与当前连接具有不同目标主机的连接的百分比连续[0.00, 1.00]32dst_host_count前100个连接中与当前连接具有相同目标主机的连接数连续[0, 255]33dst_host_srv_count前100个连接中与当前连接具有相同目标主机相同服务的连接数连续[0, 255]34dst_host_same_srv_rate前100个连接中与当前连接具有相同目标主机相同服务的连接所占的百分比连续[0.00, 1.00]35dst_host_diff_srv_rate前100个连接中与当前连接具有相同目标主机不同服务的连接所占的百分比连续[0.00, 1.00]36dst_host_same_src_port_rate前100个连接中与当前连接具有相同目标主机相同源端口的连接所占的百分比连续[0.00, 1.00]37dst_host_srv_diff_host_rate前100个连接中与当前连接具有相同目标主机相同服务的连接中与当前连接具有不同源主机的连接所占的百分比连续[0.00, 1.00]38dst_host_serror_rate前100个连接中与当前连接具有相同目标主机的连接中出现SYN错误的连接所占的百分比连续[0.00, 1.00]39dst_host_srv_serror_rate前100个连接中与当前连接具有相同目标主机相同服务的连接中出现SYN错误的连接所占的百分比连续[0.00, 1.00]40dst_host_rerror_rate前100个连接中与当前连接具有相同目标主机的连接中出现REJ错误的连接所占的百分比连续[0.00, 1.00]41dst_host_srv_rerror_rate前100个连接中与当前连接具有相同目标主机相同服务的连接中出现REJ错误的连接所占的百分比连续[0.00, 1.00]
这个表格提供了关于TCP连接的41个特征的详细介绍包括特征编号、特征名称、特征描述、类型以及范围。
输出的含义
数据集是一个csv表格倒数第二列就是类别标签大类其实就五个
[normal, dos, probe, r2l, u2r]但csv里写的详细的标签
可以通过这个程序转换
# 结果标签转换为数字
dos_type [back, land, neptune, pod, smurf, teardrop, processtable, udpstorm, mailbomb,apache2]
probing_type [ipsweep, mscan, nmap, portsweep, saint, satan]
r2l_type [ftp_write, guess_passwd, imap, multihop, phf, warezmaster, warezclient, spy, sendmail,xlock, snmpguess, named, xsnoop, snmpgetattack, worm]
u2r_type [buffer_overflow, loadmodule, perl, rootkit, xterm, ps, httptunnel, sqlattack]
type2id {normal: 0}
for i in dos_type:type2id[i] 1
for i in r2l_type:type2id[i] 2
for i in u2r_type:type2id[i] 3
for i in probing_type:type2id[i] 4
数据处理训练技巧
数据预处理
讨论原始网络数据面临的挑战高维度、类别特征和连续特征。
使用的技术
对类别数据协议类型、服务和标志进行独热编码。
标准化连续特征以处理不同的尺度。
如何处理缺失数据如果有通过插值或删除。
使用StandardScaler和pickle保存缩放参数以保持一致的预处理。
处理不平衡数据
讨论入侵检测数据集中的不平衡问题。
介绍ImbalancedDatasetSampler的使用及其如何帮助实现平衡的小批量。
使用此类采样器对深度学习模型训练的好处。
模型架构
解释两个提出的模型BGRUNet2和AttentionModel。
详细介绍GRU门控循环单元层、双向性和注意力机制。
权重初始化技术如Xavier和Kaiming初始化。
使用Dropout和Batch Normalization防止过拟合。
训练技巧
使用CosineAnnealingLR进行学习率调度以适应性地调整学习率。
选择Adam优化器而非传统的SGD的原因。
损失函数的选择及其对模型训练的影响。
实验设置
数据加载器和批处理过程的描述。
利用GPU进行高效模型训练。
在训练过程中评估模型准确性和损失的过程。
建神经网络输入41个特征输出是那种类别的攻击
神经网络模型 class BGRUNet2(nn.Module):def __init__(self, input_size, hidden_size, output_size):super(BGRUNet2, self).__init__()self.hidden_size hidden_sizeself.gru nn.GRU(input_size, hidden_size, batch_firstTrue, bidirectionalTrue)self.fc1 nn.Linear(hidden_size * 2, 512) # Multiply hidden size by 2 for bidirectionalself.fc2 nn.Linear(512, 64)self.fc3 nn.Linear(64, output_size)self.dropout nn.Dropout(0.2)# Initialize GRU weightsfor name, param in self.gru.named_parameters():if weight_ih in name:init.xavier_uniform_(param.data)elif weight_hh in name:init.orthogonal_(param.data)elif bias in name:param.data.fill_(0)# Initialize fully connected layer weightsinit.xavier_uniform_(self.fc1.weight)init.xavier_uniform_(self.fc2.weight)init.xavier_uniform_(self.fc3.weight)# Initialize fully connected layer biasesinit.zeros_(self.fc1.bias)init.zeros_(self.fc2.bias)init.zeros_(self.fc3.bias)def forward(self, x):# Initialize hidden state for bidirectional GRUh0 torch.zeros(2, x.size(0), self.hidden_size).to(x.device) # 2 for bidirectional# Forward pass through GRUout, _ self.gru(x, h0)# Concatenate the hidden states from both directionsout torch.cat((out[:, -1, :self.hidden_size], out[:, 0, self.hidden_size:]), dim1)out self.dropout(out)out F.relu(self.fc1(out))out self.dropout(out)out F.relu(self.fc2(out))out self.dropout(out)return self.fc3(out)
模型训练
训练30轮准确度最高97.2% 随着训练轮数的变化损失的变化 模型推理
加载模型后构建输入数据模型推导得出结果
device torch.device(cuda if torch.cuda.is_available() else cpu)
model BGRUNet2(input_size122, hidden_size256, output_size5)
model.load_state_dict(torch.load(model_accuracy_max.pth, map_locationdevice))
model.to(device)
model.eval()
time1 time.time()
with torch.no_grad():X X.to(device)outputs model(X)# softmaxoutputs F.softmax(outputs, dim1)_, predicted torch.max(outputs.data, 1)time2 time.time()写gradio前端界面用户自己输入41个特征后端用模型推理计算后显示出是否是dos攻击。
运行代码后访问http://127.0.0.1:7869/
可以看到
填写特征太多有点懒得填可以拉到最底下有例子可以点一下例子数据 然后点一下Submit模型推流后给出结果可以看到模型认为这次TCP连接数据表明了这是probe入侵概率是1模型推理消耗了0.002秒。 使用方法 执行python run2.py。即可开启训练。
执行python infer.py。即可开启gradio前端界面。
获取代码和模型
go
https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tabBB08J2
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/910987.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!