Linuxで(できれば最終的にはJavaアプリケーションで)TUNデバイスを開こうとしています。ネイティブコードを使用したくないので(可能であればJNIを避けたい)、コマンドラインから可能な限り実行したいと思います。これが私がやろうとしていることです:
- を使用してTUNインターフェイスを作成します
ip tuntap add dev tun0 mode tun
ip
upに設定し、IPアドレスを指定します(コマンドで十分簡単)- ある種の
/dev/tun0
ファイルを開いて、ネットワーク側からトラフィックを書き込みます。
最後のステップは私が少し混乱しているところです-ネットワークアダプタはファイルであるため、これはUnixで機能するでしょうが、私はLinuxを使用しており、NICにそのようにアクセスできるとは思いません。これはネイティブコードでは簡単だと理解しています(ioctl
ファイル記述子を数回呼び出して取得します)が、コマンドラインからそれを行う方法がない限り、機能しません。
すでに構成されているtun
インターフェース(で構成されているip tuntap
)をopen
呼び出しで開き、ネットワーク側のIPパケットを(を使用せずにioctl
)書き込み始める方法はありますか?