在 Python 中使用机器学习来检测钓鱼链接

本文将会给出一个简短的教程,旨在介绍如何检测这种网络钓鱼的企图。

在网络钓鱼攻击中,用户会收到一封带有误导性链接的邮件或信息,攻击者可以利用它来收集重要数据,比如你的银行卡密码。本文将会给出一个简短的教程,旨在介绍如何检测这种网络钓鱼的企图。

在 Python 中使用机器学习来检测钓鱼链接

通过网络钓鱼攻击,攻击者能够获得一些重要凭证,这些凭证可以用来进入你的银行或其他金融账户。攻击者发送的 URL 看起来与我们日常使用的原始应用程序完全相同。这也是人们经常相信它,并在其中输入个人信息的原因。钓鱼网址可以打开一个网页,它看起来与你的银行的原始登录页面相似。最近,这样的网络钓鱼攻击正变得相当普遍,所以,检测钓鱼链接变得非常重要。因此,我将介绍如何在 Python 中使用机器学习来检查一个链接是误导性的还是真实的,因为它可以帮助我们看到网页代码及其输出。注意,本文将使用 Jupyter Notebook。当然,你也可以使用 Google Colab 或 Amazon Sagemaker,如果你对这些更熟悉的话。

下载数据集

第一步,我们需要用于训练数据集。你可以从下面的链接中下载数据集。

训练机器进行预测

当数据集下载完成,我们需要使用以下几行代码来导入所需的库:

“`
import pandas as pd
from sklearn.ensemble import RandomForestClassifier

“`

如果你没有这些库,你可以使用 pip 工具来安装这些库,如下图所示:

使用 pip 工具安装依赖库

当依赖安装完成,你就可以导入数据集,并将其转换为 pandas 数据框架,使用以下几行代码进一步处理:

“`
legitimateurls = pd.readcsv(“/home/jishnusaurav/jupyter/Phishing-Website-Detection/datasets/legitimate-urls.csv”)
phishingurls = pd.readcsv(“/home/jishnusaurav/jupyter/Phishing-Website-Detection/datasets/phishing-urls.csv”)

“`

在成功导入后,我们需要把这两个数据集合并,以便形成一个数据集。合并后的数据集的前几行如下图所示:

合并后的数据集的前几行

然后去掉那些我们不需要的列,如路径(path)、协议(protocol)等,以达到预测的目的:

“`
urls = urls.drop(urls.columns[[0,3,5]],axis=1)

“`

在这之后,我们需要使用以下代码将数据集分成测试和训练两部分:

“`
datatrain, datatest, labelstrain, labelstest = traintestsplit(urlswithoutlabels, labels, testsize=0.30, randomstate=110)

“`

接着,我们使用 sklearn 的随机森林分类器建立一个模型,然后使用 fit 函数来训练这个模型。

“`
randomforestclassifier = RandomForestClassifier()
randomforestclassifier.fit(datatrain,labelstrain)

“`

完成这些后,我们就可以使用 predict 函数来最终预测哪些链接是钓鱼链接。下面这行可用于预测:

“`
predictionlabel = randomforestclassifier.predict(testdata)

“`

就是这样啦!你已经建立了一个机器学习模型,它可以预测一个链接是否是钓鱼链接。试一下吧,我相信你会满意的!


via: https://www.opensourceforu.com/2022/04/detect-a-phishing-url-using-machine-learning-in-python/

作者:Jishnu Saurav Mittapalli 选题:lkxed 译者:lkxed 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

主题测试文章,只做测试使用。发布者:eason,转转请注明出处:https://aicodev.cn/2022/05/03/%e5%9c%a8-python-%e4%b8%ad%e4%bd%bf%e7%94%a8%e6%9c%ba%e5%99%a8%e5%ad%a6%e4%b9%a0%e6%9d%a5%e6%a3%80%e6%b5%8b%e9%92%93%e9%b1%bc%e9%93%be%e6%8e%a5/

Like (0)
eason的头像eason
Previous 2022年5月3日
Next 2022年5月3日

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信