Ports & Protocols
The part of networking there is no clever way around. You either know that SSH is 22 or you do not. Set a clock, pick a level, and find out which ones you actually have.
This drill needs JavaScript. The questions are generated in your browser: nothing is sent anywhere.
What it asks
Three question shapes, mixed as you go. Which port does a service use: the fastest to answer, so it comes up most. Which service runs on a port: the same fact from the other side, which is the direction people find harder. And TCP or UDP, which is where the marks usually go missing.
Answers are read generously: case, spacing and punctuation are ignored, and common alternative names are accepted (secure shell counts for SSH, cifs for SMB). The thing being tested is the fact, not your typing.
Where the numbers come from
37 services, all IANA-registered assignments. The set is deliberately conservative: where real-world use and the registered assignment disagree, the drill either leaves the entry out or asks only about the part that is not in dispute. HTTPS is a good example. It will ask you which port it uses, but never whether it is TCP or UDP, because HTTP/3 runs over QUIC on UDP and both answers would be defensible.
A drill that marks a defensible answer wrong teaches you to distrust it, so where there are two honest answers, the question is not asked.
How the score works
The same measure the Subnetting Speed Test uses: Net CPM, correct answers per minute. Speed × accuracy = net is an identity rather than a weighting, so the line on your result card genuinely adds up. It divides by the time you actually took, not the length of the preset, so finishing a quota early scores the faster rate you earned.
A run needs at least 20 seconds and 4 answers before it counts towards a personal best. Nothing is uploaded: your history lives in this browser and nowhere else.
Learn the idea behind the drill
Ports are how one host runs many services at once: The TCP/IP Stack explains where they sit, and Packet Inspector shows you the two bytes each one occupies in a real header.