欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

完善資料讓更多小伙伴認識你,還能領(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ù)包,并將其導入到wireshark進行解析,然后通過wireshark導出數(shù)據(jù)為json文件,再通過python腳本將其解析為csv文件以便做數(shù)據(jù)分析。

使用linux自帶的tcpdump抓包

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

tcpdumpudpport9996-wnetflow_data.cap

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

可以先使用

tcpdumpudpport9996|grepxxx.xxx.xxx.xxx

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

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

將抓好的包導入wireshark

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

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

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

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

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

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

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

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

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

#_*_coding:utf-8_*_

importjson

data_file='./data.json'#wireshark導出數(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()

運行解析腳本

在shell下運行如下命令即可。

pythonnetflow_to_csv.py

解析結(jié)果

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

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


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

    關(guān)注

    87

    文章

    11350

    瀏覽量

    210466
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4809

    瀏覽量

    85054
  • Shell
    +關(guān)注

    關(guān)注

    1

    文章

    366

    瀏覽量

    23468

原文標題:使用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ù)詳解

    人閱讀和編寫,同時也易于機器解析和生成,并有效地提升網(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ù)作為我可以閱讀的文本文件嗎?我確實將儀器狀態(tài)和數(shù)據(jù)
    發(fā)表于 11-26 09:14

    有關(guān)Python解析

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

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

    爬蟲復習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ù),解析出來?

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

    完全自學指南Python爬蟲BeautifulSoup詳解

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

    Python3如何對CSV進行寫入和讀寫

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

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

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

    Python中BeatifulSoap解析HTML的三個實用小技巧詳解

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

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

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

    [源代碼]Python算法詳解

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

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

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

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

    Rows 是一個專門用于操作表格的第三方Python模塊。 只要通過 Rows 讀取 csv 文件,她就能生成可以被計算的 Python 對象。 相比于 pandas 的 pd.read_cs
    的頭像 發(fā)表于 10-21 10:18 ?665次閱讀