Module rawsocket_helper::recv [−][src]
Expand description
使用 pnet 通道接收数据
l2 用法
use rawsocket_helper::{
out_going::{
get_all,
},
recv::{RecvPacket, create_l2_channel, recv_tcp},
};
use pnet::packet::{
ipv4::Ipv4Packet,
tcp::TcpPacket,
};
let og = get_all().unwrap();
let (_, mut rx) = create_l2_channel(&og.iface).unwrap();
recv_tcp(&mut rx, None, 1, None, None, None, None, None, |packet, tcp_offset| {
let ip_header = Ipv4Packet::new(&packet[14..]).unwrap();
let tcp_header = TcpPacket::new(&packet[tcp_offset..]).unwrap();
println!(
"{}:{} -> {}:{}",
ip_header.get_source(),
tcp_header.get_source(),
ip_header.get_destination(),
tcp_header.get_destination()
);
RecvPacket::Count
}).unwrap();
Re-exports
pub use crate::send::create_l2_channel;
Enums
recv_tcp handle_func 返回值
Functions
通过 pnet L2 通道接收 tcp 报文