Мой конечный результат - попытаться увидеть, как plist отправляется между моим iphone и моим mac (я знаю, что это plist, потому что я вижу bplist00
в hexdump).
У меня есть отправка приложенияданные между моим iphone и моим mac через службу Bonjour.
Я использую 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
(конечный результат - это ) - Вручную удалите заголовки и другую информацию из текстового файла, так что я просто остался с полезной нагрузкой (теперь у нас есть это в файле)
- Сделать обратный шестнадцатеричный дамп, чтобы преобразовать файл вДвоичный файл:
xxd -r Dump.txt Dump1.txt
- Преобразование двоичного списка в текстовый файл:
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.
(хотя это может иметьбыла ошибка с более раннего шага).И я не уверен, почему он сообщает об ошибках в JSON, когда я просил преобразование XML?
Этот низкоуровневый захват сети не является чем-то, с чем я обычно похож (обычно я выше с fiddler илиЧарльз, но учитывая, что это не через HTTP, мне нужно опуститься вниз по стеку.
Может кто-нибудь сказать мне, правильно ли я делаю, или есть более простой способ сделать это?
Как я могу захватить список отправленных на мой Mac?