learn/network-plus/platforms

53 differences from 16 topics, in reading order. The exam is vendor-neutral and names three host tools for the same job, so it will ask for the result rather than the command you happen to know. These are the places where the answer has a different name depending on where you type it. Each table links back to the topic that explains why the difference is there.

What a network actually is

The questionLinuxWindowsmacOS
Is the interface enabled, and is anything on the other endip -brief link showipconfig, then netsh interface show interfaceifconfig
Does it have an address, and what is the maskip -brief addr showipconfigifconfig
Has this machine actually spoken to the other oneip neigh showarp -aarp -a

MACs, IPs and ports

LinuxWindowsmacOS
Interface and MACip link showipconfig /allifconfig
Address and maskip addr showipconfigifconfig
Neighbour tableip neigh showarp -aarp -a
Routing tableip routeroute printnetstat -rn
Listening portsss -tlnpnetstat -anonetstat -an

IPv4 addresses and the mask

LinuxWindowsmacOS
Show the address and its maskip -brief addr showipconfigifconfig en0
The notation you get192.168.10.1/24255.255.255.00xffffff00
Get a prefix lengthit is already oneGet-NetIPAddressconvert it yourself
Get dotted decimalconvert it yourselfit is already oneipconfig getoption en0 subnet_mask

Address classes, private ranges and APIPA

LinuxWindowsmacOS
Reach 127.0.0.1worksworksworks
Reach anything else in 127.0.0.0/8worksworkstimes out
Show what covers the blockip route show table localGet-NetIPAddress -InterfaceAlias "Loopback*"ifconfig lo0

IPv6 addressing

LinuxWindowsmacOS
List the IPv6 addressesip -6 addrGet-NetIPAddress -AddressFamily IPv6ifconfig en0
Scope a link-local address%eth0, named%14, a zone index%en0, named
See how the identifier was madelook for ff:fe in itthe SuffixOrigin columnthe secured flag

TCP, UDP and the handshake

LinuxWindowsmacOS
Every TCP connectionss -tannetstat -ano -p TCPnetstat -an -p tcp
Per-connection countersss -tiGet-NetTCPConnectionnetstat -s -p tcp for totals
Owning processss -tanpnetstat -ano, then match the PIDlsof -i

Ports and the protocols that use them

LinuxWindowsmacOS
Where the file lives/etc/services, from netbase on Debian%SystemRoot%\System32\drivers\etc\services/etc/services
Look up a port numbergrep -w 443/tcp /etc/servicesSelect-String "^https\s"grep -w 443/tcp /etc/services
Look up a service namegetent services sshSelect-String "^ssh\s"grep -E "^ssh[[:space:]]" /etc/services

The routing table and static routes

LinuxWindowsmacOS
Show the tableip routeroute print -4netstat -rn -f inet
The decision for one destinationip route get 10.0.2.2Find-NetRoute -RemoteIPAddress 10.0.2.2route -n get 10.0.2.2
Add a static routeip route addroute add or New-NetRouteroute add

Time protocols

LinuxWindowsmacOS
Which server this machine askschronyc sourcesw32tm /query /sourcesystemsetup -getnetworktimeserver
Whether it is synchronisedtimedatectlw32tm /query /statussystemsetup -getusingnetworktime
Query a server without touching the clockchronyc ntpdataw32tm /stripchart /computer:<host>sntp <host>

Interface counters and port status

LinuxWindowsmacOS
Errors and drops on a portip -s -s link show <if>netstat -e, Get-NetAdapterStatisticsnetstat -i
Whether a port has a linkip link show <if>, read NO-CARRIERGet-NetAdapter, read MediaConnectionStateifconfig <if>, read status:
The speed it settled onethtool <if>Get-NetAdapter, read LinkSpeedifconfig <if>, read media:

Routing and default gateway faults

LinuxWindowsmacOS
Show the routing tableip route showroute print, Get-NetRoutenetstat -rn
Ask which route winsip route get <dest>Find-NetRoute -RemoteIPAddress <dest>route -n get <dest>
Read the neighbour tableip neigh showarp -a, Get-NetNeighborarp -an
Trace the pathtraceroute -ntracert -dtraceroute -n

Addressing faults

LinuxWindowsmacOS
Read the address and maskip -br addr showipconfig, Get-NetIPAddressifconfig <if>
Read who owns an address locallyip neigh showarp -a, Get-NetNeighborarp -an
Read the current leasecat /var/lib/dhcp/dhclient.leasesipconfig /allipconfig getpacket <if>

Wireless performance and roaming

LinuxWindowsmacOS
Signal, noise and rate of the current linkiw dev <if> linknetsh wlan show interfaceswdutil info
Retries and per-station countersiw dev <if> station dumpnetsh wlan show interfaceswdutil info
What else is on the air nearbyiw dev <if> scannetsh wlan show networks mode=bssidwdutil info

Packet capture and protocol analysis

LinuxWindowsmacOS
Capture with a filtertcpdump -n -i <if> "<filter>"pktmon filter add then pktmon start --capturesudo tcpdump -n -i <if> "<filter>"
Read the capture backprints as it goes, or tcpdump -r <file>pktmon etl2txt <file>prints as it goes, or tcpdump -r <file>
Stop resolving names-nnot applicable, it prints addresses-n

Discovery tools and device commands

LinuxWindowsmacOS
Find hosts on a rangenmap -sn <range>nmap -sn <range>, Test-NetConnectionnmap -sn <range>
Find open ports on a hostnmap <host>nmap <host>, Test-NetConnection -Portnmap <host>
Read neighbour announcementslldpcli show neighborsGet-NetNeighbor for addresses onlytcpdump filtered to the protocol

How the internet is glued together

LinuxWindowsmacOS
Who holds an AS numberdig +short ASnnnn.asn.cymru.com TXTResolve-DnsName -Type TXTdig, as Linux
Which prefix and origin an address hasthe same, against origin.asn.cymru.comthe same cmdletdig, as Linux
Whether an announcement is authorisedcurl piped into jqInvoke-RestMethodcurl piped into python3
Read a network's published policywhois -h whois.ripe.net -p 43no client by default, so the registry's web interfacewhois ships with the system