如何在 MAC 中以编程方式设置 *** 连接?
Posted
技术标签:
【中文标题】如何在 MAC 中以编程方式设置 *** 连接?【英文标题】:how to set up a *** connection programmatically in MAC? 【发布时间】:2011-10-24 17:38:03 【问题描述】:搜索了一段时间后,我发现在 mac 中以编程方式建立 *** 连接的唯一最佳来源是在
http://lists.apple.com/archives/Macnetworkprog/2011/May/msg00032.html
但我在第 5 点被击中,而编码中提到了 kSCNetworkProtocolTypePPP 并且没有这样的事情......
有没有人按照上面的链接做的 还是有其他可用的来源...?
【问题讨论】:
@user3883413 的答案是指 GitHub 上的开源命令行工具 -macos*** - 引用自述文件可以:“以编程方式创建 Mac OS ***”。您不能简单地使用它,或者至少根据您的特定需求对其进行分叉和定制吗? 【参考方案1】:但我在第 5 点被击中,而编码中提到了 kSCNetworkProtocolTypePPP 并且没有这样的事情......
无需获取 PPP 协议,您可以直接将设置应用到您创建的接口。如果你创建了这样的界面:
interface = SCNetworkInterfaceCreateWithInterface(bottomInterface, kSCNetworkInterfaceTypePPP);
您可以使用以下方式直接应用 PPP 选项:
SCNetworkInterfaceSetConfiguration(interface, myOptions)
您必须使用
应用共享密钥SCNetworkInterfaceSetExtendedConfiguration(interface, CFSTR("IPSec"), myOptions)
如果您想启用“通过 *** 发送所有流量”,您需要先获取 IPv4 协议来应用这些设置:
SCNetworkProtocolRef protocol = SCNetworkServiceCopyProtocol(service, kSCNetworkProtocolTypeIPv4);
SCNetworkProtocolSetConfiguration(protocol, myOptions)
此答案中提到的源代码是从https://github.com/halo/macos***/blob/master/macos***/Classes/***Controller.m 中提取的,您可以在其中找到它的全部内容。
【讨论】:
以上是关于如何在 MAC 中以编程方式设置 *** 连接?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 .NET 类中以编程方式访问服务器级 IIS 连接设置?
如何在 Jenkins/Hudson 中以编程方式设置环境变量?
如何在 Entity Framework 6 中以编程方式创建与 MS SQL 的连接字符串?