天天看點

自動化測試中基于WinDump的抓包工具實作

  -i 表示監聽的網絡端口編号

  -s 0 表示捕獲完整的資料包

  -w file_name 輸出到檔案file_name中

  -a 使用ascii編碼輸出資料包

  host host_name 隻捕獲與host_name間的通信資料包。

   通過這些參數,windump生成的資料檔案格式是穩定的,包含完整的mac、ip、tcp層的完整資料,是可以反向解析的。根據相關協定的文檔和生成 檔案的資料比對,确定生成的檔案格式為:24位元組未知資料 + 16或者22位元組的未知資料 + mac幀 + ip幀 + tcp幀 + 資料幀,第2、3、4、5、6部分每個資料包都會重複出現。此外,通過比對,工具會生成完整的三次握手資料。

   最後有一些需要改進的地方:1、如果能在請求時能過濾一些不care的資料(例如未知資料、三次握手的資料),這樣最好了。2、需要根據資料分包标志完 成資料包的拼接(tcp協定中對資料包的大小做了一些限制,是以在資料包超過協定長度時會分為多個資料包傳輸,需要通過偏移量完成完整資料包的還原工 作)。

====================================分割線================================

最新内容請見作者的github頁:http://qaseven.github.io/