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...