These instructions are only for Linux and macOS.
Run the network-monitor integration test binary, e.g.:
./build/tests/integration/network-monitor
Note: sudo is not required.
You should see an onInterfaceAdded
message for each ethernet and loopback network interface present on the system, followed by an onAddressAdded
message for each IPv4/IPv6 address on each interface. Finally, onEnumerationCompleted
is printed, along with a summary of all interfaces discovered thus far.
[The following commands assume eth0 is the name of an ethernet interface on the machine. If your interfaces are named differently, replace eth0 with the name of any ethernet interface that you have available.]
Command | Expected output |
---|---|
sudo ip link add link eth0 name nmtest0 type vlan id 42 | nmtest0: onInterfaceAdded |
sudo ip link set dev nmtest0 mtu 1342 | nmtest0: onMtuChanged <old_mtu> -> 1342 (old_mtu is most likely 1500) |
sudo ip link set dev nmtest0 up | nmtest0: onStateChanged down -> <new_state> (new_state is one of: running, dormant, no-carrier) |
sudo ip address add 198.51.100.100/24 dev nmtest0 | nmtest0: onAddressAdded 198.51.100.100/24 |
sudo ip address del 198.51.100.100/24 dev nmtest0 | nmtest0: onAddressRemoved 198.51.100.100/24 |
sudo ip address add 2001:db8::1/80 dev nmtest0 | nmtest0: onAddressAdded 2001:db8::1/80 |
sudo ip address del 2001:db8::1/80 dev nmtest0 | nmtest0: onAddressRemoved 2001:db8::1/80 |
sudo ip link delete dev nmtest0 | nmtest0: onInterfaceRemoved |
If you unplug the ethernet cable from your network card, you should see:
eth0: onStateChanged running -> no-carrier nmtest0: onStateChanged running -> no-carrier
Plugging the cable back in should produce the following messages:
eth0: onStateChanged no-carrier -> running nmtest0: onStateChanged no-carrier -> running
[The following commands assume en0 is the name of an ethernet interface on the machine. If your interfaces are named differently, replace en0 with the name of any ethernet interface that you have available.]
Command | Expected output |
---|---|
sudo ifconfig vlan1 create | vlan1: onInterfaceAdded |
sudo ifconfig vlan1 vlan 1 vlandev en0 | vlan1: onStateChanged down -> running |
sudo ifconfig vlan1 198.51.100.100/24 | vlan1: onAddressAdded 198.51.100.100/24 |
sudo ifconfig vlan1 198.51.100.100/24 remove | vlan1: onAddressRemoved 198.51.100.100/24 |
sudo ifconfig vlan1 inet6 2001:db8::1/80 | vlan1: onAddressAdded 2001:db8::1/80 (and potentially link-local addresses) |
sudo ifconfig vlan1 inet6 2001:db8::1/80 remove | vlan1: onAddressRemoved 2001:db8::1/80 |
sudo ifconfig vlan1 destroy | vlan1: onInterfaceRemoved |
If you unplug the ethernet cable from your network card, you should see:
en6: onStateChanged running -> down
Plugging the cable back in should produce the following messages:
en6: onStateChanged down -> running