将vpn能够拦截绑定到另一个网络接口的套接字上的所有流量

时间:2017-10-04 09:43:45

标签: networking network-programming vpn tunnel

Cisco Any-connect等VPN通常通过自己的网络接口路由所有流量。

即使将套接字(在我的情况下是客户端套接字)从应用绑定到另一个网络接口,这些VPN仍然能够路由所有流量。

1 个答案:

答案 0 :(得分:1)

制作VPN的方法有很多,但您可以将其中的大多数视为具有三个主要组件

  1. 隧道接口 - 与您的真实网络接口一起列出的虚拟网络接口(在Linux上,您应该在ip link show中看到)。该接口实现了一个协议,该协议抽象出VPN客户端和服务器之间的所有链接,使其看起来像是在一个更简单的网络上
  2. 路由规则 - 一种路由规则,它告诉您的计算机通过隧道接口发送哪些数据以及通过普通网络接口发送哪些数据包。此规则可以像通过隧道接口发送所有数据包
  3. 一样简单
  4. 加密算法 - 确保数据包已加密且通常由隧道接口抽象的方法
  5. 因此,要回答您的问题,您仍然可以访问其他网络接口。只要您可以绑定它(第2层API调用)或监听它(第3层路由规则),您就可以以有用的方式访问它。我建议在建立VPN之后查看您的路由表,以便更好地了解正在发生的事情。