草庐IT

java - 如何打开使用 'ip tuntap' 创建的 tun 设备

我正在尝试在Linux中打开TUN设备(希望最终在Java应用程序中打开)。因为我不想使用任何native代码(我想尽可能避免使用JNI),所以我想尽可能多地通过命令行进行操作。这是我正在尝试做的事情:使用iptuntapadddevtun0modetun创建TUN接口(interface)设置它,并给它一个IP地址(使用ip命令很简单)打开某种类型的/dev/tun0文件以从网络端写入流量。最后一步是我有点困惑的地方-我认为这在Unix上可行,因为网络适配器是文件,但我在Linux上,我认为我不能那样访问NIC。我知道这对于native代码来说很简单(对ioctl进行几次调用并获取文

linux - 带 Tun 接口(interface)的 I/O

目的是让程序拦截一组IP数据包并读取其原始内容,然后在修改后将其重新插入网络。我的方法基于设置一个Tuntap接口(interface)(具体来说是Tun),然后让iptables和类似的工具将所需的数据包重定向到这个隧道接口(interface)。出于测试目的,我编写了这个简短的shell脚本来设置Tun接口(interface)并添加所需的规则。现在,我打算在从我的本地计算机发送的目标为123.123.123.123的任何数据包上对此进行测试。这是启动脚本:#Setupthetunneliptuntapadddevmaintunmodetunifconfigmaintuninet1