最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于python+scapy抓包與解析

 更新時間:2023年08月24日 10:36:50   作者:B0t0w1  
這篇文章主要介紹了關(guān)于python+scapy抓包與解析,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

最近一直在使用做流量分析,今天把 scapy 部分做一個總結(jié)。

Python 的 scapy 庫可以方便的抓包與解析包,無奈資料很少,官方例子有限,大神博客很少提及, 經(jīng)過一番嘗試后,總結(jié)以下幾點(diǎn)用法以便大家以后使用。

python scapy抓包與解析

作為初學(xué)者,關(guān)心的首先是如何安裝,本人電腦系統(tǒng)是 fedora, 建議使用 linux。

推薦下載 pip,直接:(當(dāng)然得在 su 權(quán)限下)

pip install scapy

在 terminal 中輸入 scapy, 如果有下面形式即安裝好了:

抓包

from scapy.all import *
dpkt = sniff(iface = "wlp7s0", count = 100)

sniff() 是 scapy 內(nèi)置函數(shù),有很多參數(shù), 如圖:

這里就不一一解釋, iface 參數(shù)是網(wǎng)卡信息, 也就是 eth0 之類的, 我這里是 wlp7s0, count 參數(shù)是抓取的連接數(shù)量, 這里是 100, 還有 filter 參數(shù)是過濾等。

pcap 格式保存

wrpcap("demo.pcap", dpkt)

pcap 格式較為通用, 可以將上述抓取的包保存為 pcap,dpkt 是上面抓取的流量變量。

數(shù)據(jù)包解析

可以看到有 94 個 tcp 包, 4個 udp 包, 還有兩個其他類型的包。

類似于 python 中的 list 類型, 可以使用下標(biāo)訪問, 比如用 python 可寫個 for 循環(huán)遍歷每個連接。

長度可以使用 len 計算

注意這里 dpkt 不是 list 類型, 也不是 string 類型, 因此如果要進(jìn)行字符串處理,要把它轉(zhuǎn)換為 string 類型,

scapy強(qiáng)大地方在于可以通過字段來查看每一個字段信息,首先我們看一下它有那些字段:

可以使用 ls() 查看支持的協(xié)議類型,有很多,具體看幾個:

甚至還有硬件信息:

還有很多, 可以自己去看一下, 不附圖了。

知道它有那些字段后, 就可以調(diào)用了,隨便舉個例子, 比如第四個連接 dpkt[3]

它的結(jié)構(gòu)非常清楚,首先是 Ether 層, 然后是 IP 層, 然后是 TCP 層,訪問時就按張如圖就可以訪問各個字段信息。

要注意的是, 不是所有連接都是這幾個層, Ether 是都有的, 但是 udp 連接肯定就沒有 TCP 層, 而是改為 udp 層, ARP 包肯定就沒有 IP 層, 更沒有 TCP 層,如果再 arp 連接使用 dpkt[i][IP] 就會報錯, 因為它沒有 IP 這一層。

python 使用時可以時使用 ether 的 type 判斷是不是 IP 包, 使用 ip 的 proto 判斷時 tcp 還是 udp。

訪問包中的報文可以使用 dpkt[i][Raw].load 字段, (假設(shè)第 i +1 個包有報文信息),同樣,如果沒有報文信息, 就沒有 Raw 這一層,也就沒有 load 這一字段。比如這里:

第六個連接并沒有 Raw 數(shù)據(jù),訪問出錯, 第七個有 Raw 數(shù)據(jù),可以得到報文信息。

使用離線數(shù)據(jù)包

