Categorygithub.com/vdjagilev/nmap-formatter

# README

NMAP-Formatter

build status codecov Maintainability


Examples

HTML: nmap-example-html Graphviz: nmap-example-graphviz

A tool that allows you to convert NMAP XML output to excel/html/csv/json/markdown/dot/sqlite/d2.

Installation

go install github.com/vdjagilev/nmap-formatter/v3@latest
cd nmap-formatter
go build

All other options can be found on Installation Wiki page.

Usage

nmap-formatter [html|csv|md|json|dot|sqlite|excel|d2] [path-to-nmap.xml] [flags]

Or alternatively you can read file from stdin and parse it

cat some.xml | nmap-formatter json

Convert XML output to nicer HTML

nmap-formatter html [path-to-nmap.xml] > some-file.html

or Markdown

nmap-formatter md [path-to-nmap.xml] > some-markdown.md

or Excel

nmap-formatter excel [path-to-nmap.xml]

or JSON

nmap-formatter json [path-to-nmap.xml]
# This approach is also possible
cat nmap.xml | nmap-formatter json

or Graphviz (dot)

cat example.xml | nmap-formatter dot | dot -Tsvg > test.svg
# open test.svg with browser

or SQLite

cat example.xml | nmap-formatter sqlite --sqlite-dsn nmap.sqlite
# open nmap.sqlite with any database tool

or D2 lang

cat example.xml | nmap-formatter d2 | d2 - example.png
# Converts nmap.xml to d2 language and then to png

More examples can be found on Usage Wiki page

Flags

  • -f, --file [filename] outputs result to the file (by default output goes to STDOUT)
  • --help display help message
  • --version display version (also can be used: ./nmap-formatter version)
  • --skip-down-hosts skip hosts that are down (by default true)

It's also possible to change various output options. More examples on Usage Wiki Page - Flags.

Screenshots of various formats available here

Use as a library

Examples on how to use this project as a library in golang: Use as a library Wiki page

# Packages

Copyright © 2021-2024 vdjagilev Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.