Skip to content

Releases: AlexRudyak/netstack-test-suite

v0.3.0 — session-random DUT destination port

Choose a tag to compare

@AlexRudyak AlexRudyak released this 31 Aug 13:26

Feature

  • The DUT destination port is now optional with a session-random default. Leave --dut-port (or the GUI's Destination port field, which shows random) unset and a single random ephemeral port (IANA dynamic range) is chosen and reused for the whole session; set it and every port-specific test targets exactly that port.
    • config.DUTConfig.target_port is now int | None; random_ephemeral_port() added.
    • The session-scoped dut_config fixture resolves an unset --dut-port exactly once.
    • The CLI echoes the chosen port at startup; the GUI logs it on the first run that picks it.
    • src/runner.py passes --dut-port only when set.

Builds on v0.2.0 (--dut-source-port, and the Custom Packet panel layout fix for maximized windows).

Full changelog: v0.2.0...v0.3.0

v0.2.0 — DUT source/destination port config

Choose a tag to compare

@AlexRudyak AlexRudyak released this 31 Aug 11:50

Features

  • config: optional source port / destination port for the DUT target. Surfaced in the GUI DUT configuration form (a Source port (optional) spinbox showing auto at 0, and a Destination port spinbox) and on the CLI as netstack-cli run --dut-port / --dut-source-port. The runner now always passes --dut-port (previously the GUI's port never reached pytest); --dut-source-port is opt-in. The dut_config fixture exposes both to tests.

Fixes

  • gui: Custom Packet panel is usable when the window is maximized. The panel now sits in a QScrollArea with a bounded content width, so maximizing no longer stretches the input fields across the screen or distorts the form rows.

Docs / tooling

  • CI workflow for the framework self-tests.
  • Reproducible screenshot generator (tools/generate_screenshots.py) and a docs/screenshots.md gallery.
  • Front README badges: Release, Conventional Commits, Made with Claude.

Full changelog: v0.1.0...v0.2.0

v0.1.0 — Network Stack Test Suite

Choose a tag to compare

@AlexRudyak AlexRudyak released this 26 Aug 17:56

First release of the Network Stack Test Suite — RFC-conformance and
vulnerability testing for a custom L3/L4 network stack (the DUT) over real
Ethernet.

Download & run (Windows)

  1. Download NetstackTestSuite.exe below.
  2. Double-click it — it self-elevates via UAC (raw sockets need Administrator).
  3. Install Npcap if you haven't (the packet-capture driver can't be bundled).

No Python install needed. Artifacts (reports, .pcap, logs) are written to a
reports/ folder next to the exe.

What's included

  • IP, UDP, ICMP, TCP conformance tests (SYN/handshake, state machine, congestion/flow control) plus vulnerability classes (SYN flood, Ping of Death, Teardrop, invalid flag combinations).
  • Client and server roles — validate the DUT as a responder or as an initiator.
  • CLI and GUI front ends sharing one run engine; live traffic plot; per-test descriptions with RFC references.
  • Developer-oriented report (HTML + PDF) — findings first (with the RFC clause and observed behaviour), artifacts/repro, and appendices (full test catalog + RFC index).
  • Custom/raw payloads, a passive pcap recorder, and an opt-in tshark-style debug log.

Requirements

  • Windows 10/11, Administrator (prompted via UAC).
  • Npcap with "Restrict … to Administrators only" unchecked.

See the README and
docs/ for full documentation.