C++ 应用程序选择网络接口

C++ 应用程序选择网络接口,c++,c,tcp,ip,nat,C++,C,Tcp,Ip,Nat,我是一名C/C++/Qt开发人员,今天,我有一个特殊的需求,我确信我不是唯一一个。我需要选择我的计算机应用程序将连接到的网络接口 例如,我在家,使用VPN访问一些受保护的内容(如我的公司使用的VPN)。我知道我不能使用VPN浏览互联网。我希望能够告诉我的FTP客户端连接到VPN接口和我的浏览器,连接到经典接口(VPN可能是一个坏例子,但想法就在那里。) 由于几乎没有一款经典的应用程序在他的电脑上,让用户选择要使用哪个IP,我想开发一些可以为我和所有需要它的人做到这一点的东西,但我只是不知道从哪里

我是一名C/C++/Qt开发人员,今天,我有一个特殊的需求,我确信我不是唯一一个。我需要选择我的计算机应用程序将连接到的网络接口

例如,我在家,使用VPN访问一些受保护的内容(如我的公司使用的VPN)。我知道我不能使用VPN浏览互联网。我希望能够告诉我的FTP客户端连接到VPN接口和我的浏览器,连接到经典接口(VPN可能是一个坏例子,但想法就在那里。)

由于几乎没有一款经典的应用程序在他的电脑上,让用户选择要使用哪个IP,我想开发一些可以为我和所有需要它的人做到这一点的东西,但我只是不知道从哪里开始。我知道我将不得不进行黑客攻击,可能会拦截并中继连接(类似防火墙,或者更类似NAT),或者我可以关闭并重新打开应用程序的连接(并停止/控制它以避免它被注意到,或者其他任何事情)


如果您知道我可以从何处开始我的研究,这将很有帮助。谢谢您的帮助。

这通常通过配置应通过VPN查找的IP地址范围,以及应通过本地路由器查找的IP地址范围来处理。您的操作系统应具有此方面的工具,例如。“路由添加-网络192.168.1.0网络掩码255.255.255.0 gw 192.168.1.1“。您需要以编程方式执行此操作是否有原因?您应该能够在操作系统级别为相关IP范围配置所需的路由。搜索“路由表”。@TonyD的可能重复项:我不仅希望使用VPN,而且希望使用2个或更多不同的接口(以太网和/或wifi和/或3G)有很多原因,绕过学校安全(我不在学校了,但他们曾经阻止谷歌),“沙箱”我的网络浏览器,拆分我的界面使用(比如wifi上的torrent,以太网上的web)@bames53:正如我对Tony_D说的,我想找到一种“通过应用”实现的方法而且不取决于IP范围。谢谢你。