部分网络只能通过Tor(“洋葱路由”项目)和I2P(“隐形网计划”)等网络访问。用户广泛使用洋葱浏览器和Tor可访问的站点,站点可以通过“.onion”域名识别。Tor专注于提供对互联网的匿名访问,而I2P则专注于匿名网站托管。分层加密系统使得基于洋葱路由访问网站的用户的身份和位置保持匿名,无法被追踪。洋葱路由中的加密技术通过大量中间服务器发送用户数据,保护了用户身份并保障匿名。传输的信息只能由路径中的后续节点解密,而这些节点通向出口节点。因为系统过于复杂,所以几乎不可能再生节点路径并逐层解密信息。由于高层次的加密,网站无法跟踪其用户的地理位置和IP,用户也无法获取网站主机的有关信息。因此,用户之间的通信是高度加密的,允许用户以保密方式交流、发博客以及共享文件。
下图为洋葱路由连接原理和网络拓扑图。
许多黑客通过洋葱路由网络出售服务,他们或独自行动或团体行动。这些黑客团体包括xDedic、hackforum、Trojanforge、Mazafaka、dark0de和TheRealDeal。针对金融机构和银行的网络犯罪和黑客服务也通过洋葱路由提供。各国政府和私营组织已经开始尝试监测这项活动。互联网规模的DNS分布式反射拒绝服务(DRDoS)攻击也通过利用洋葱路由实现。此外洋葱路由网络中还存在许多*类.onion站点,用户下载网站提供的工具后,电脑会感染特洛伊木马或被植入后门。
**该项目的意义在于使用流量检测的方法区分出正常网络行为产生的网络流量和通过洋葱路由访问的网络流量**
机器学习框架: scikit-learn csv格式数据集处理: Pandas 流量特征提取工具: CICflowmeter 流量采集工具: Wireshark
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜
In [ ]
#安装相关的第三方包!pip install scikit-learn !pip installIn [ ]pandas !pip install cicflowmeter
笔者的Wireshark安装于Ubuntu系统中,在Ubuntu可以使用apt-get直接安装Wireshark和其对应的服务
In [ ]!sudo apt-get update !sudo apt-get install wireshark
启动Wireshark需要请求使用管理员权限,如果未通过管理员权限启动会出现找不到采集端口的问题
In [ ]!sudo wireshark
如下图所示,启动Wireshark后需要选择端口进行抓包 一般直接选择对连接到因特网的网卡进行抓包 抓包后保存为pcap格式
接下来将使用CICflowmeter工具对流量进行特征提取
CICflowmeter是一款流量特征提取工具,该工具输入pcap文件,输出pcap文件中包含的数据包的特征信息,共80多维,以csv表格的形式输出。
CICflowmeter提取的都是传输层的一些统计信息,以一个TCP流或一个UDP流为一个单位。 TCP流以FIN标志为结束,UDP以设置的flowtimeout时间为限制,超过时间就判为结束。 在一个TCP流中有很多个数据包,先三次握手而后传输信息再四次挥手。 统计一个流中的统计信息作为提取的特征。 统计的特征都分前后向,规定由源地址到目的地址为正向,目的地址到源地址为反向。 为每个流构建一个标志叫Flow ID:192.168.31.100-183.232.231.174-46927-443-6,由源地址、目的地址、协议号组成。
#!cicflowmeter -f *.pcap -c *.csv #通过该命令将pcap格式的流量抓包文件转化为csv格式的特征文件(*号为文件名)。
上图为CICflowmeter工作时的输出。通过CICflowmeter我们可以从抓包文件中得到具有八十多个特征的csv格式数据集。 不过,在本次任务中我们不需要自行收集流量数据,加拿大网络安全研究所提供了使用相同工具和方法生成的数据集,数据集名称为ISCXTor2016。
在数据集中存在空值或无限值的情况,在这种情况下需要对数据集进行预处理以防止在后面的步骤中出现错误。 首先需要引入第三方包
In [1]import pandas as pdfrom sklearn.preprocessing import StandardScalerfrom sklearn import linear_modelimport numpy as npfrom sklearn.utils import shufflefrom sklearn import svmfrom sklearn import preprocessing
读取数据集并去除空值,注意!需要将特征和标签分离,避免在归一化的过程中出现错误
In [4]file = pd.read_csv('data/data150018/SelectedFeatures-10s-TOR-NonTOR.csv',skipinitialspace=True)print(file.columns)with pd.option_context('mode.use_inf_as_na', True):
file = file.dropna()#file = shuffle(file)y = file.iloc[:,-1]
standard_scaler = StandardScaler()
Index(['Source IP', 'Source Port', 'Destination IP', 'Destination Port',
'Protocol', 'Flow Duration', 'Flow Bytes/s', 'Flow Packets/s',
'Flow IAT Mean', 'Flow IAT Std', 'Flow IAT Max', 'Flow IAT Min',
'Fwd IAT Mean', 'Fwd IAT Std', 'Fwd IAT Max', 'Fwd IAT Min',
'Bwd IAT Mean', 'Bwd IAT Std', 'Bwd IAT Max', 'Bwd IAT Min',
'Active Mean', 'Active Std', 'Active Max', 'Active Min', 'Idle Mean',
'Idle Std', 'Idle Max', 'Idle Min', 'label'],
dtype='object')
对特征进行归一化,并转化为Pandas中的DataFrame
In [5]allX = file.drop(['Source IP','Destination IP','label'],axis=1) column = allX.columns
将X和Y连接后使用sklearn中的model_selection模块划分训练集和测试集
In [6]from sklearn.model_selection import train_test_split x_train, x_test, y_train, y_test = train_test_split(allX, y,test_size=0.25)
由于原始数据维度较大,为了降低训练时间开销,在这里通过PCA方法对数据进行降维。值得注意的是训练集和测试集需要分别进行降维,避免训练集的信息泄露至测试集中。
In [7]from sklearn.decomposition import PCA feature_reducted_train_data = PCA(n_components=24).fit_transform(x_train) feature_reducted_test_data = PCA(n_components=24).fit_transform(x_test)
引入和建立多个不同的机器学习模型
In [8]from sklearn.ensemble import AdaBoostClassifierfrom sklearn.neighbors import KNeighborsClassifierfrom sklearn import svm#使用KNN算法进行训练和预测knn = KNeighborsClassifier(n_neighbors=2) knn.fit(feature_reducted_train_data, y_train) knn_predict = knn.predict(feature_reducted_test_data)#使用Adaboost算法进行训练和预测randomforest = AdaBoostClassifier() randomforest.fit(feature_reducted_train_data, y_train) randomforest_predict = randomforest.predict(feature_reducted_test_data)#使用SVM算法进行训练和预测svm_object = svm.SVC(kernel='linear', max_iter=1000000,C=0.1) svm_object.fit(feature_reducted_train_data, y_train) svm_predict = svm_object.predict(feature_reducted_test_data)
from sklearn import metricsprint(metrics.classification_report(y_test, knn_predict))print(metrics.classification_report(y_test, randomforest_predict))print(metrics.classification_report(y_test, svm_predict))
# 网络安全
# 都是
# 的是
# 出现错误
# 多维
# 数据包
# 统计信息
# 图为
# 第三方
# 源地址
# 互联网
# ubuntu
# 浏览器
# wireshark
# udp
# sklearn
# pandas
# 征信
# red
# lsp
# 地理位置
# ai
# 工具
# 电脑
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
网络优化91478 】
【
技术知识72672 】
【
云计算0 】
【
GEO优化84317 】
【
优选文章0 】
【
营销推广36048 】
【
网络运营41350 】
【
案例网站102563 】
【
AI智能45237 】
相关推荐:
精选AI销售工具:提升业绩的终极指南(2025年最新)
豆包AI怎么优化年终总结语言_豆包AI文案润色与正式语气调整【指南】
2025年AI图像生成指南:Google Gemini Nano Banana教程
3步教你用AI自动分类文件,整理电脑告别杂乱
如何用ChatGPT模拟面试并优化你的求职文书?
Gemini手机端怎么开无障碍_Gemini无障碍设置方法【步骤】
LeetCode算法:最长公共前缀问题全面解析
Canva AI终极指南:免费AI聊天机器人,设计、视频、网站全搞定!
Ocfotech AI 房地产工具:提升房地产投资效率的终极指南
RPGGO AI:颠覆传统!2D游戏创作新纪元
OpenAI Sora 2:AI视频生成新纪元
Jasper AI的Recipes是什么 Jasper AI配方功能使用【详解】
百度AI搜索能否查实时新闻_百度AI搜索新闻频道与更新频率【方法】
ChatGPT高级图像编辑教程:黑白转换、裁剪与GIF动画制作
豆包 AI 辅助进行家庭装修风格对比分析
如何用AI帮你进行竞品功能对比分析?轻松制作对比矩阵
tofai登录入口官网 tofai网页版地址链接
如何配置 DeepSeek 以支持企业级私有化部署
打造AI Jarvis:停止功能、联网、中文与人脸集成
免费高效获客!ChatGPT助你快速生成潜在客户名单
AdobeExpressAI智能排版怎么快速生成Logo_AdobeExpressAI智能排版Logo生成入口【步骤】
如何用AI自动生成Python代码 AI编程助手ChatGPT使用方法【教程】
LTX Studio:AI电影制作平台深度评测与应用指南
AI简历优化指南:如何让你的简历轻松通过ATS筛选系统
Depseek怎么设置总结汇报重点_Depseek重点突出与关键词标注方法【步骤】
DeepSeek写小说怎么用_DeepSeek写小说使用方法详细指南【教程】
AI驱动法律文件分类:效率提升与战略决策的新纪元
文心一言怎么一键生成会议纪要_文心一言纪要生成与重点提取【指南】
AI产品经理:AI赋能与AI原生,未来PM的技能演进
Sora AI:颠覆视频创作?OpenAI最新文生视频模型深度解析
Comet浏览器:使用ChatGPT增强您的搜索体验
Google AI Studio 中的提示词微调实验教程
Claude怎么用新功能故事创作_Claude故事创作使用【方法】
AI Lead Generation: 解锁未来增长引擎,营销新纪元
AI图像生成偏见:克服与优化,打造更真实的数字形象
tofai官网入口网站 tofai官网入口网页版
2025年必备:顶级AI工具,赋能您的日常工作和业务流程
通义听悟转会议纪要怎么用_通义听悟转会议纪要使用方法详细指南【教程】
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
扣子AI怎样设置多轮对话逻辑_扣子AI逻辑树搭建与分支设计【教程】
Spin Rewriter AI:终极内容创作与SEO优化指南
Midjourney怎样写风格化提示词_Midjourney风格提示词写法【教程】
批改网AI检测工具怎样开启实时检测_批改网AI检测工具实时检测开启与延迟设置【指南】
如何用AI生成正则表达式?再也不怕复杂的文本匹配
AI猴子视频制作终极指南:从入门到网红,轻松上手!
AI Sales Assistant:提升销售效率与客户互动的终极指南
怎么用AI帮你写一份有说服力的加薪申请?
Z270 Mini-ITX主板全面评测:为Skylake和Kaby Lake打造迷你主机
今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】
Feelin网页版在线玩 Feelin角色扮演网页版入口
2025-07-28
南京市珐之弘网络技术有限公司专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。