We have already taken a look at the architecture of the scanner in Chapter 5, Vulnerability Scanner Python - Part 1. Lets revisit the service-scanning part of the scanner and think about how the whole ecosystem works. The following diagram shows the service scanning architecture for us:
A project ID would be associated with all scans that have been completed with Nmap port scanning. The user can select the project ID for which they want to carry out service scanning and can also see all the project IDs for which port scanning has successfully completed. It should be noted that only the project IDs for projects that have been completed will be displayed; projects for which the port scanning has been paused would not be displayed.
Once the project ID has been selected, the code reads the database table IPtable_history to display open ports and the default...