Как работает протокол Apple «Общий доступ к DVD или CD»?

На компьютерах Mac есть служба «Общий доступ к DVD или CD» для удаленного доступа к оптические приводы. (Apple также предоставляет программное обеспечение Windows, которое реализует только половину совместного использования, без чтения.) Я хочу использовать службу из Linux, чтобы читать оптический диск на Mac. Но я не могу найти ни программного обеспечения, ни даже информации о протоколе. Я думал, что задокументирую то, что нашел здесь, и посмотрю, что смогут выяснить другие.

Мой друг включил «Общий доступ к DVD или CD» на своем Mac. Я могу посмотреть сервис через zeroconf (используя Avahi). Примечательно:

Service Type: _odisk._tcp
Address: .local/192.168.1.115:49152

При поиске "_odisk._tcp" я нашел упоминание в "Руководстве Mac Hacker's Handbook". Вы можете найти ее на страницах 69 и 70. У меня нет книги, поэтому я воспользовался превью Amazon . Здесь показаны некоторые примеры протокола на основе HTTP.

Однако я не могу выполнить успешный запрос. В первый раз, когда я попытался "GET /" на порту, заданном zeroconf, я получил "401 Unauthorized". Я попросил друга отключить охрану. Затем «GET /» вернул «404 Not Found». Я пробовал путь из первого списка в книге "GET / ods-ask-status? AskID = 2", и получил "406 Not Acceptable". Так что я знаю, что кое-что нахожу. Однако я не могу пройти мимо 406. Я ввожу HTTP-запросы напрямую (с помощью nc) и пробовал точно, как в трассировке в книге (только меняя хост), а также вводил всевозможные Accept : и Accept- *: заголовки. Поскольку след в превью Amazon трудно прочитать, я пробовал другие интерпретации. Не повезло. (Если у кого-то есть книга, возможно, они могут ввести ее в список.)

Другой документации по протоколу, которую я могу найти, нет. На данный момент мне нужно просто взять два компьютера, использующих общий доступ к DVD или CD, и понюхать их, но сейчас мне будет сложно это настроить. Итак, я предлагаю проблему здесь. Возможно, вам удастся прославиться, написав реализацию этого протокола с открытым исходным кодом. ; -)

6
задан Kara 16 January 2014 в 19:38
поделиться