#raw-sockets #arp #raw #networking #sockets #packet

cursock

原始套接字封装库,可用于发送原始数据包和一些协议

3 个稳定版本

1.2.7 2023 年 6 月 21 日
1.2.3 2023 年 5 月 31 日
1.2.0 2023 年 2 月 12 日

#652 in 网络编程

27 每月下载量

Apache-2.0

92KB
1.5K SLoC

包含 (静态库,27KB) lib/npcap/wpcap.lib,(静态库,1KB) lib/cursock/linux/libcursock.a

Cursock v1.2.7

原始套接字封装库,可以发送原始数据包和一些协议

变更日志

  • 重新实现了 IcmpArpAdapter 结构体
  • 添加了表示 eth + (ipv4 | ipv6) 头的 IpPacked
  • 处理 Icmp 结构体的目标 MAC 地址

待办事项

  • 为 Icmp 添加 ipv6 支持

协议

  • Arp
  • Icmp

平台

  • Windows (npcap)
  • Linux

示例

use cursock::*;
use cursock::utils::*;

let socket = Socket::new("wlan0").expect("initialize error");
let mut buffer = [0; 1000];

socket.read_raw_packet(&mut buffer).expect("read error");

socket.destroy();

lib.rs:

Cursock

cursock 是一个设计用来帮助套接字的 crate。

依赖项

~310KB