Skip to content
Bash script to parse multiple Nmap (.gnmap) exports into various plain-text formats for easy analysis.
Branch: master
Clone or download
Pull request Compare This branch is 5 commits ahead of jasonjfrank:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



Gnmap-Parser takes multiple Nmap scans exported in greppable (.gnmap) format and parses them into various types of plain-text files for easy analysis.

Parsing Formats Include:

  • Alive Hosts List Based on ICMP Replies
  • Alive Hosts List Based on Open Ports
  • Simple TCP/UDP Ports Lists Showing Unique Open Ports Discovered Across All Hosts
  • Port Files In "Port-[#]-[TCP/UDP].txt" Format Consisting of Ordered Hosts
  • CSV Style Port Matrices in "[PORT],[PROTOCOL],[HOST]" Format


Supported Switches:

  • -g | --gather = Gather .gnmap Files
  • -p | --parse = Parse .gnmap Files


  • Gnmap-Parser will only parse *.gnmap files that are in the same directory that it resides. For this reason, the gather switch (-g) was implemented to copy *.gnmap from their discovered locations into the scripts working directory. Any path will work as Gnmap-Parser will traverse all subdirectories. For instance, providing a parent directory of "/" will traverse the entire root filesystem looking for *.gnmap files.

  • Gnmap-Parser currently only parses files that end with the .gnmap extension. If using the -oA switch of Nmap, these files will already be named with the correct extension. If specifying the -oG switch, be sure to append .gnmap to the filename.

You can’t perform that action at this time.