關於抓包的一些常用軟件

網絡包

抓包來debug程序還是比較方便的,最早知道的軟件是WireShark,它像是形成了一種行業標準,但是從底層抓取網絡通信包,我記得調試PPOE的時候第一次使用這個軟件,不過到現在也沒有弄清楚這個軟件的過濾器規則怎麼寫。如果是獲取http/https的包Fiddler是最適合的,因爲它做了反向代理,證書之類的相關操作。

藍牙包

藍牙也是一大塊,如果是簡單的通信,比如SPP/BLE,可以藉助Android系統來抓取,SPP的底層協議RFCOMM在Android系統中是通過Socket實現的通信,只需要在BluetoothSocket類的中的write和read上打上日誌,就可以實現抓包。BLE只需要在BluetoothGatt類的writeCharacteristiconNotify中打上日誌就可以了。爲什麼沒有readCharacteristic,我暫時也不清楚,但是很多都是將onNotify作爲read。這是目前的行規。

比如底層的可以直接查看Android系統開發者模式上生成的HCI包日誌,不過這個目前我還沒有用過,據資料顯示也可以使用WireShark打開。

USB

USB通信和網絡通信比較像也是分幾層呢,如果抓取比較底層的是使用usbpcap可以抓取,保存成pcap格式可以使用WireShark打開進行分析。

USB HID

如果是抓取一些應用層的通信可以使用Bus Hound。在Linux上也可以直接hexdump來打開這個hidraw設備,這樣它的輸入內容就比較顯示出來了。

輸入設備

這裏寫輸入設備是因爲比較籠統,可以是USB/BT等,如果只是像簡單的看到其傳輸的鍵值,可以在Android上使用getevent -L查看,非常的方便(當然也有人將這個小程序移植到了x86上https://github.com/markyzq/getevent_ubuntu)。

串口

串口的抓包軟件就比較多了,還有不少是國人寫的軟件。有些用起來比較順手,有些就會有或多或少的問題,比如單條數據長度的限制。換着用就行了,這裏就不單列舉了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章