如何在Android版本6.01中安装Tun驱动程序?

时间:2017-03-21 11:43:23

标签: android linux android-ndk iptables tun

目前我有简单的隧道C程序(simpletun.c)与Android应用程序集成(JNI,NDK)

但要使这个应用程序运行:需要设置(最好通过程序)Tun接口? (它没有发生)

这样的代码撤回-1(:

int tun_alloc(char *dev, int flags) {

    struct ifreq ifr;
    int fd, err;
    char *clonedev = "/dev/tun";

    if( (fd = open(clonedev , O_RDWR)) < 0 ) {
        jni_printf("Opening /dev/net/tun fail");
        return fd;
    }

    memset(&ifr, 0, sizeof(ifr));

    ifr.ifr_flags = flags;

    if (*dev) {
        strncpy(ifr.ifr_name, dev, IFNAMSIZ);
    }

    if( (err = ioctl(fd, TUNSETIFF, (void *)&ifr)) < 0 ) {
        jni_printf("ioctl(TUNSETIFF) error");
        close(fd);
        return err;
    }

    strcpy(dev, ifr.ifr_name);

    return fd;
}

其他信息:

*添加了ADB Shell终端视图enter image description here *已经植入Android手机,通过iptables android app安装iptables(iptables 1.4.20)

0 个答案:

没有答案