小编Jam*_*ler的帖子

针对 OSX 调整 Cisco AnyConnect vpnagentd 修复

我正在尝试找到一种解决方案,以允许与 OSX 的 Cisco AnyConnect 客户端进行拆分隧道。我已经找到了它是如何修改防火墙的,并且可以修复。然而,问题是vpnagentd守护进程不断劫持路由表。

Sasha Pachev 为 Linux ( https://superuser.com/a/546668/568559 )提出了一个优雅的解决方案,但是我在使其适应 OSX 方面遇到了挑战。

为 Linux 编写的hack.c引用了linux/netlink.h,它在 OSX 上不存在。我认为这就是AF_NETLINK 的来源。

#include <sys/socket.h>
#include <linux/netlink.h>

int __ZN25CInterfaceRouteMonitorMac20routeCallbackHandlerEv()
{
  int fd=50;          // max fd to try
  char buf[8192];
  struct sockaddr_nl sa;
  socklen_t len = sizeof(sa);

  while (fd) {
     if (!getsockname(fd, (struct sockaddr *)&sa, &len)) {
        if (sa.nl_family == AF_NETLINK) {
           ssize_t n = recv(fd, buf, sizeof(buf), MSG_DONTWAIT);
        }
     }
     fd--;
  }
  return 0; …
Run Code Online (Sandbox Code Playgroud)

networking vpn macos cisco-anyconnect

5
推荐指数
1
解决办法
4553
查看次数

标签 统计

cisco-anyconnect ×1

macos ×1

networking ×1

vpn ×1