Developing custom modules
Let's dig deeper into the process of writing a module. Metasploit has various modules such as payloads, encoders, exploits, NOP generators, and auxiliaries. In this section, we will cover the essentials of developing a module; then, we will look at how we can create our custom modules.
We will discuss the development of auxiliary and post-exploitation modules. Additionally, we will cover core exploit modules in the next chapter. But, for this chapter, let's examine the essentials of module building in detail.
Building a module in a nutshell
Before diving deep into building modules, let's understand how the components are arranged in the Metasploit framework, and what they do.
The architecture of the Metasploit framework
Metasploit contains various components, such as necessary libraries, modules, plugins, and tools. A diagrammatic view of the structure of Metasploit is as follows:

Let's see what these components are and how they work. It is best to start with the libraries...