nmap can actually create very good html reports. I’ll show you how!
Below is a one-liner command that will scan and create an html file for all open ports and services.
This example happens to be a scan of my home network with a few VirtualBox VMs started to add to the mix. I use a 172.16.x network. Edit the nmap command as desired!
$ sudo nmap -sV 172.16.1.1-254 -oX scan.xml && xsltproc scan.xml -o "`date +%m%d%y`_report.html"