日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
在Python中使用機(jī)器學(xué)習(xí)來檢測釣魚鏈接

在網(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ù)測一個鏈接是否是釣魚鏈接。試一下吧,我相信你會滿意的!


網(wǎng)站題目:在Python中使用機(jī)器學(xué)習(xí)來檢測釣魚鏈接
地址分享:http://www.dlmjj.cn/article/dpjchdj.html