Как открыть устройство Tun, созданное с помощью «ip tuntap»
Я пытаюсь открыть устройство TUN в Linux (надеюсь, в конечном итоге, в приложении Java). Поскольку я не хочу использовать какой-либо нативный код (я хочу избегать JNI, если это возможно), я хочу сделать как можно больше через командную строку. Вот что я пытаюсь сделать:
Create a TUN interface usingip tuntap add dev tun0 mode tun
Set it to up, and give it an IP address (simple enough with the ip
command)
Open some kind of /dev/tun0
file to write traffic from the network side.
Последний шаг - это то, где я немного запутался - я полагаю, это будет работать на Unix, потому что сетевые адаптеры - это файлы, но я на Linux и не думаю, что смогу получить доступ к сетевым картам таким образом. Я понимаю, что это просто с родным кодом (сделать несколько звонковioctl
и получите дескриптор файла), но если не будет какого-либо способа сделать это из командной строки, он не будет работать.
Есть ли способ открыть уже настроенныйtun
интерфейс (настроен сip tuntap
) сopen
вызов и начать запись IP-пакетов на стороне сети (без использованияioctl
)?