Comparing scan results with Ndiff
Ndiff was designed to address the issues of using diff with two XML scan results. It compares files by removing false positives and producing a more readable output, which is perfect for anyone who needs to keep a track of the scan results.
This recipe describes how to compare two Nmap scans to detect the changes in a host.
Getting ready
Ndiff requires two Nmap XML files to work, so make sure you have previously saved the scan results of the same host. If you haven't, you can always scan your own network, deactivate a service, and scan again to get these two test files. To save the results of an Nmap scan into an XML file use -oX <filename>
.
How to do it...
Open your terminal.
Enter the following command:
$ ndiff FILE1 FILE2
The output returns all the differences between
FILE1
andFILE2
. New lines are shown after a plus sign. The lines that were removed onFILE2
are displayed after a negative sign.
How it works...
Ndiff uses the first file as a base to compare against the second one. It displays the state differences for host, port, services, and OS detection.
There's more...
If you prefer Zenmap, you can use the following steps instead:
Launch Zenmap.
Click on Tools on the main toolbar.
Click on Compare Results (Ctrl + D).
Select the first file by clicking on Open in the section named A scan.
Select the second file by clicking on Open in the section named B scan.
Output format
A human readable format is returned by default. However, Ndiff can return the differences in XML format, if preferred, by using the flag --xml
.
Verbose mode
Verbose mode includes all of the information including hosts and ports that haven't changed. To use it, enter the following commands:
$ ndiff -v FILE1 FILE2 $ ndiff –verbose FILE1 FILE2
See also
The Monitoring servers remotely with Nmap and Ndiff recipe
The Managing multiple scanning profiles with Zenmap recipe
The Geo-locating an IP address recipe in Chapter 3, Gathering Additional Host Information
The Getting information from WHOIS records recipe in Chapter 3, Gathering Additional Host Information
The Fingerprinting the operative system of a host recipe in Chapter 3, Gathering Additional Host Information
The Discovering UDP services recipe in Chapter 3, Gathering Additional Host Information
The Detecting possible XST vulnerabilities recipe in Chapter 4, Auditing Web Servers