0

首先请允许我说,我没有任何开发 OSX 驱动程序的经验,也没有开发 Windows 驱动程序的经验。所以,关于驱动程序的工作原理,我有很多不明白的地方。我相信这在我的问题中会很明显。

我有一个能够使用 AT 命令打开和关闭 TCP/UDP 套接字的调制解调器。我想创建某种程序(内核扩展?驱动程序?)来实现网络驱动程序,将网络接口调用转换为 AT 命令串行消息。

这就是它的基本要点。我本质上是在问是否有人可以为我指明正确的方向/给我一个关于他们将如何处理它以及 Apple 指导关注的内容的高级概述。

4

1 回答 1

0

XNU 网络堆栈——像大多数网络堆栈一样——期望网络设备直接发送和接收 IP 数据包。它不适用于在内部处理部分网络堆栈(如 TCP 或 UDP)的网络设备 - 无法实现使用该设备的网络驱动程序。

将此设备公开为SOCKS 代理可能会更幸运。您将需要编写一个用户空间守护程序,它侦听 localhost(计算机上)上的 TCP 端口并将流量中继到串行设备;完成后,您可以在网络控制面板中将计算机设置为将该设备用作 SOCKS 代理。

(顺便说一句:大多数实现这种接口的设备对打开的套接字数量的限制非常低——通常少于 10 个。它们不太可能能够处理桌面操作系统产生的网络负载。)

于 2017-12-24T07:10:57.463 回答