v2.0|Multi-port|Multi-stream|Loss · Latency · Jitter|Pass / fail

Ethernet Traffic Generator

Send, measure, verify. Drive several ports at once, each with its own streams, and see every stream's loss, order, latency and jitter live — then turn the run into a pass/fail test with a report. Rebuilt from the engine up.

YTS Ethernet Traffic Generator Run screen — sent and received rates, zero frame loss, average delay, delay variation and per-port and per-stream counters
New in 2.0|A new application

From packet generator
to network tester

The ETH Packet Generator sent frames from one adapter and counted them. Version 2.0 is a new application: a multi-port, multi-stream traffic generator that knows which stream every received frame came from — so it can tell you not just how much arrived, but whether it arrived intact, in order and on time.

34protocols, 30 ready templates
p99.9latency, loss & jitter per stream
2.3 MBinstaller, down from 65 MB
🔀

Many ports, many streams

Give each adapter a job — send, receive or both — and run any number of streams on each, every one with its own frame, size and rate. Start or stop one stream without touching the others.

⏱

Measured, not just counted

Every frame carries a tag with its stream, a sequence number and its send time. The receiving port reads it back: loss, reordering, duplicates, one-way delay and delay variation, stream by stream.

✓

Pass / fail tests

Script a run — start, wait, hold, stop — set the criteria it must meet, and get a verdict with a JSON, CSV, HTML or PDF report. An unmeasured metric reports “not evaluated”, never a pass.

🧬

Frames that vary

Count a VLAN ID up, sweep an IPv4 subnet, walk a port range or a MAC range — each set on the field itself. Cyclic patterns are built once before sending, so a varied stream runs at full speed.

📈

Rates that move

Steady, ramp, steps, random, or a rate curve you draw with the mouse. Frame sizes fixed, random, increasing or IMIX. Send continuously, a number of frames, for a time or in bursts.

⌘

Automation built in

A REST API with an OpenAPI schema and bearer-token auth, plus a headless CLI that exits 0 pass / 1 fail / 2 error. Anything the window does, a script can do.

How it works

Four screens, in order

The window is laid out as the job is done: choose ports, describe the traffic, run it, read the results. Tools for tests, capture and automation sit beside them.

01

Ports

Pick adapters and give each a job: send, receive or both — or a local or remote loopback. The test diagram draws itself.

02

Traffic

Add streams from 30 templates, then edit any header field, the payload, size and rate.

03

Run

Start everything, one port or one stream. Sent, received, loss, delay and jitter update live.

04

Results

Every counter for every port and stream, charted over the last minute or the whole run, and exported.

Ports screen — adapters with link state, MAC, IPv4, send ceiling and a job per port, above a diagram of the test setup
Ports · every adapter with its link, address and send ceiling — and the job you give it
Traffic screen — streams grouped by sending port, each with its protocol layers, frame size, rate, destination and state
Traffic · streams grouped by port, each with its own layers, size, rate and on/off switch
Run screen — sent and received rate, frame loss, average delay, delay variation and out-of-order count, with per-port and per-stream tables
Run · rate, loss, delay, jitter and order at a glance, per port and per stream
Results screen — throughput chart of sent and received traffic over the last minute, with port and stream tables and report export
Results · throughput, frame rate, loss, delay or jitter charted — and every counter in a table
Packet editor|34 protocols

Every field,
every frame

Start from a template or stack the layers yourself. Every field of every header is editable, down to the bit — and any field can vary from frame to frame. Lengths, checksums and next-protocol values are computed for you, and can be overridden by hand when a wrong one is the test.

Stream editor Packet tab — Ethernet II, 802.1Q VLAN, IPv4 and UDP layers, with the VLAN ID counting up from 100 over 8 values
Headers · a VLAN ID counting 100 → 107, built once and sent at full speed
Stream editor Size, rate and measurement tab — rate in Mb/s, bandwidth and frame rate, send mode and a hand-drawn rate curve repeating every 20 seconds
Rate · type it in any unit, or draw the curve — it repeats every 20 s
Layer 2
Ethernet II802.3 LLC / SNAP802.1Q VLANQinQMPLSPPPoEARPLLDPLACPSTPPAUSEPTPv2

Tag, stack and label frames the way your switches will see them — single, double or MPLS-labelled.

Layers 3 & 4
IPv4IPv6ICMPICMPv6IGMPv3OSPFv2UDPTCPSCTP

Source and destination sweeps across a whole subnet, port ranges and lists — thousands of flows from one stream.

Tunnels & applications
VXLANGeneveGREGTP-UDNSDHCPNTPRTPBFDHTTPsyslog

Inner and outer headers, both editable. Raw bytes or a hex paste for anything the list does not cover.

🧾 Hex view, copy & paste 🔁 Previous / next stream 📨 Learn a gateway's MAC by ARP 🙋 Answer ARP and ping per stream
Major feature|Flows

Every stream, measured on its own

A flow is a set of streams sent from one port and received on another, with a device under test in between. Each frame carries its stream, a sequence number and its transmit time, so the far port can say exactly what went missing, what came back out of order and how long it took.

Delivery

Frames sent and received, lost, loss %, reordered and duplicated — per stream, even when streams share a port.

Latency

One-way delay min, average, max, p50, p95, p99 and p99.9, and delay variation (RFC 3393). Both ends share one clock.

