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 报文