欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python解析pcap文件示例

 更新時間:2022年07月15日 09:34:11   作者:花匠小林  
這篇文章主要為大家介紹了Python解析pcap文件示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

引言

近期做一些基于TCP協(xié)議的項目,跟其他接口方調(diào)試時經(jīng)常出現(xiàn)不一致的問題,而程序日志又不能完成保證公正,就只能通過tcpdump抓包的方式來排查問題了。
由于是自定義的協(xié)議,用wireshark只能解析成16進制的報文,排查起來并不方便,而實現(xiàn)相關(guān)的插件又要用到C++或者LUA語言,這兩者我都極少接觸,因此,只能臨時用Python寫程序來解析了~

首先,需要安裝對應的依賴:

pip install dpkt

我們用tcpdump或者wireshark抓到對應的內(nèi)容后,保存為 tcp-log.pcap 文件,然后就可以解析了(以下代碼基于Python3):

import dpkt
import socket

file = 'tcp-log.pcap'
with open(file, 'rb') as fr:
????pcap = dpkt.pcap.Reader(fr)
????for timestamp, buffer in pcap:
????????ethernet = dpkt.ethernet.Ethernet(buffer)
????????# 我們僅需要TCP的包
????????if not isinstance(ethernet.data, dpkt.ip.IP):
????????????continue
????????ip = ethernet.data
????????if not isinstance(ip.data, dpkt.tcp.TCP):
????????????continue
????????tcp = ip.data
????????# 過濾掉內(nèi)容為空的包
????????if len(tcp.data) == 0:
????????????continue
????????# 發(fā)送方的IP
????????src = socket.inet_ntoa(ip.src)
????????# 接收方的IP
????????dst = socket.inet_ntoa(ip.dst)
????????# 報文內(nèi)容(byte數(shù)組)
????????byteArray = tcp.data
????????# TODO 根據(jù)自定義的協(xié)議內(nèi)容,解析bytes數(shù)組

以上就是Python解析pcap文件方法示例的詳細內(nèi)容,更多關(guān)于Python解析pcap文件的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python實現(xiàn)Linux的find命令實例分享

    Python實現(xiàn)Linux的find命令實例分享

    本文給大家分享的是使用python簡單實現(xiàn)模擬linux的find命令的實例代碼,推薦給大家,希望大家能夠喜歡
    2017-06-06
  • python得到windows自啟動列表的方法

    python得到windows自啟動列表的方法

    今天小編就為大家分享一篇python得到windows自啟動列表的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python中實現(xiàn)定時任務詳解

    Python中實現(xiàn)定時任務詳解

    這篇文章主要介紹了Python中實現(xiàn)定時任務詳解的相關(guān)資料,需要的朋友可以參考下
    2023-07-07
  • python正則表達式對字符串的查找匹配

    python正則表達式對字符串的查找匹配

    正則表達式是一種文本模式,包括普通字符(例如,a 到 z 之間的字母)和特殊字符(稱為“元字符”),下面這篇文章主要給大家介紹了關(guān)于python正則表達式對字符串的查找匹配的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • python+opencv實現(xiàn)移動偵測(幀差法)

    python+opencv實現(xiàn)移動偵測(幀差法)

    這篇文章主要為大家詳細介紹了python+opencv實現(xiàn)移動偵測,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • 啟動Atom并運行python文件的步驟

    啟動Atom并運行python文件的步驟

    在本篇文章中我們給大家分享了啟動Atom并運行python文件的步驟以及具體做法,需要的朋友們參考下。
    2018-11-11
  • 30秒學會30個超實用Python代碼片段【收藏版】

    30秒學會30個超實用Python代碼片段【收藏版】

    許多人在數(shù)據(jù)科學、機器學習、web開發(fā)、腳本編寫和自動化等領(lǐng)域中都會使用Python,它是一種十分流行的語言。本文將簡要介紹30個簡短的、且能在30秒內(nèi)掌握的代碼片段,感興趣的朋友一起看看吧
    2019-10-10
  • Python中函數(shù)參數(shù)調(diào)用方式分析

    Python中函數(shù)參數(shù)調(diào)用方式分析

    這篇文章主要介紹了Python中函數(shù)參數(shù)調(diào)用方式,結(jié)合實例形式分析了Python函數(shù)參數(shù)定義與使用的四種常見操作方法,需要的朋友可以參考下
    2018-08-08
  • Python一文入門Flask?Blueprint?SQLAlchemy部分詳解

    Python一文入門Flask?Blueprint?SQLAlchemy部分詳解

    這篇文章主要為大家介紹了Python一文入門Flask?Blueprint?SQLAlchemy部分詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • 在python plt圖表中文字大小調(diào)節(jié)的方法

    在python plt圖表中文字大小調(diào)節(jié)的方法

    今天小編就為大家分享一篇在python plt圖表中文字大小調(diào)節(jié)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07

最新評論