modified: Cargo.lock
modified: frida_core/src/linux_tun.rs
This commit is contained in:
parent
557a5a1558
commit
c3292a3f47
13
Cargo.lock
generated
13
Cargo.lock
generated
@ -1683,6 +1683,7 @@ dependencies = [
|
|||||||
"env_logger",
|
"env_logger",
|
||||||
"frida_core",
|
"frida_core",
|
||||||
"log",
|
"log",
|
||||||
|
"network-interface",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tokio-util",
|
"tokio-util",
|
||||||
"x25519-dalek",
|
"x25519-dalek",
|
||||||
@ -2805,6 +2806,18 @@ dependencies = [
|
|||||||
"jni-sys",
|
"jni-sys",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "network-interface"
|
||||||
|
version = "2.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "433419f898328beca4f2c6c73a1b52540658d92b0a99f0269330457e0fd998d5"
|
||||||
|
dependencies = [
|
||||||
|
"cc",
|
||||||
|
"libc",
|
||||||
|
"thiserror 1.0.69",
|
||||||
|
"winapi",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nix"
|
name = "nix"
|
||||||
version = "0.29.0"
|
version = "0.29.0"
|
||||||
|
@ -7,13 +7,31 @@ use crate::device::AbstractDevice;
|
|||||||
use log::info;
|
use log::info;
|
||||||
|
|
||||||
pub fn create(cfg: AbstractDevice) -> (DeviceReader, DeviceWriter) {
|
pub fn create(cfg: AbstractDevice) -> (DeviceReader, DeviceWriter) {
|
||||||
|
|
||||||
|
let builder = Tun::builder();
|
||||||
|
|
||||||
|
if cfg.tun_name.is_some() {
|
||||||
|
builder.name(&cfg.tun_name.unwrap());
|
||||||
|
}
|
||||||
|
|
||||||
|
if cfg.mtu.is_some() {
|
||||||
|
builder.mtu(cfg.mtu.unwrap().into());
|
||||||
|
}
|
||||||
|
|
||||||
|
if cfg.address.is_some() {
|
||||||
|
builder.address(cfg.address.unwrap());
|
||||||
|
}
|
||||||
|
|
||||||
|
if cfg.netmask.is_some() {
|
||||||
|
builder.netmask(cfg.netmask.unwrap());
|
||||||
|
}
|
||||||
|
|
||||||
|
if cfg.destination.is_some() {
|
||||||
|
builder.destination(cfg.destination.unwrap());
|
||||||
|
}
|
||||||
|
|
||||||
let tun = Arc::new(
|
let tun = Arc::new(
|
||||||
Tun::builder()
|
builder
|
||||||
.name(&cfg.tun_name.unwrap()) // if name is empty, then it is set by kernel.
|
|
||||||
.mtu(cfg.mtu.unwrap().into())
|
|
||||||
.address(cfg.address.unwrap())
|
|
||||||
.netmask(cfg.netmask.unwrap())
|
|
||||||
.destination(cfg.destination.unwrap())
|
|
||||||
.up() // or set it up manually using `sudo ip link set <tun-name> up`.
|
.up() // or set it up manually using `sudo ip link set <tun-name> up`.
|
||||||
.try_build() // or `.try_build_mq(queues)` for multi-queue support.
|
.try_build() // or `.try_build_mq(queues)` for multi-queue support.
|
||||||
.unwrap(),
|
.unwrap(),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user