gomap

command module
v0.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 15, 2024 License: GPL-3.0 Imports: 8 Imported by: 0

README ΒΆ

Table of Contents

πŸ‘€ What Is This?

Gomap is a network port scanning tool similar to that of nmap. There's also the very popular RustScan. I wanted to experiment with Go and see what it was all about. But before I knew it, I wanted to do more and see what else I could do with the language.

Gomap does not aim to replace nmap or RustScan, but rather be a coexisting partner in the same space. I'm not trying to be the best network scanner or the fastest (though speed is a goal). I started this as a way to learn the Go programming language and having literally never published anything Open Source of my own design ever, wanted to see what others thought.

✨ Features

  • Faster alternative to nmap
  • Goroutines for faster runtimes
  • Service fingerprinting (not yet implemented)
  • OS fingerprinting (wishlist)

πŸ’» Installation

Downloading & Installing Go

To download Go, follow the instructions at Golang's own website, here. Then follow the install instructions for your OS.

[!NOTE] Linux users can also install via their package manager (e.g.apt install golang-go). This does not appear to be present on Go's website, but it's how I installed it and have had no issues with Kali. YMMV depending on distro.

Go CLI

To install Gomap, you can use the Go CLI:

go install github.com/0niSec/gomap@latest

Standalone Binary

Standalone binaries can be downloaded from the releases page for Windows, Linux and MacOS. For other OS-specific methods, please see the corresponding section for your OS.

🐳 Docker

[!WARNING] The Dockerfile has been created and added and tested, but I have not yet published it to Docker Hub so these instructions will be valid, but do not work yet.

Docker is used a lot nowadays and I wanted to include it as an option because:

  • It works on all systems
  • The Docker image will use the latest build from Go. You'll always be using the latest version.
  • No need to install Go

To install Docker, follow their guide.

docker pull 0niSec/gomap:latest

Usage

🐧 Linux

Running on Linux is simple! With Gomap installed using go install, and the binary added to your PATH:

USAGE:
   gomap [global options] command [command options] 

VERSION:
   0.1.0

AUTHOR:
   0niSec

COMMANDS:
   help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --ports value, -p value    Port ranges to scan
   --quiet, -q                Don't print the banner and other noise (default: false)
   --target value, -t value   The target to scan
   --timeout value, -T value  Timeout for the connection (default: 10s)
   --output value, -o value   Output file
   --help, -h                 show help
   --version, -v              print the version

🐳 Docker

Running the binary using Docker is as easy as

docker run 0niSec/gomap -p <PORTS> -t <TARGET>

🀝 Contributing

This started as a solo project and I'd love to accept any help people are willing to provide. If you're interested in helping, take a look at the issues for anything you'd like to tackle. Please also read the Code of Conduct and Contributing for more information.

By actively participating in contributing to this project, you agree to all of the rules and guidelines set therein.

❗ Disclaimer

This tool is meant to be used ethically in Capture the Flag programs such as MetaCTF, Hack the Box, or TryHackMe (to name a few) or on sanctioned penetration tests that have a formal contract and drawn out engagement. Please do not use this tool on infrastructure that you do not have permission to.

πŸš€ Contributors

Documentation ΒΆ

The Go Gopher

There is no documentation for this package.

Directories ΒΆ

Path Synopsis
The factory package contains functions for constructing packets.
The factory package contains functions for constructing packets.
The gomapcli package contains the main logic for the CLI application.
The gomapcli package contains the main logic for the CLI application.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL