色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

python解析netflow數(shù)據(jù)到csv的流程詳解

網(wǎng)絡(luò)技術(shù)干貨圈 ? 來源:CSDN ? 2024-05-01 11:18 ? 次閱讀

python解析netflow數(shù)據(jù)到csv

本文主要講解了linux下通過tcpdump抓取netflow數(shù)據(jù)包,并將其導(dǎo)入到wireshark進(jìn)行解析,然后通過wireshark導(dǎo)出數(shù)據(jù)為json文件,再通過python腳本將其解析為csv文件以便做數(shù)據(jù)分析。

使用linux自帶的tcpdump抓包

在linux的shell下使用tcpdump包抓取指定端口下的數(shù)據(jù)包,netflow流量的端口默認(rèn)為9996端口。

tcpdumpudpport9996-wnetflow_data.cap

在shell打上該命令linux便會開始抓包,按Ctrl+C則會停止抓取并將數(shù)據(jù)寫入netflow_data.cap文件,由于netflow的數(shù)據(jù)量特別大,所以如果沒有過濾出指定ip的netflow流量,建議不要取太長時(shí)間(毫不夸張的說,一個(gè)大型企業(yè)的netflow流量10分鐘的netflow數(shù)據(jù)往往可以使這個(gè)文件達(dá)到好幾個(gè)G,解析成json文件后甚至達(dá)到幾十G,這已經(jīng)遠(yuǎn)遠(yuǎn)超出了一般程序可以解析處理的范圍)。

可以先使用

tcpdumpudpport9996|grepxxx.xxx.xxx.xxx

測試檢查是否可以獲取對應(yīng)的數(shù)據(jù),如果長時(shí)間沒有響應(yīng),這表明數(shù)據(jù)數(shù)據(jù)包可能沒有到達(dá)本端,需要檢查設(shè)備配置或者防火墻策略。

在linux下使用該命令可以查看對應(yīng)端口下的數(shù)據(jù)包,通過grep可以過濾出自己的想要查看的ip

將抓好的包導(dǎo)入wireshark

抓取下來的包直接用wireshark打開(windows版和Mac版都可以)。如下圖所示:

44331096-0226-11ef-a297-92fbcf53809c.png
443e49de-0226-11ef-a297-92fbcf53809c.png

如下圖所示,隨便點(diǎn)擊一個(gè)數(shù)據(jù)包

444b95e4-0226-11ef-a297-92fbcf53809c.jpg

將數(shù)據(jù)導(dǎo)出為json文件

在wireshark中導(dǎo)出數(shù)據(jù)到j(luò)son文件,以便于我們使用python對數(shù)據(jù)進(jìn)行解析。

44560830-0226-11ef-a297-92fbcf53809c.jpg

解析數(shù)據(jù)到csv

將導(dǎo)出好的json文件上傳到安裝了python環(huán)境的終端上(例如Linux或Mac),與如下腳本(腳本名稱netflow_to_csv.py)放置在同一目錄下

#_*_coding:utf-8_*_

importjson

data_file='./data.json'#wireshark導(dǎo)出數(shù)據(jù)
output_file='./netflow.csv'#解析后文件名

withopen(data_file,'r')asf:
data_list=json.loads(f.read())


defget_the_flow_list(data_item):
'''
["Flow1":{
"cflow.srcaddr":"xxx.xxx.xxx.xxx",
"cflow.dstaddr":"xxx.xxx.xxx.xxx",
"cflow.protocol":"2",
"cflow.srcport":"0",
"cflow.dstport":"17",
"cflow.inputint":"5",
"cflow.outputint":"0",
"cflow.octets":"36",
"cflow.packets":"1"
},
"Flow2":{
"cflow.srcaddr":"xxx.xxx.xxx.xxx",
"cflow.dstaddr":"xxx.xxx.xxx.xxx",
"cflow.protocol":"2",
"cflow.srcport":"0",
"cflow.dstport":"17",
"cflow.inputint":"5",
"cflow.outputint":"0",
"cflow.octets":"36",
"cflow.packets":"1"
}
]
'''
cflow=data_item.get('_source').get('layers').get('cflow')
flowSet_k=[kfork,vincflow.items()if'FlowSet'ink][0]
flow_data_list=[]
#flow_list=[{f:v}forf,vincflow.get(flowSet_k).items()if'Flow'inf]
fork,vincflow.get(flowSet_k).items():
if'Flow'notink:
continue
srcaddr=v.get("cflow.srcaddr")
dstaddr=v.get("cflow.dstaddr")
protocol=v.get("cflow.protocol")
srcport=v.get("cflow.srcport")
dstport=v.get("cflow.dstport")
inputint=v.get("cflow.inputint")
outputint=v.get("cflow.outputint")
octets=v.get("cflow.octets")
packets=v.get("cflow.packets")
flow_data_list.append((k,srcaddr,dstaddr,protocol,srcport,dstport,inputint,outputint,octets,packets))
returnflow_data_list


defdomain():
withopen(output_file,'w')asf:
title='No,Flow_id,srcaddr,dstaddr,protocol,srcport,dstport,inputint,outputint,octets,packets
'
f.write(title)
i=0
fordata_itemindata_list:
i=i+1
try:
flow_list=get_the_flow_list(data_item)
forflow_iteminflow_list:
line='%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s
'%(i,flow_item[0],flow_item[1],flow_item[2],flow_item[3],flow_item[4],flow_item[5],flow_item[6],flow_item[7],flow_item[8],flow_item[9])
f.write(line)
exceptExceptionase:
print'template'
printe
continue

if__name__=='__main__':
domain()

運(yùn)行解析腳本

在shell下運(yùn)行如下命令即可。

pythonnetflow_to_csv.py

解析結(jié)果

最終運(yùn)行結(jié)果如下圖所示:

44655074-0226-11ef-a297-92fbcf53809c.png


審核編輯:劉清
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11339

    瀏覽量

    210119
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4807

    瀏覽量

    84939
  • Shell
    +關(guān)注

    關(guān)注

    1

    文章

    366

    瀏覽量

    23430

原文標(biāo)題:使用python腳本解析netflow抓包數(shù)據(jù)到csv

文章出處:【微信號:網(wǎng)絡(luò)技術(shù)干貨圈,微信公眾號:網(wǎng)絡(luò)技術(shù)干貨圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Labview采集的串口數(shù)據(jù)存儲在csv文件中

    求教怎么將Labview采集的串口數(shù)據(jù)存儲csv文件中并已一定的格式保存?
    發(fā)表于 11-28 22:07

    Python存儲數(shù)據(jù)詳解

    人閱讀和編寫,同時(shí)也易于機(jī)器解析和生成,并有效地提升網(wǎng)絡(luò)傳輸效率。2. csv文件Python可以將數(shù)據(jù)存儲為CSV文件格式,我們可以用ex
    發(fā)表于 03-29 15:47

    csv文件中的數(shù)據(jù)

    我有一臺N9912 FieldFox,可以從設(shè)備中檢索csv文件。 csv文件未聲明重要參數(shù),例如分辨率帶寬。有可能獲得完整的儀器狀態(tài)和數(shù)據(jù)作為我可以閱讀的文本文件嗎?我確實(shí)將儀器狀態(tài)和數(shù)據(jù)
    發(fā)表于 11-26 09:14

    有關(guān)Python解析

    搜了很多歷年藍(lán)橋杯真題解答,大多都是Java,C++,C這些語言編寫的代碼解析Python解析的幾乎,甚至可以說沒有。而當(dāng)下Python又這么火熱,藍(lán)橋杯也出了
    發(fā)表于 07-29 08:39

    python基礎(chǔ)語法及流程控制

    爬蟲復(fù)習(xí)1.python基礎(chǔ)python基礎(chǔ)語法 流程控制 函數(shù)封裝2.防爬措施整體防爬User-AgentrefererIP代理池Cookie代理池 各自防爬數(shù)據(jù)內(nèi)部動態(tài)加載網(wǎng)頁設(shè)置
    發(fā)表于 08-31 07:41

    MCU通過串口發(fā)送數(shù)據(jù)WIFI模塊上具體流程包括哪些

    、連接到MySQL數(shù)據(jù)庫,將接收到的數(shù)據(jù)寫入數(shù)據(jù)庫對應(yīng)表中六、Python利用flask框架搭建網(wǎng)頁七、Python連接對應(yīng)的MySQL
    發(fā)表于 12-08 07:18

    請問CH376S如何讀取CSV中的數(shù)據(jù)解析出來?

    目前有一個(gè)新需求,客戶把一些設(shè)置好的數(shù)據(jù)存入在CSV文件中,需要通過單片機(jī)讀取這些數(shù)據(jù),并逐個(gè)解析出來,更新后再寫入CSV文件,
    發(fā)表于 10-11 07:39

    完全自學(xué)指南Python爬蟲BeautifulSoup詳解

    完全自學(xué)指南Python爬蟲BeautifulSoup詳解
    發(fā)表于 09-07 08:55 ?39次下載
    完全自學(xué)指南<b class='flag-5'>Python</b>爬蟲BeautifulSoup<b class='flag-5'>詳解</b>

    Python3如何對CSV進(jìn)行寫入和讀寫

    這里考慮把API、參數(shù)、以及預(yù)期結(jié)果預(yù)行在格式化的CSV里保存,利用csv組件從CSV里讀取URL、參數(shù)以及預(yù)期結(jié)果,Requests組件發(fā)起請求,將響應(yīng)結(jié)果與預(yù)期結(jié)果進(jìn)行比對,最后把比對結(jié)果寫到結(jié)果
    發(fā)表于 05-11 15:49 ?5681次閱讀
    <b class='flag-5'>Python</b>3如何對<b class='flag-5'>CSV</b>進(jìn)行寫入和讀寫

    如何通過pandas讀取csv文件指定的前幾行?

    今天小編給大家分享一篇Python技術(shù)開發(fā)方面的文章,如何實(shí)現(xiàn)pandas讀取csv文件指定的前幾行,喜歡Python開發(fā)的小伙伴下面就隨小編一起來了解一下吧。
    發(fā)表于 09-19 17:43 ?16次下載

    Python中BeatifulSoap解析HTML的三個(gè)實(shí)用小技巧詳解

    BeautifulSoup是Python爬蟲應(yīng)用解析Html的利器,是Python三方模塊bs4中提供的進(jìn)行HTML解析的類,可以認(rèn)為是一個(gè)HTML
    的頭像 發(fā)表于 04-15 13:51 ?2097次閱讀

    python經(jīng)典實(shí)例詳解

    python經(jīng)典實(shí)例詳解說明。
    發(fā)表于 04-26 10:14 ?32次下載

    [源代碼]Python算法詳解

    [源代碼]Python算法詳解[源代碼]Python算法詳解
    發(fā)表于 06-06 17:50 ?0次下載

    虹科分享 | NetFlow數(shù)據(jù)能夠?yàn)榫W(wǎng)絡(luò)故障排除提供什么? | 網(wǎng)絡(luò)流量監(jiān)控

    虹科分享NetFlow數(shù)據(jù)能夠?yàn)榫W(wǎng)絡(luò)故障排除提供什么?NetFlow是網(wǎng)絡(luò)設(shè)備中標(biāo)準(zhǔn)化的功能,用于收集流量測量值并將其導(dǎo)出到另一個(gè)系統(tǒng)進(jìn)行分析。對該流數(shù)據(jù)的分析通知網(wǎng)絡(luò)管理器網(wǎng)絡(luò)是如何
    的頭像 發(fā)表于 04-20 09:26 ?661次閱讀
    虹科分享 | <b class='flag-5'>NetFlow</b><b class='flag-5'>數(shù)據(jù)</b>能夠?yàn)榫W(wǎng)絡(luò)故障排除提供什么? | 網(wǎng)絡(luò)流量監(jiān)控

    Python教你用 Rows 快速操作csv文件

    Rows 是一個(gè)專門用于操作表格的第三方Python模塊。 只要通過 Rows 讀取 csv 文件,她就能生成可以被計(jì)算的 Python 對象。 相比于 pandas 的 pd.read_cs
    的頭像 發(fā)表于 10-21 10:18 ?644次閱讀
    主站蜘蛛池模板: 日本中文字幕伊人成中文字幕| 国产互换后人妻的疯狂VIDEO| 亚洲中文字幕在线第六区 | 动漫美女禁区图| 久久re亚洲在线视频| 日本精品久久久久中文字幕 1| 亚洲人成网站在线观看90影院| 啊轻点灬大JI巴又大又粗| 久久精品亚洲国产AV涩情| 激情女人花| 日本男女动态图| 18亚洲男同gay1069| 国产AV亚洲国产AV麻豆 | 99久久久久精品国产免费麻豆| 国产系列在线亚洲视频| 交换年轻夫妇HD中文字幕| 秋霞电影网视频一区二区三区| 亚洲区视频在线观看| 国产叼嘿久久精品久久| 免费伦理片网站| 亚洲色播永久网址大全| 国产成人久久精品AV| 欧美日韩亚洲一区视频二区 | 免费看片A级毛片免费看| 伊人久99久女女视频精品免| 国产精品JIZZ在线观看A片| 全文都是肉高h文| 99爱在线精品视频网站| 久久久精品免费免费直播| 亚洲精品色情婷婷在线播放 | 中文字幕国产在线观看| 精品一区二区三区AV天堂| 欧美美女一区二区三区| 18禁黄久久久AAA片| 久久精选视频| 一级特黄aa大片欧美| 精品久久久久中文字幕加勒比东京热 | 久久爱狠狠综合网| 亚洲午夜福利未满十八勿进| 国语自产一区第二页| 亚洲精品嫩草研究院久久|