modified: frida_core/src/linux_tun.rs
modified: frida_core/src/main.rs
This commit is contained in:
parent
32eec5252a
commit
a1852140d3
@ -1,5 +1,8 @@
|
||||
use std::sync::Arc;
|
||||
use std::error::Error;
|
||||
use tokio_tun::Tun;
|
||||
use std::net::Ipv4Addr;
|
||||
use std::os::unix::io::AsRawFd;
|
||||
|
||||
pub fn create() -> (DeviceReader, DeviceWriter) {
|
||||
let tun = Arc::new(
|
||||
@ -14,23 +17,27 @@ pub fn create() -> (DeviceReader, DeviceWriter) {
|
||||
|
||||
println!("tun created, name: {}, fd: {}", tun.name(), tun.as_raw_fd());
|
||||
|
||||
let (mut reader, mut _writer) = tokio::io::split(tun);
|
||||
let tun_writer = tun.clone();
|
||||
|
||||
(DeviceReader {reader: tun}, DeviceWriter {writer: tun_writer})
|
||||
}
|
||||
|
||||
pub struct DeviceWriter {
|
||||
|
||||
writer: Tun
|
||||
}
|
||||
|
||||
pub struct DeviceReader {
|
||||
|
||||
reader: Tun
|
||||
}
|
||||
|
||||
impl DeviceWriter {
|
||||
pub async fn write(&self, buf: &Vec<u8>) -> Result<usize, Box<dyn Error>> {
|
||||
self.writer.send_all(buf).await
|
||||
}
|
||||
}
|
||||
|
||||
impl DeviceReader {
|
||||
pub async fn read(&self, buf: &mut Vec<u8>) -> Result<usize, Box<dyn Error>> {
|
||||
self.reader.recv(buf).await
|
||||
}
|
||||
}
|
@ -16,7 +16,7 @@ async fn main() {
|
||||
.filter(None, LevelFilter::Info)
|
||||
.init();
|
||||
|
||||
let (reader, writer) = tun::create_tun();
|
||||
let (reader, _writer) = tun::create_tun();
|
||||
|
||||
let a = tokio::spawn(async move {
|
||||
let mut buf = Vec::new();
|
||||
@ -25,11 +25,11 @@ async fn main() {
|
||||
// info!("We've got {} bytes of data!", c)
|
||||
let r = reader.read(&mut buf).await;
|
||||
match r {
|
||||
Ok(c) => {},
|
||||
Err(e) => error!("We've got a nasty error message!")
|
||||
Ok(_c) => {},
|
||||
Err(_e) => error!("We've got a nasty error message!")
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
a.await;
|
||||
let _ = a.await;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user