真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

利用python-pypcap抓取帶VLAN標(biāo)簽的數(shù)據(jù)包方法-創(chuàng)新互聯(lián)

1、背景介紹

成都創(chuàng)新互聯(lián)公司是專業(yè)的淶水網(wǎng)站建設(shè)公司,淶水接單;提供成都做網(wǎng)站、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行淶水網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

在采用通常的socket抓包方式下,操作系統(tǒng)會自動將收到包的VLAN信息剝離,導(dǎo)致上層應(yīng)用收到的包不會含有VLAN標(biāo)簽信息。而libpcap雖然是基于socket實(shí)現(xiàn)抓包,但在收到數(shù)據(jù)包后,會進(jìn)一步恢復(fù)出剝離的VLAN信息,能夠滿足需要抓取帶VLAN標(biāo)簽信息的數(shù)據(jù)包的需求場景。

python-pypcap包是對libpcap庫的python語言封裝,本文主要介紹如果利用python-pypcap在網(wǎng)絡(luò)接口抓取帶VLAN標(biāo)簽的數(shù)據(jù)包。

2、環(huán)境準(zhǔn)備

libpcap-0.9.4

python-pypcap-1.15,該包依賴libpcap-0.9.4

可以通過在python交互式環(huán)境下運(yùn)行import pcap,如果導(dǎo)入成功,說明python-pypcap-1.15已成功安裝。

3、抓包實(shí)現(xiàn)

pypcap包封裝了libpcap提供的許多接口函數(shù),簡單的抓包可以采用如下幾個步驟完成:

1)Open a handle to a packetcapture descriptor.

fpcap = pcap.pcap(name=iface)

指定從iface接口抓包,此處可以添加其他相關(guān)抓包參數(shù),大家可以參考對pcap.pcap類的說明。

2)設(shè)置過濾規(guī)則

fpcap.setfilter('inbound')

此處inbound表示抓取所有發(fā)送到該接口的包,不抓取從該接口發(fā)送出的數(shù)據(jù)包,規(guī)則的設(shè)置同tcpdump抓包設(shè)置過濾規(guī)則相同。

3)調(diào)用loop函數(shù)循環(huán)抓包

fpcap.loop(callback,None)

源文件中對loop函數(shù)的說明如下:

此處需要說明的是,在實(shí)際使用中發(fā)現(xiàn)提供了cnt參數(shù)后程序運(yùn)行會報(bào)錯,而不加cnt參數(shù)可以成功運(yùn)行,即采用fpcap.loop(callback,None)。

4)實(shí)現(xiàn)包處理回調(diào)函數(shù)callback

callback函數(shù)聲明如下:

這里需要說明的是,參數(shù)timestamp和pkt會由loop函數(shù)自動傳入,pkt表示數(shù)據(jù)包,但其類型是buffer類型,這里可以采用圖中的scapy.layers.l2.Ether(str(pkt))將pkt轉(zhuǎn)化為scapy的Ether類型[如果包為dot3類型的,也將自動轉(zhuǎn)化為Dot3類型的對象,此處針對isis協(xié)議]。然后再通過p.time = timestamp將時間戳信息更新到包中。后續(xù)就可以按照處理scapy的Ether類型包的方式進(jìn)行進(jìn)一步包處理。

4、示例

下述代碼實(shí)現(xiàn)了一個線程類,能夠在指定的接口iface上抓取進(jìn)入該接口的包并打印包概要信息。

以上這篇利用python-pypcap抓取帶VLAN標(biāo)簽的數(shù)據(jù)包方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持創(chuàng)新互聯(lián)。


網(wǎng)頁名稱:利用python-pypcap抓取帶VLAN標(biāo)簽的數(shù)據(jù)包方法-創(chuàng)新互聯(lián)
網(wǎng)頁網(wǎng)址:http://weahome.cn/article/ccoice.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部