docs: add project scope, fix RustNet capitalization, list missing DPI protocols (#270)

This commit is contained in:
Marco Cadetg
2026-05-13 19:54:25 +02:00
committed by GitHub
parent 28d9bd5b1c
commit df45b2bd27
6 changed files with 25 additions and 10 deletions
+3
View File
@@ -68,6 +68,9 @@ Multiple worker threads (up to 4 by default, based on CPU cores) that parse pack
- DNS queries and responses
- SSH connections with version detection
- QUIC protocol with CONNECTION_CLOSE frame detection
- MQTT with packet types, version, and client identifier
- BitTorrent handshakes and DHT messages
- STUN for WebRTC and NAT traversal
- NTP with version, mode, and stratum
- mDNS and LLMNR for local name resolution
- DHCP with message types and hostnames
+14 -2
View File
@@ -1,6 +1,18 @@
# Contributing to rustnet
# Contributing to RustNet
Pull requests are very welcome! Whether you're fixing bugs, adding features, improving documentation, or providing feedback, all contributions help make rustnet better.
Pull requests are very welcome! Whether you're fixing bugs, adding features, improving documentation, or providing feedback, all contributions help make RustNet better.
## Project Scope
RustNet aims to stay small and fast. Not every protocol or feature belongs in the core tool, even when a contribution is well-written.
For Deep Packet Inspection in particular, we lean toward protocols that:
- A meaningful share of RustNet users will actually encounter on their networks.
- Produce visible, useful information (the plaintext window is wide enough to extract real metadata, not just to confirm the protocol exists before everything goes TLS).
- Fit the existing architecture without disproportionate maintenance cost.
If a protocol is rarely seen in modern traffic, almost always TLS-wrapped, or niche to a single user base, we may still close the PR with thanks even if the code is correct. Please open an issue first for any new protocol so we can sanity-check fit before you invest implementation time.
## Development Workflow
+2 -2
View File
@@ -1,6 +1,6 @@
# Contributors
We would like to thank the following people for their contributions to rustnet:
We would like to thank the following people for their contributions to RustNet:
## Maintainer
@@ -16,6 +16,6 @@ We would like to thank these people for their valuable contributions:
## Contributing
We welcome and appreciate all contributions! Whether you're fixing bugs, adding features, improving documentation, or helping with ideas and feedback, your contributions make rustnet better.
We welcome and appreciate all contributions! Whether you're fixing bugs, adding features, improving documentation, or helping with ideas and feedback, your contributions make RustNet better.
See our [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on how to contribute.
+4 -4
View File
@@ -34,13 +34,13 @@ Pre-built packages are available for each release on the [GitHub Releases](https
2. **Open the DMG** and drag Rustnet.app to your Applications folder
3. **Bypass Gatekeeper** (for unsigned builds):
- When you first try to open Rustnet, macOS will block it because the app is not signed
- When you first try to open RustNet, macOS will block it because the app is not signed
- Go to **System Settings → Privacy & Security**
- Scroll down to find the message about Rustnet being blocked
- Scroll down to find the message about RustNet being blocked
- Click **"Open Anyway"** to allow the application to run
- You may need to confirm this choice when launching the app again
4. **Run Rustnet**:
4. **Run RustNet**:
- Double-click Rustnet.app to launch it in a Terminal window with sudo
- Or run from command line: `sudo /Applications/Rustnet.app/Contents/MacOS/rustnet`
@@ -70,7 +70,7 @@ Pre-built packages are available for each release on the [GitHub Releases](https
3. **Run the installer** and follow the installation wizard
4. **Run Rustnet**:
4. **Run RustNet**:
- Open Command Prompt or PowerShell
- Run: `rustnet.exe`
- If Npcap is not installed or not in WinPcap compatible mode, RustNet will display a helpful error message with installation instructions
+1 -1
View File
@@ -29,7 +29,7 @@
## Features
- **Per-process attribution**: Every TCP, UDP, and QUIC connection mapped to its owning process, via eBPF on Linux, PKTAP on macOS, native APIs on Windows and FreeBSD. Wireshark and tcpdump can't do this; `netstat` / `ss` can't show live state.
- **Deep packet inspection**: Identify HTTP, HTTPS/TLS with SNI, DNS, SSH, QUIC, NTP, mDNS, LLMNR, DHCP, SNMP, SSDP, and NetBIOS, without external dissectors.
- **Deep packet inspection**: Identify HTTP, HTTPS/TLS with SNI, DNS, SSH, QUIC, MQTT, BitTorrent, STUN, NTP, mDNS, LLMNR, DHCP, SNMP, SSDP, and NetBIOS, without external dissectors.
- **Security sandboxing**: Landlock (Linux 5.13+), Seatbelt (macOS), token privilege drop + job-object child-process block (Windows). Drops privileges immediately after libpcap initializes. See [SECURITY.md](SECURITY.md).
- **TCP network analytics**: Real-time retransmissions, out-of-order packets, and fast-retransmit detection, per-connection and aggregate.
- **Smart connection lifecycle**: Protocol-aware timeouts with white → yellow → red staleness indicators. Toggle `t` to keep historic (closed) connections visible for forensics.
+1 -1
View File
@@ -29,7 +29,7 @@
## 功能特性
- **进程级归属识别**:每一条 TCP、UDP、QUIC 连接都能追溯到所属进程。Linux 使用 eBPFmacOS 使用 PKTAPWindows 与 FreeBSD 则走原生 API。Wireshark 与 tcpdump 做不到这一点;`netstat` / `ss` 也无法展示实时状态。
- **深度包检测**:无需外部解析器即可识别 HTTP、带 SNI 的 HTTPS/TLS、DNS、SSH、QUIC、NTP、mDNS、LLMNR、DHCP、SNMP、SSDP 及 NetBIOS。
- **深度包检测**:无需外部解析器即可识别 HTTP、带 SNI 的 HTTPS/TLS、DNS、SSH、QUIC、MQTT、BitTorrent、STUN、NTP、mDNS、LLMNR、DHCP、SNMP、SSDP 及 NetBIOS。
- **安全沙箱**Linux 5.13+ 使用 LandlockmacOS 使用 SeatbeltWindows 通过 token 降权 + job-object 阻止子进程创建。libpcap 初始化完成后立即丢弃特权。详见 [SECURITY.md](SECURITY.md)。
- **TCP 网络分析**:实时统计重传、乱序包、快重传,既有逐连接视图也有汇总视图。
- **智能连接生命周期**:按协议设置超时,以白 → 黄 → 红的颜色指示过期程度。按 `t` 可保留历史(已关闭)连接以便事后追溯。