1. 程式人生 > >視訊筆記:Go 抓包、分析、注入

視訊筆記:Go 抓包、分析、注入

https://blog.lab99.org/post/golang-2017-09-23-video-packet-capture-analysis-with-go.html

什麼是抓包 

抓包是分析網路上的流量。

有線網路和無線網路不同

有線網路會由交換機根據 MAC 地址決定是否將包轉發給你,和你無關的包是不會轉發給你,除非用的不是交換機而是古董的 Hub。而無線網路就很開放了,所有的包都無法控制發給誰,因此你是可以聽到所有的包的。當然,需要設定為混淆模式,不然本地網路裝置會過濾掉不是給自己的包。

抓包不會影響其它通訊,它只是被動監聽,不是中間人的干擾。不過可以利用抓包來做一些事情。比如去年參加 

DefCon 的時候,John 身邊的幾個俄羅斯的與會者,就寫了個東西抓包監聽。凡是聽到 HTTP 請求,就搶先一步模擬 HTTP 響應,讓訪問者重定向到某個NSFW(色情網站)上去了。

如何應用 

  • 應用開發:測試、驗證加密
  • 對 API 進行逆向工程
  • 觀察背景都是什麼樣的流量
  • 偷取登入資訊
  • 網路管理
  • 檢視網路上的惡意的流量(比如是不是有人在掃描你的埠)
  • 對犯罪現場進行調查

演講者研究抓包的動機 

  • Hacker by nature,就像 Richard Stallman 說的,你不做一遍這個東西,你就無法理解這個東西。
  • 總喜歡知道實物的內部是怎麼工作的
  • 驗證實際的認證機制是否真的加密了
  • 確保伺服器上沒有惡意流量
  • 理解開放 WiFi 的流量是否安全

話題概況 

  • 獲得網路裝置列表
  • 從網路裝置抓包
  • 儲存獲得的包到一個檔案
  • 從檔案讀取包
  • 分層分析包結構
  • 建立自定義的層
  • 使用 BPF 過濾
  • 注入包(傳送包)
  • 觀察流

常用工具 

  • tcpdump: 一些 Linux 下命令列操作的人應該用過
  • Driftnet: 只關心網路流量中的圖片,會在螢幕上顯示所有流量裡的圖片……