我的最終結果是嘗試看到我的iphone(我知道它是一個plist,因爲我可以在hexdump中看到bplist00
)在我的iphone &之間發送的plist。嗅探iPhone和Mac之間的bonjour流量
我有一個應用程序通過bonjour服務在我的iphone和我的mac之間發送數據。
我使用tcpdump捕獲流量並嘗試將負載hexdump轉換爲二進制文件,然後將其轉換爲plist文本文件。
這裏是我的步驟:
- 確保iPhone和Mac連接,有命令準備好發送
- 運行TCP轉儲:
sudo tcpdump -vSs 0 -A -i en1 -w Dump.pcap 'tcp port 57097'
我的無線網絡上(我用Bonjour Browser找到哪個端口該服務已註冊),然後點擊電話上的發送命令。 - 的PCAP文件轉換爲文本文件:
tshark -V -r Dump.pcap > Dump.txt
(在end result is this) - 手動刪除從文本文件的標題和其他信息。這樣,我剛剛離開與有效載荷(我們現在have this文件中)
- 做一個反向的十六進制轉儲文件轉換成二進制:
xxd -r Dump.txt Dump1.txt
- 轉換二進制的plist到一個文本文件:
plutil -convert xml1 Dump1.txt
然而,在第6步,事情會失敗:Dump1.txt: Property List error: Conversion of string failed. The string is empty./JSON error: JSON text did not start with array or object and option to allow fragments not set.
(雖然它ç應該是前一步的錯誤)。我不確定爲什麼當我要求進行XML轉換時,它爲什麼會報告JSON錯誤?
這種低級別的網絡捕獲並不是我通常所說的(我通常比較喜歡fiddler或charles,但考慮到這不是通過HTTP,我需要降低堆棧)。
有人可以告訴我,如果我做的是正確的,或者是否有更簡單的方法來做到這一點?
我該如何去捕獲發送給我的Mac的plist?