自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在 Python 中使用機(jī)器學(xué)習(xí)來檢測釣魚鏈接

安全 網(wǎng)站安全
本文將會給出一個簡短的教程,旨在介紹如何檢測這種網(wǎng)絡(luò)釣魚的企圖。注意,本文將使用 Jupyter Notebook。當(dāng)然,你也可以使用 Google Colab 或 Amazon Sagemaker,如果你對這些更熟悉的話。

在網(wǎng)絡(luò)釣魚攻擊中,用戶會收到一封帶有誤導(dǎo)性鏈接的郵件或信息,攻擊者可以利用它來收集重要數(shù)據(jù),比如你的銀行卡密碼。本文將會給出一個簡短的教程,旨在介紹如何檢測這種網(wǎng)絡(luò)釣魚的企圖。

通過網(wǎng)絡(luò)釣魚攻擊,攻擊者能夠獲得一些重要憑證,這些憑證可以用來進(jìn)入你的銀行或其他金融賬戶。攻擊者發(fā)送的 URL 看起來與我們?nèi)粘J褂玫脑紤?yīng)用程序完全相同。這也是人們經(jīng)常相信它,并在其中輸入個人信息的原因。釣魚網(wǎng)址可以打開一個網(wǎng)頁,它看起來與你的銀行的原始登錄頁面相似。最近,這樣的網(wǎng)絡(luò)釣魚攻擊正變得相當(dāng)普遍,所以,檢測釣魚鏈接變得非常重要。因此,我將介紹如何在 Python 中使用機(jī)器學(xué)習(xí)來檢查一個鏈接是誤導(dǎo)性的還是真實的,因為它可以幫助我們看到網(wǎng)頁代碼及其輸出。注意,本文將使用 Jupyter Notebook。當(dāng)然,你也可以使用 Google Colab 或 Amazon Sagemaker,如果你對這些更熟悉的話。

下載數(shù)據(jù)集

第一步,我們需要用于訓(xùn)練數(shù)據(jù)集。你可以從下面的鏈接中下載數(shù)據(jù)集。

真實的鏈接:https://github.com/jishnusaurav/Phishing-attack-PCAP-analysis-using-scapy/blob/master/Phishing-Website-Detection/datasets/legitimate-urls.csv

釣魚鏈接:https://github.com/jishnusaurav/Phishing-attack-PCAP-analysis-using-scapy/blob/master/Phishing-Website-Detection/datasets/phishing-urls.csv

訓(xùn)練機(jī)器進(jìn)行預(yù)測

當(dāng)數(shù)據(jù)集下載完成,我們需要使用以下幾行代碼來導(dǎo)入所需的庫:

    import pandas as pd
from sklearn.ensemble import RandomForestClassifier

如果你沒有這些庫,你可以使用 pip 工具來安裝這些庫,如下圖所示:

使用 pip 工具安裝依賴庫

當(dāng)依賴安裝完成,你就可以導(dǎo)入數(shù)據(jù)集,并將其轉(zhuǎn)換為 pandas 數(shù)據(jù)框架,使用以下幾行代碼進(jìn)一步處理:

    legitimate_urls = pd.read_csv(/home/jishnusaurav/jupyter/Phishing-Website-Detection/datasets/legitimate-urls.csv”)
phishing_urls = pd.read_csv(/home/jishnusaurav/jupyter/Phishing-Website-Detection/datasets/phishing-urls.csv”)

在成功導(dǎo)入后,我們需要把這兩個數(shù)據(jù)集合并,以便形成一個數(shù)據(jù)集。合并后的數(shù)據(jù)集的前幾行如下圖所示:

合并后的數(shù)據(jù)集的前幾行

然后去掉那些我們不需要的列,如路徑(path)、協(xié)議(protocol)等,以達(dá)到預(yù)測的目的:

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

在這之后,我們需要使用以下代碼將數(shù)據(jù)集分成測試和訓(xùn)練兩部分:

data_train, data_test, labels_train, labels_test = 
train_test_split(urls_without_labels, labels, test_size=0.30,
random_state=110)

接著,我們使用 sklearn 的隨機(jī)森林分類器建立一個模型,然后使用 fit 函數(shù)來訓(xùn)練這個模型。

    random_forest_classifier = RandomForestClassifier()
random_forest_classifier.fit(data_train,labels_train)

完成這些后,我們就可以使用 predict 函數(shù)來最終預(yù)測哪些鏈接是釣魚鏈接。下面這行可用于預(yù)測:

prediction_label = random_forest_classifier.predict(test_data)

就是這樣啦!你已經(jīng)建立了一個機(jī)器學(xué)習(xí)模型,它可以預(yù)測一個鏈接是否是釣魚鏈接。試一下吧,我相信你會滿意的!

責(zé)任編輯:未麗燕 來源: Linux中國
相關(guān)推薦

2015-09-01 10:32:11

2015-09-01 14:29:33

2020-07-24 10:52:45

人工智能

2023-02-03 11:40:49

機(jī)器學(xué)習(xí)分析情感

2011-09-06 16:30:32

iOS系統(tǒng)靜態(tài)鏈接庫

2019-07-23 10:22:11

TensorFlow.Python機(jī)器學(xué)習(xí)

2022-04-01 15:39:13

機(jī)器學(xué)習(xí)讓孩子們軟件交付

2018-06-14 14:05:48

機(jī)器學(xué)習(xí)大數(shù)據(jù)卡通上色

2024-08-08 08:24:53

2017-04-14 08:33:47

2012-11-02 11:37:28

2021-07-29 10:00:43

XMLXMLStarletLinux

2010-03-17 11:15:44

Python學(xué)習(xí)筆記

2020-02-27 14:47:11

人工智能機(jī)器學(xué)習(xí)故障檢測

2021-04-13 09:00:00

機(jī)器學(xué)習(xí)鐵路技術(shù)

2024-07-23 16:37:04

2022-06-09 09:14:31

機(jī)器學(xué)習(xí)PythonJava

2022-06-05 21:16:08

機(jī)器學(xué)習(xí)Python

2017-04-11 12:45:29

Python機(jī)器學(xué)習(xí)信用卡欺詐檢測

2010-03-17 10:42:32

Python學(xué)習(xí)筆記
點贊
收藏

51CTO技術(shù)棧公眾號