Firewall port inventory
Compare firewall rules to a port inventory file.
Understand the pattern
Junior operators build confidence by gathering evidence before changing systems.
ufw- Inspect or adjust the training firewall rule list. No real firewall changes occur.
Firewall rules should be scoped and reviewed; simulator access is not a production change approval.
cat- Read one or more files to standard output without editing their contents.
Reading a source file should precede changing it; avoid printing real secrets.
sort- Order lines before comparing or grouping them; -n compares numerically and -r reverses order.
Alphabetical sorting is not numeric sorting.
uniq- Collapse adjacent duplicate lines; use sort first when duplicates are not already together.
uniq does not find every duplicate in an unsorted stream.
grep- Select input lines that match a pattern; -i ignores case, -n adds line numbers, and -v inverts selection.
No matches is exit status 1, which is different from a malformed invocation.
Worked example and expected result
$ ufw status verboseStatus: active Logging: on (simulated) Default: deny incoming, allow outgoing - allow 22/tcp - allow 80/tcp - allow 443/tcp - deny 23/tcp
Exit status: 0. The command completed successfully in the training fixture.
$ cat data/ports.txt | sort | uniq22 23 443 80
Exit status: 0. The command completed successfully in the training fixture.
$ grep 23 data/ports.txt23
Exit status: 0. The command completed successfully in the training fixture.
Explain it
Apply it elsewhere
Keep the momentum.
Complete the lab, then explain and apply the pattern.
Next: SSH dry-run reviewTry an incident drillAnonymous lesson and mastery progress lasts for this session. Sign in to keep synced lesson XP between sessions; mastery stays device-local. No speed bonus, lost lives, or hint penalties.