First login
Start the server and open the address it prints:
wpg serve # listens on 127.0.0.1:8080
Setting the administrator password
The password can come from any of these (highest priority first; run wpg serve --help to see which ones your build supports):
wpg serve --password …or--password-file <file>- the
WPG_PASSWORDenvironment variable [auth] password_hash/password_fileinwpg.toml(an argon2id hash, written bywpg config set-password)- the setup screen shown on the first visit, if none of the above is set
While no password exists wpg accepts connections from the local machine only and warns at startup; do not bind it to a non-local address until a password is set. Passwords are stored as argon2id hashes, sessions use HttpOnly, SameSite=Strict cookies, and repeated failed logins are rate limited. For access over a network, put TLS in front (--tls, a certificate in wpg.toml, or a reverse proxy).
The first screens
After logging in you land on the dashboard: interface state, running jobs and recent statistics. Then:
- Templates: the bundled library (
examples,protocols,scenarios,malformed) is listed here, searchable by tag (protocol:ipv4,layer:l3,scenario,malformed). Open one, or duplicate it to make your own. - Builder: stack layers, edit fields (Auto/Manual, generators) and watch the hex dump and field tree update. An empty builder offers common stacks such as “Ethernet II / IPv4 / UDP”, and every field shows an input prefilled with its default (MAC address, IP address, …). Typing makes it a manual value; ↺ goes back to the default.
- By default the builder only makes packets that follow the protocol definitions. Computed fields such as lengths and checksums stay locked, and out-of-spec values (a length or checksum that does not match, a value outside its constraints, …) are shown as errors under the field and in the toolbar, and block saving and creating a job.
- For malformed test traffic, turn on Allow malformed packets in the toolbar: computed fields get an “Override” button and out-of-spec values are only warnings. The switch is remembered per browser and turns on by itself when you open a template that is already out of spec (such as the
malformedones).
- Jobs: pick templates, an interface, a rate and a count, and start. Write to a file instead of sending makes a dry run (a pcapng file). Burst, workers and the verification signature are under Advanced. A finished job can be started again with Run again, or copied into the form with Edit as new job.
- Settings: language (Japanese, English, Simplified Chinese, Traditional Chinese, Korean, German, French, Spanish), theme, template library paths.
The language menu and the theme toggle are in the header of every screen.
If sending is refused, run wpg doctor and read Permissions. Then work through the ARP sweep tutorial.