jfreundJFNetworker
JFNetworker

JFNetworker

Build a network, set it up, follow every packet.

A network simulator and lab. Place routers, switches, servers and PCs, connect them and set up each one in an IOS-like console or a Linux shell. Real protocols run byte by byte, so you can follow every packet, step by step. An alternative to Packet Tracer, for learning, teaching and trying ideas out.

Download

In development
  • Windowscoming soon
  • Linuxcoming soon

There is no release yet. Which packages there will be

The campus network as JFNetworker draws it: the router R1 with the server SRV1, the layer-3 switch MLS1 and four PCs, joined by copper and fibre cables with green port LEDs.Te1/1/1Te0/1/0Gi0/0/1eth0eth0Gi1/0/1Gi1/0/4eth0Gi1/0/2eth0Gi1/0/3eth0R1SRV1MLS1PC1PC4PC2PC3DHCPDNSDHCP

Draw your network

Take devices from the palette, put them on the canvas and drag a cable from one to the next. JFNetworker picks fitting ports and the right cable, or you choose them yourself. An LED at every port shows at a glance what is up, and the network runs while you build it.

Devices
49 vendor-neutral models
Cables
copper, fibre, serial, console, wireless and more
Size
smooth with 500 devices and 800 cables
Access
full keyboard control, screen reader support
Languages
English and German
JFNetworker in the light theme: the device palette on the left, the campus network with a router, a layer-3 switch, a server and four PCs in the middle, and the properties of the switch MLS1 with its ports on the right. JFNetworker in the dark theme: the device palette on the left, the campus network with a router, a layer-3 switch, a server and four PCs in the middle, and the properties of the switch MLS1 with its ports on the right.
The campus network from the diagram above, in JFNetworker.

Set up every device in its console

Routers and switches answer in an IOS-like command line, with its modes, help on ? and completion on Tab. Hosts get a Linux shell with the classic tools, pipes and scripts. A double click on a device opens its console, as a tab, in its own window or in the device window.

R1>enable
R1#show ip interface brief
Interface              IP-Address      OK? Method Status                Protocol
GigabitEthernet0/0/0   unassigned      YES unset  administratively down down
GigabitEthernet0/0/1   10.10.100.1     YES NVRAM  up                    up
GigabitEthernet0/0/2   unassigned      YES unset  administratively down down
GigabitEthernet0/0/3   unassigned      YES unset  administratively down down
TenGigabitEthernet0/1/0 10.10.0.1       YES NVRAM  up                    up
TenGigabitEthernet0/1/1 unassigned      YES unset  administratively down down
Serial0/2/0            unassigned      YES unset  administratively down down
Serial0/2/1            unassigned      YES unset  administratively down down
R1#
From the campus network: the interfaces of router R1, and PC1, which gets its address by DHCP and then reaches the server.

Follow every packet

In simulation mode the network moves one step at a time. Packets travel as envelopes along the cables; you step forward and back, look into every layer, field and byte, and send packets of your own.

Go back in time and every device shows its state from that moment. A recording can be saved as a pcapng file.

Simulation mode in the dark theme: packets as envelopes on the campus network, the packet tab with the switch's decisions, the layers and the bytes of an ARP frame, and the list of PDUs.

Learn with the academy

The academy brings courses: lessons to read, labs in the simulator, quizzes, tests and broken networks to repair. In a lab the goals form a checklist that the simulator keeps checking while you work, with hints and points. Courses come in English and German and install with one click.

  • Network basicsBeginner · 6 units · about 4 hours
  • Fault finding in networksIntermediate · 5 units · about 3 hours 20 minutes
More about the academy
A graded task in the light theme: PC1 and the router R1 on the canvas, R1's IOS-like console below, and the task panel with 7 of 20 points and the items that are met or still open.

A lab for distributed systems

JFNetworker also builds systems that scale out: load balancers, sharded databases with replicas, caches, message queues with workers, and load generators to put them under pressure. Switch a node off, watch the metrics react and compare designs with parameter sweeps.

  • Load balancer
  • Database shard
  • Cache
  • Message queue
The lab for distributed systems: a load generator, a load balancer, web servers, a cache and key-value nodes on the canvas, and the metrics of the load balancer, whose throughput drops when the node KV2 is switched off.

Much more inside

From the cable to the web page, every layer is there to try out.

All features
  • Routing and switching

    VLANs and spanning tree, static routes, RIP, OSPF and BGP, NAT and access lists, on IPv4 and IPv6.

  • Services

    DHCP and DNS, web servers with TLS 1.3, mail, SNMP, FTP and TFTP, RADIUS, SSH and Telnet.

  • Firewall

    Firewall models with zones, policies and stateful sessions, on top of access lists and NAT.

  • Wireless

    Access points with WPA2, WPA3 and 802.1X. Stations roam as you move them, with range and signal on the canvas.

  • Physical view

    Sites, buildings, rooms and racks. Every cable gets a length, and one that is too long stays down.

  • A desktop in every host

    Each host is a small PC with a terminal, file manager, web browser, mail and an IDE for scripts.

Built on JFLib

JFNetworker is made with JFLib, a GUI library written from scratch in Rust that draws every pixel itself. The same library is under every app on jfreund.org.

Part of jfreund.orgBuilt with JFLibLegal noticePrivacy