pnet_layers 0.1.0

A scapy like wrapper around the pnet crate to easily parse, craft or manipulate network packets in Rust.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
use pnet_layers::{LayerMut, LayerMutable};

#[test]
fn test_craft() {
    let crafted = LayerMut::parse("Vlan(id: 10)").unwrap();
    assert!(matches!(crafted, LayerMut::Vlan(_)));
    if let LayerMut::Vlan(mut vlan) = crafted
        && let Some(vlan) = vlan.modify()
    {
        assert_eq!(vlan.get_vlan_identifier(), 10);
    }
}