python 解析網路資料報

2021-06-23 07:57:05 字數 814 閱讀 7289

1、問題描述

網路資料報,我已經使用mitmproxy**抓取了,但是,資料報有些資料是gzip進行編碼的,那麼怎麼還原成原始報文呢?使用的語言是python。

2、網上資料

使用的方法,網上有zlib和gzip。使用gzip.decompress這個函式可以直接解密,可惜我的版本不支援。然後網上說的gzip都是開啟乙個檔案之類的。

使用zlib,一直爆出error 3 和error 5的錯誤。

在c語言下可以實施的,目前是不能實現了。

3、突破口

因為是gzip加密,所以還是瞄準gzip,

有這麼乙個加密語句:

#解壓gzip

def gzdecode(data) :

compressedstream = stringio.stringio(data)

gziper = gzip.gzipfile(fileobj=compressedstream)

data2 = gziper.read() # 讀取解壓縮後資料

return data2

那麼只需要將我的流匯入這個,就可以進行解密了。

還有牽涉的就是編碼方式了。這個編碼方式。在sqlite3裡面很麻煩的。不過這個語句很有效果:

conn.text_factory = str

搬磚 網路資料報解析

itsad tcp ip協議資料報,一般由應用層 傳輸層 網路層 資料鏈路層封裝而成。四層協議各自的作用 資料鏈路層實現了網絡卡介面的驅動程式。網路層實現了資料報的選路和 傳輸層為兩台主機上的應用程式提供端到端 end to end 的通訊。應用層負責處理應用程式的邏輯。1 先封裝的協議頭是傳輸層,...

資料報解析

從專業的角度來說,網路協議 osi就是乙個開放的通訊系統互聯參考模型,也是乙個定義的很好的協議規範。osi模型有7層結構,每層都可以有幾個子層。osi的7層從下到上分別是7 應用層 6 表示層 5 會話層 4 傳輸層 3 網路層 2 資料鏈路層 1 物理層。物理層 是參考模型的最低層。該層是網路通訊...

資料報格式 USB資料報解析

由域構成的包有四種型別,分別是令牌包 資料報 握手包和特殊包,前面三種是重要的包,不同包的域結構不同,介紹如下 1 令牌包 分為輸入包 輸出包 設定包和幀起始包 注意這裡的輸入包是用於設定輸入命令的,輸出包是用來設定輸出命令的,而不是放資料的 其中輸入包 輸出包和設定包的格式都是一樣的 sync p...