Flows screen — two flows passing, with delivery counters, latency percentiles from min to p99.9 and jitter, and their criteria
Pass / fail|Reports|REST · CLI

A run becomes a test

Write the run down as steps, give it criteria, and let it decide. The same test runs from the window, from a script over REST, or from a CI job through the command-line runner.

Pass / fail tests screen — a scenario of six steps with five criteria, all passing, and export to PDF, HTML, CSV and JSON
Scenario · start, learn, hold, stop, evaluate — five criteria, one verdict
Automation screen — the REST endpoints, one command enum shared by the window, the CLI and the server, and bearer-token authentication
REST API · one command set for the window, the CLI and your scripts
🎯

Criteria that cannot pass by accident

Received frames, loss, throughput of target, rate error, reordering, duplicates, sequence gaps, recovery time, latency percentiles and jitter. A metric that was never measured reports “not evaluated”.

▤

Reports to file or send

JSON for pipelines, CSV for spreadsheets, a self-contained HTML page and an A4 PDF with the verdict, the criteria and every flow.

⚙

Headless runs

ethgen-cli run project.json --report out.html — exit 0 pass, 1 fail, 2 error. A run that measured nothing exits 2, never 0.

Capture|Decode|pcap

See what actually left

Capture on any port with a BPF filter, scroll through every frame held, and decode any of them layer by layer with its bytes in hex. Group traffic into conversations, filter the list, and export to pcap — or import pcap and pcapng from Wireshark.

The Capability screen reads each adapter first — driver, MTU, link, send ceiling — and tells you before a run whether the rate you ask for will fit.

Capture screen — captured frames with time, protocols, length and sequence, and one frame decoded into Ethernet, IPv4, UDP and RTP fields with a hex dump
Capture · decode any frame, field by field, with its bytes
Capability screen — what each adapter supports, its estimated frame-rate ceiling, and a check of whether a rate will work
Capability · what each adapter can do, measured — and what it cannot
Field-proven scenarios

What engineers test with it

🏷️

VLAN & QoS

Voice, video and data on their own VLANs and DSCP markings at once — and proof, per stream, of which class kept its latency when the link filled.

📉

Throughput & loss

Ramp a stream through a device and watch the rate at which loss starts, with IMIX or fixed sizes, and the recovery time once it stops.

🧱

Firewall & ACL

Sweep a subnet, a port range or a protocol list from one stream, and see exactly which flows the policy passed and which it dropped.

🧪

Acceptance runs

Save the project, give it criteria, and run it the same way on every unit — from the window, a script or the CLI — with a report to file.

FAQ

Questions, answered

What changed from the ETH Packet Generator 1.x?
Version 2.0 is a new application with a new name. The 1.x packet generator sent frames from one adapter and counted them. 2.0 drives several ports at once, each with any number of independently paced streams, and measures every stream on its own: loss, reordering, duplicates, one-way latency and jitter. It adds pass/fail tests with reports, packet capture, and a REST API. See the release notes.
How does it measure loss and latency per stream?
Every frame carries a small tag in its payload with the stream it belongs to, a sequence number and, optionally, its transmit time. The receiving port reads the tag back, so loss, reordering, duplicates and delay are counted for each stream separately, even when several streams share one port.
How fast can it send?
On Windows the limit is Npcap's send path: about 236,000 frames per second per adapter. That is 1 Gbit/s line rate from frames of about 600 bytes upward; smaller frames are limited by frame rate. The Capability screen shows the figure for your adapter and says in advance whether a rate you ask for will fit.
Do I need a second computer or a hardware tester?
No. Put two ports of the same PC on either side of the device under test and it measures one-way latency with one clock. Local loopback checks a setup with no cable at all, and remote loopback turns a port into a reflector.
Can I automate it?
Yes. Everything the window does goes through one command set that is also served as a REST API with an OpenAPI schema and bearer-token authentication. The headless ethgen-cli runs a saved project and exits 0 on pass, 1 on fail and 2 on error, which suits a CI pipeline.
What does it need to run?
Windows 10 or 11, 64-bit, and Npcap. The installer finds Npcap or offers to download it from npcap.com. Run the app as administrator if your Npcap installation restricts adapter access to administrators.
Can I use it for security testing?
Yes — on networks you own or are authorised to test. It can send deliberately wrong frames (checksums, lengths, next-protocol values set by hand), sweep addresses and ports, and answer ARP and ping for the hosts it simulates.
v2.0.0|Windows 10/11|2.3 MB

Get the generator

No license key. No registration.
Currently free for personal and commercial use.

📦 No bundled software 🔌 Npcap fetched from npcap.com 🏠 REST bound to 127.0.0.1

System requirements

OSWindows 10 / 11 (64-bit)
DriverNpcap — the installer finds it or offers to download it
AdaptersAny wired Ethernet adapter Npcap can open; one or more
Installer2.3 MB, zipped setup
LicenseCurrently free — personal & commercial use

Technical specifications

Protocols34, from Ethernet II to VXLAN and GTP-U · 30 templates
TrafficMulti-port, multi-stream · fixed, random, increasing or IMIX sizes · steady, ramp, steps, random or drawn rates
MeasuredPer stream: loss, reordering, duplicates, one-way latency (min–p99.9), jitter
Rate ceiling~236 kframes/s per adapter (Npcap) · 1 GbE line rate from ~600 B
AutomationREST + OpenAPI, bearer token · ethgen-cli · JSON, CSV, HTML, PDF reports