Files
domcyrus--rustnet/crates/rustnet-core/README.md
T
wehub-resource-sync 19dc5d82a0
Rust / build (push) Failing after 1s
Rust / docker (push) Failing after 0s
chore: import upstream snapshot with attribution
2026-07-13 12:29:44 +08:00

1.5 KiB

rustnet-core

The reusable network-analysis core of RustNet.

rustnet-core is the platform-independent, capture-independent layer that turns bytes into meaningful network information. It has no dependency on libpcap, raw sockets, or OS process tables — it operates on byte slices and parsed structures, so it can be embedded in any tool that already has packets to analyze.

Features

  • Packet parsing for Ethernet, Linux SLL/SLL2, PKTAP, raw IP, and TUN/TAP link layers, plus IPv4/IPv6, TCP, UDP, ICMP, and IGMP.
  • Deep packet inspection for HTTP, HTTPS/TLS (SNI extraction), DNS, SSH, QUIC, NTP, mDNS, LLMNR, DHCP, SNMP, SSDP, NetBIOS, and more.
  • Connection merging — fold parsed packets into long-lived connection state with protocol-aware lifecycle tracking and TCP analytics (retransmissions, out-of-order, fast-retransmit).
  • GeoIP lookups against MaxMind GeoLite2 databases.
  • Reverse DNS with background async resolution and caching.
  • OUI vendor and service-name resolution from baked-in datasets (no runtime files required — the data is embedded at compile time).

Layout

Everything lives under the [network] module and is re-exported at the crate root, so both rustnet_core::network::types and rustnet_core::types resolve to the same place.

Status

The public API is currently 0.x and may change between minor versions while the workspace split stabilizes.

License

Apache-2.0