苹果的“DVD或CD共享”协议是如何工作的?

6

苹果电脑提供"DVD或CD共享"服务,用于远程访问光驱。(苹果还提供Windows软件,仅实现共享一半,不能读取。) 我想从Linux使用该服务,在Mac上读取光盘。 但我找不到任何软件甚至关于协议的信息。我想在这里记录我发现的内容,并看看其他人能找到什么。

我的朋友在他的Mac上启用了“DVD或CD共享”。 我可以通过零配置(使用Avahi)看到该服务。值得注意的是:

Service Type: _odisk._tcp
Address: <hostname>.local/192.168.1.115:49152

在搜索"_odisk._tcp"时,我在《Mac黑客手册》中找到了相关内容。你可以在第69页和第70页找到它。我没有这本书,所以我使用了Amazon的预览。它展示了一些基于HTTP的协议示例。

然而,我无法成功请求。第一次尝试在zeroconf给出的端口上进行“GET /”时,我得到了“401未经授权”的错误。我让我的朋友关闭了安全性。然后,“GET /”返回“404未找到”。我尝试了书中第一个列表中的路径,“GET /ods-ask-status?askID=2”,并得到了“406不可接受”的错误。所以我知道我正在做某件事情。然而,我无法跨过406。我一直在直接输入HTTP请求(使用nc),并尝试按照书中跟踪的方式(仅更改主机),以及输入各种Accept:和Accept-*:头部。由于Amazon预览中的跟踪很难阅读,我尝试了其他解释。没有运气。(如果有人有这本书,也许他们可以打出清单。)

我没有找到关于这个协议的其他文档。现在,我应该只是让两台电脑使用DVD或CD共享并嗅探它们,但是目前对我来说设置这个可能有些困难。因此,我在这里提出了这个问题。也许你可以通过编写该协议的开源实现而成为名人。;-)


听起来你可能想要考虑购买那本书。 - caf
公平地说,尽管这本书没有深入探讨这个问题。但我认为嗅探协议更有可能成功,而且更有趣。 - Andrew
1个回答

4

2
那个代码库似乎已经消失了,但它被分叉到 https://github.com/nightwend/ODSServer。 - Nick Matteo
@NickMatteo 感谢提供的信息。根据 GitHub 的 Network 页面 https://github.com/nightwend/ODSServer/network,rcknr 也添加了支持从服务器本身宣布服务的功能 https://github.com/rcknr/ODSServer/tree/dev 。我会更新帖子。 - Marcel Waldvogel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接