Having reading this chapter, you should now understand the basic concepts of host discovery and enumeration. You should be able to explain them at a high level and provide a basic example of each concept.
First, we discussed raw TCP sockets with an example of a simple server and client. These examples aren't incredibly useful by themselves, but they are the template for building tools that perform custom interactions with services. This will be helpful when trying to fingerprint an unidentified service.
You should now know how to run a simple port scan, and why you might want to run a port scan. You should understand how to use a TCP proxy and what benefits it offers. You should understand how banner grabbing works and why it is a useful method for gathering information.
There are numerous other forms of enumeration. With web applications, you can enumerate usernames...