0210-模拟发送构建的数据

环境

  • Time 2022-11-20
  • WSL-Ubuntu 22.04
  • Rust 1.65.0
  • pnet 0.31.0

前言

说明

参考:https://docs.rs/pnet_datalink/0.31.0/pnet_datalink/dummy

目标

使用 pnet_datalink 包中的 dummy 模拟数据链路层发送数据包。

网络接口

let interface = dummy::dummy_interface(44);

创建通道

let mut config = dummy::Config::default();

let read_handle = config.read_handle().unwrap();
let channel = dummy::channel(&interface, config);

发送

let buffer = vec![0; 44];
sender.send_to(&buffer, None).unwrap().unwrap();

接收

let pkg = read_handle
    .try_recv()
    .expect("Expected one packet to be sent");
assert_eq!(pkg.len(), 44);

总结

使用 pnet_datalink 模拟了数据包的发送和接收。

附录

posted @ 2024-07-24 10:15  波尔  阅读(5)  评论(0编辑  收藏  举报