Network Builder
Drag & drop devices, connect with cables, configure IPs and VLANs. Full CLI simulation, animated packet flows, and real-time connectivity testing.
Routers & Switches
Device CLI
Packet Animation
VLAN & DHCP
Ping & Traceroute
→
→
Quiz Centre
40+ questions across 3 difficulty levels. Includes graphics, "what's wrong" scenarios, and full answer review.
Easy · Medium · Hard
→
Routing
OSPF deep-dive, BGP simulator, EIGRP metric calculator, path simulator with animations, and admin distance reference.
OSPF · BGP · EIGRP
→
Subnetting
Subnet calculator with visual binary breakdown, IPv6 breakdown, network splitter tool, and CIDR reference.
Calculator · Visual · IPv6
→
OSI Model
All 7 layers with protocols, PDUs, and an interactive encapsulation step-through simulator.
Layers · Protocols · Encap Sim
→
Security
ACL builder with simulation, IPSec VPN phases reference, and firewall zone policy checker.
ACL · VPN · Firewall
→
Automation
Code examples for Netmiko, Ansible, Nornir, NAPALM, and RESTCONF with syntax highlighting.
Ansible · Nornir · Netmiko
Routers
NetworkLab
🔧
Drop devices here from the toolbar below
or open an activity
or open an activity
press ? for shortcuts
SIMULATION
Traffic:
Speed:
0
Packets
0%
Loss
0 kbps
Throughput
Select mode
0 devices
0 links
🔬 SIMULATION MODE — click packet to inspect
📡 Packet Capture
| # | Time | Src | Dst | Type | Info |
|---|
📥 Inbound PDU Details
✅
SCENARIO COMPLETE
📚 Sample Topologies
Pre-built example networks. Click a card to load — your current topology will be replaced.
Activities
⌨ TERMINAL
Select a device · en · conf t · ? for help
▲
NetworkLab#
Event List
0%
👆 Select a device on the canvas to configure it
Test your networking knowledge across topics and difficulty levels. Questions include diagrams, config analysis, and "what's wrong" troubleshooting scenarios.
Filter by category
Select difficulty
Easy
Core concepts, definitions, and basic protocol knowledge. Good for beginners.
Medium
Subnetting calculations, protocol behaviour, config scenarios and troubleshooting.
Hard
Complex multi-step problems, "what's wrong" diagrams, BGP/OSPF deep-dives.
All Questions
All difficulties mixed together. The full gauntlet.
Routing protocol comparison
Administrative distance — lower = preferred
Routes with lower AD are preferred. Static (AD=1) always beats OSPF (AD=110). If AD is equal, metric decides. Equal metric = load balancing.
OSPF convergence — step through
OSPF cost calculator
Cost = 1
BGP FSM — click to advance state
Best-path selection order
EIGRP metric calculator
Scaled BW—
Scaled Delay—
Composite metric—
Formula: [K1×(10⁷/BW) + K3×(Delay/10)] × 256. Default K1=K3=1, all others=0.
Topology — click two nodes to simulate path
Click a source node, then destination.
Subnet calculator
Binary breakdown
Blue bits = network portion. Green bits = host portion.
IPv6 reference
Loopback::1/128
Link-localfe80::/10
Unique localfc00::/7
Global unicast2000::/3
Multicastff00::/8
Key differences from IPv4: No broadcasts (use multicast), fixed 40-byte header, NDP replaces ARP, SLAAC for auto-config, /64 standard subnet size.
Click a layer to expand
Mnemonic: "Please Do Not Throw Sausage Pizza Away" — Physical → Application
Encapsulation step-through
ACL builder
Standard ACLs (1–99): source IP only. Extended ACLs (100–199): src+dst+protocol+port. Place extended close to source.
IPSec phases — click to expand
Transport mode encrypts payload only. Tunnel mode encrypts the entire original packet and adds a new IP header — used for site-to-site VPNs.
Firewall zone policy checker
INSIDE (trusted)
Full outbound. Stateful return.
DMZ (semi-trusted)
Inbound 80/443. No inside access.
OUTSIDE (untrusted)
Default deny inbound.
→
Select zones above.
Python / Netmiko — SSH automation
from netmiko import ConnectHandler
device = {'device_type':'network_device','host':'192.168.1.1','username':'admin','password':'secret'}
with ConnectHandler(**device) as net:
out = net.send_command('show ip interface brief')
print(out)
net.send_config_set(['interface Gi0/1','description UPLINK','no shutdown'])
net.save_config()
Ansible — declarative playbook
---
- name: Configure VLANs
hosts: switches
gather_facts: false
tasks:
- networklab.vlans:
config: [{vlan_id: 10, name: Sales, state: active}]
state: merged
Nornir — parallel execution
from nornir import InitNornir
from nornir_netmiko.tasks import netmiko_send_command
nr = InitNornir(config_file="config.yml")
result = nr.run(task=netmiko_send_command, command_string="show version")
NAPALM — vendor-agnostic getters
from napalm import get_network_driver
dev = get_network_driver('ios')('192.168.1.1','admin','secret')
dev.open()
print(dev.get_facts(), dev.get_interfaces(), dev.get_bgp_neighbors())
RESTCONF / YANG API
import requests
r = requests.get('https://192.168.1.1/restconf/data/ietf-interfaces:interfaces',
headers={'Accept':'application/yang-data+json'},
auth=('admin','secret'), verify=False)
print(r.json())