pcap = sniff(offline = "xx/xx.pcap")`

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 關(guān)于python簡單的爬蟲操作(requests和etree)

    關(guān)于python簡單的爬蟲操作(requests和etree)

    這篇文章主要介紹了關(guān)于python簡單的爬蟲操作(requests和etree),文中提供了實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2023-04-04
  • Python圖像處理之目標(biāo)物體輪廓提取的實(shí)現(xiàn)方法

    Python圖像處理之目標(biāo)物體輪廓提取的實(shí)現(xiàn)方法

    目標(biāo)物體的輪廓實(shí)質(zhì)是指一系列像素點(diǎn)構(gòu)成,這些點(diǎn)構(gòu)成了一個有序的點(diǎn)集,這篇文章主要給大家介紹了關(guān)于Python圖像處理之目標(biāo)物體輪廓提取的實(shí)現(xiàn)方法,需要的朋友可以參考下
    2021-08-08
  • Python實(shí)現(xiàn)視頻字幕時間軸格式轉(zhuǎn)換的示例

    Python實(shí)現(xiàn)視頻字幕時間軸格式轉(zhuǎn)換的示例

    本文主要介紹了Python實(shí)現(xiàn)視頻字幕時間軸格式轉(zhuǎn)換的示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • 基于python編寫的微博應(yīng)用

    基于python編寫的微博應(yīng)用

    這篇文章主要介紹了基于python編寫的微博應(yīng)用,是針對微博開放平臺SDK開發(fā)的具體應(yīng)用,非常具有實(shí)用價值,需要的朋友可以參考下
    2014-10-10
  • 在python中,使用scatter繪制散點(diǎn)圖的實(shí)例

    在python中,使用scatter繪制散點(diǎn)圖的實(shí)例

    今天小編就為大家分享一篇在python中,使用scatter繪制散點(diǎn)圖的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 使用 Django Highcharts 實(shí)現(xiàn)數(shù)據(jù)可視化過程解析

    使用 Django Highcharts 實(shí)現(xiàn)數(shù)據(jù)可視化過程解析

    這篇文章主要介紹了使用 Django Highcharts 實(shí)現(xiàn)數(shù)據(jù)可視化過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • Python利用Spire.XLS for Python將Excel轉(zhuǎn)換為圖片

    Python利用Spire.XLS for Python將Excel轉(zhuǎn)換為圖片

    在數(shù)據(jù)分析與報表自動化場景中,將 Excel 表格直接轉(zhuǎn)換為圖片,已成為提升報告可讀性與共享效率的重要手段,本文將介紹如何使用 Spire.XLS for Python 將 Excel 工作表轉(zhuǎn)換為圖片,并支持 指定單元格區(qū)域轉(zhuǎn)為圖片,需要的朋友可以參考下
    2025-10-10
  • Python實(shí)現(xiàn)二分法算法實(shí)例

    Python實(shí)現(xiàn)二分法算法實(shí)例

    這篇文章主要介紹了Python實(shí)現(xiàn)二分法算法實(shí)例,本文先是介紹了算法規(guī)則,然后給出了實(shí)現(xiàn)例子,需要的朋友可以參考下
    2015-02-02
  • Pandas之ReIndex重新索引的實(shí)現(xiàn)

    Pandas之ReIndex重新索引的實(shí)現(xiàn)

    這篇文章主要介紹了Pandas之ReIndex重新索引的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 使用python將mdb數(shù)據(jù)庫文件導(dǎo)入postgresql數(shù)據(jù)庫示例

    使用python將mdb數(shù)據(jù)庫文件導(dǎo)入postgresql數(shù)據(jù)庫示例

    mdb格式文件可以通過mdbtools工具將內(nèi)中包含的每張表導(dǎo)出到csv格式文件。由于access數(shù)據(jù)庫和postgresQL數(shù)據(jù)庫格式上會存在不通性,所以使用python的文件處理,將所得csv文件修改成正確、能識別的格式
    2014-02-02

最新評論

肃南| 阳西县| 调兵山市| 碌曲县| 闸北区| 东乌珠穆沁旗| 思南县| 宜兰县| 信丰县| 田林县| 尼玛县| 镇原县| 年辖:市辖区| 贡嘎县| 易门县| 独山县| 温宿县| 鲁甸县| 嘉荫县| 申扎县| 百色市| 萍乡市| 罗城| 曲麻莱县| 大厂| 正安县| 高密市| 卓资县| 内江市| 信丰县| 临桂县| 都兰县| 神池县| 临湘市| 成安县| 仙桃市| 镇雄县| 彰化县| 新民市| 淮北市| 榆中县|