tPacketCaptureみたいなのを作ろうと思っています。VpnService使ってVPNを介してパケットを送信するのはなんとか実装できたのですが、
パケットの受信が全くできません。調べた知識だけで書いてるので合ってる自信がないですが、問題点等ありますか?
エラー処理などは省略しています。

Builder mInterface = VpnService.builder().establish();
DatagramChannel tunnel = DatagramChannel.open();
FileInputStream in = new FileInputStream(mInterface.getFileDescriptor());
in.read(Packet.array()); // 読み取り
tunnel.connect(new InetSocketAddress(Ip.getDstAddress(), Udp.getDstPort())); // 読み取ったIPとUDPを使って繋ぐ
tunnel.write(Packet); // 送信(ここまではうまくいく)
tunnel.read(Packet); // 受信(ここで全く読み取れない)