问题标签 [tun]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
512 浏览

android - 如何在检查连接时欺骗 Android?

我正在做一个使用 tun 作为 Android 上的虚拟网络设备的网络应用程序。我关闭了其他可用接口,例如 eth0(用于 WLAN)和 rmnet0(用于 3G/GPRS),但保持 tun0 设备处于活动状态并在路由表中添加规则

ip route add default dev tun0

所以我可以将所有互联网传输重定向到 tun 设备(我在这里所做的与 OpenVPN 相同)。然后我在ping其他IP时看到了数据传输。浏览器和其他一些应用程序工作正常。

但是一些安卓应用在访问网络之前会通过 ConnectivityManager 来检查 Connectivity。由于我关闭了 WIFI 和 3G/GPRS,ConnectivityManager 认为没有连接,这些应用程序将不再访问网络。

所以我的问题是:

如何欺骗android ConnectiviyManager,让它相信仍然有可用的连接(对于任何类型)?

0 投票
1 回答
902 浏览

python - Linux:如何模拟接口上的传入数据包?

如何在特定软件界面上模拟一些传入流量?这种需要的原因是我们在以太层和 IP 层之间有几个软件接口,它们将沿着网络堆栈解析我们自己的 L2.5 标头,即

我在看 TAP,看起来它可以提供帮助。但我不明白如何将此 TAP 接口链接到我们自己的软件接口,以便数据包将通过预期的网络堆栈?也许我对TAP的理解不正确?

谢谢,

0 投票
0 回答
322 浏览

c - 有没有办法知道tun/tap接口是否打开?

我正在使用 tun 接口 tun0 制作应用程序。我已经成功地能够通过接口发送和接收数据包。有什么方法可以知道 tun 接口何时打开ifconfig tun0 up

我只想在接口处于活动状态时才进行一些底层设备初始化。(稍后添加)我正在关注http://backreference.org/2010/03/26/tuntap-interface-tutorial/中的示例

0 投票
3 回答
1448 浏览

c - 没有收到从 tap 接口发送的广播数据包

我正在从这里制作一个类似于 simpletun 的程序。

  1. 应用程序将 UDP 广播发送到 tap 接口。

  2. 在 Tap 接口上侦听的程序(类似于 simpletun)接收数据包并将其作为广播再次回显。

  3. 我能够在 Wireshark 上看到两个数据包,但应用程序没有收到它。似乎内核正在丢弃它们。

  4. 如果类似的数据包是从不同的机器发送的。它工作正常。

tun/tap 代码:-

上面的代码在使用原始套接字读取和写入的另一台机器上运行时效果很好。(没有 eth 标头)。

接收申请代码:-

0 投票
0 回答
195 浏览

android - 如何获取直接连接到默认 GW 的本地接口的 IP

-环境-

  1. VPN连接(OpenVPN)
    -默认网关改为VPN服务器IP
    -VPN连接的虚拟接口(tunXX)直接连接到默认网关

  2. 接口和默认网关

在这种环境下,无论使用 Android API 的接口名称如何,我都想知道“10.8.0.14” 。

我发现只有一种方法可以在下面获取默认路由 IP 地址

但是,我不想使用 Socket

0 投票
2 回答
30658 浏览

linux - 使用 ip tuntap 命令点击接口和 /dev/net/tun 设备

我正在使用ip tuntap创建一个点击界面,如下所示:

之后,我设置接口并使用通用 IP 命令对其进行寻址。然后我可以看到我的界面并用一个简单的ifconfig.

现在,一位老师告诉我,通过创建一个 tap 接口(在这种情况下命名为 tap0),我会找到一个/dev/net/tap0节点,并且我可以在其中写入或读取它。但是,我找不到它。我“只是”有一个/dev/net/tun.

我必须处理这个 tun 节点,还是我真的应该有一个 tap0 节点?

0 投票
1 回答
5845 浏览

linux - /dev/ppp 和 /dev/net/tun 有什么区别?

PPP和tun/tap有什么区别?两者似乎都是为了通过用户空间程序实现网络。

使用 PPP,内核创建 ppp%d 以供使用,并让用户空间程序为其提供后端。
使用 tun/tap,内核创建 tun%d 以供使用,并让用户空间程序为其提供后端...

将程序从使用 tun/tap (在我的 Android 设备上似乎不可用)更改为 ppp有多困难?

0 投票
0 回答
174 浏览

windows - 想用win32、wmi模块改变接口的属性

我在用wmi module

并更改界面内的属性,它不会在界面中更改

即使我无法分配 IP 地址、网关和子网掩码


我试过了

请提供任何帮助。
我正在使用windows环境。

0 投票
0 回答
699 浏览

windows - 在 Windows 7 上点击适配器

我正在尝试在 Windows 上使用 python 创建隧道程序。这些是以下步骤: 1 - 我下载了 tun/tap 设备 2 - 使用 WMI 能够更改 IP 地址元素

我现在面临一个问题。当我使用 WMI 更改它时,Tun\tap 显示“IPEnabled = False”。它不会更改接口中的任何内容,即使提供 ip、defaultgateway、子网掩码也是如此。但是,当我在其上应用相同的命令时,它确实会改变我的无线接口。

出了什么问题?这是解决这个问题的最好方法吗?

提前致谢。

0 投票
1 回答
2703 浏览

sockets - 非阻塞 tun/tap 文件描述符上的 read() 得到 EAGAIN 错误

我想从非阻塞 tun/tap 文件描述符中读取 IP 数据包,tunfd 我将其设置tunfd为非阻塞并在 libevent 中为它注册一个 READ_EV 事件。

当事件触发时,我先读取前 20 个字节以获取 IP 标头,然后再读取其余部分。

但是对于read(tunfd, buf+20, ip_len-20) I got EAGAIN 错误,实际上应该有一个完整的数据包,所以应该有一些字节,为什么会出现这样的错误?

tunfd 与非阻塞模式或 libevent 不兼容?

谢谢!