Description
Simple command line tool to scan network ports. Command line tool was done as part of technical interview and as example for article on HabraHabr.ru.
The main requirement for the tool to accept individual IP, range of IPs in regular format or CIDR (Classless Inter-Domain Routing). The utility are free to use or change.
There was no requirement to build like a package, but you can easily converted it. Enjoy coding.
Golang Network Port Scanner alternatives and similar packages
Based on the "Command Line" category.
Alternatively, view Golang Network Port Scanner alternatives based on common mentions on social networks and blogs.
-
urfave/cli
A simple, fast, and fun package for building command line apps in Go -
gocui
Minimalist Go package aimed at creating Console User Interfaces. -
Rich Interactive Widgets for Terminal UIs
Terminal UI library with rich, interactive widgets — written in Golang -
elvish
Elvish = Expressive Programming Language + Versatile Interactive Shell -
lipgloss
Style definitions for nice terminal layouts 👄 -
go-prompt
Building powerful interactive prompts in Go, inspired by python-prompt-toolkit. -
tcell
Tcell is an alternate terminal package, similar in some ways to termbox, but better in others. -
survey
A golang library for building interactive and accessible prompts with full support for windows and posix terminals. -
kingpin
CONTRIBUTIONS ONLY: A Go (golang) command line and flag parser -
cointop
A fast and lightweight interactive terminal based UI application for tracking cryptocurrencies 🚀 -
pterm
✨ #PTerm is a modern Go module to easily beautify console output. Featuring charts, progressbars, tables, trees, text input, select menus and much more 🚀 It's completely configurable and 100% cross-platform compatible. -
The Platinum Searcher
A code search tool similar to ack and the_silver_searcher(ag). It supports multi platforms and multi encodings. -
progressbar
A really basic thread-safe progress bar for Golang applications -
tui-go
Go UI library for building rich terminal applications. -
pflag
Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags. -
readline
Readline is a pure go(golang) implementation for GNU-Readline kind library -
uiprogress
A go library to render progress bars in terminal applications -
Git Town
Git workflow automation to keep branches in sync and reduce merge conflicts. -
asciigraph
Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies. -
mitchellh/cli
A Go library for implementing command-line interfaces. -
dotenv-linter
⚡️Lightning-fast linter for .env files. Written in Rust 🦀 -
docopt.go
A command-line arguments parser that will make you smile. -
uilive
uilive is a go library for updating terminal output in realtime -
aurora
Golang ultimate ANSI-colors that supports Printf/Sprintf methods -
termenv
Advanced ANSI style & color support for your terminal applications -
CLI Color
🎨 Terminal color rendering library, support 8/16 colors, 256 colors, RGB color rendering output, support Print/Sprintf methods, compatible with Windows. GO CLI 控制台颜色渲染工具库,支持16色,256色,RGB色彩渲染输出,使用类似于 Print/Sprintf,兼容并支持 Windows 环境的色彩渲染 -
liner
Pure Go line editor with history, inspired by linenoise -
cli-init
The easy way to build Golang command-line application. -
complete
bash completion written in go + bash completion for go command -
mow.cli
A versatile library for building CLI applications in Go -
hostctl
Your dev tool to manage /etc/hosts like a pro! -
flaggy
Idiomatic Go input parsing with subcommands, positional values, and flags at any position. No required project or package layout and no external dependencies. -
cli
CLI - A package for building command line app with go -
clui
Command Line User Interface (Console UI inspired by TurboVision) -
uitable
A go library to improve readability in terminal apps using tabular data
Static code analysis for 29 languages.
Do you think we are missing an alternative of Golang Network Port Scanner or a related project?
README
Golang Network Port Scanner

Simple command line tool to scan network ports. Command line tool was done as part of technical interview and as example for article on HabraHabr.ru.
The main requirement for the tool to accept individual IP, range of IPs in regular format or CIDR (Classless Inter-Domain Routing). The utility are free to use or change.
There was no requirement to build like a package, but you can easily converted it. Enjoy coding.
Example
$ ./netscanner --ip 10.0.1.1-10.0.1.11,10.0.1.12/32 --p 80 --pc tcp,udp --t 3000
Parameters:
NAME:
NetScanner - Network IP addresses and ports scanner
USAGE:
netscanner [global options] command [command options] [arguments...]
AUTHOR:
Valentyn Ponomarenko <[email protected]>
COMMANDS:
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--ip value IP range, e.g --ip 127.0.0.1/12, 10.0.1.1-10.0.1.12
--protocol value, --pc value protocol for IP(s) scan, e.g --pc tcp (default: "tcp,udp")
--port value, -p value port range to scan, e.g --port 1-200 (default: "1-65535")
--timeout value, -t value timeOut n milliseconds, e.g. --t 3000 or --t 2s or --t 3000ms (default: "2000")
--help, -h show help
--version, -v print the version
Output:
......
2018/03/19 23:40:20 scanning addr: tcp://10.0.1.1:138
2018/03/19 23:40:20 scanning addr: tcp://10.0.1.1:139
2018/03/19 23:40:20 tcp://10.0.1.1:139 is alive and reachable
......
Contributing
We welcome pull requests, bug fixes and issue reports.
Before proposing a change, please discuss your change by raising an issue.
Authors
- Valentyn Ponomarenko - Initial work - P-A-R-U-S
License
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details
*Note that all licence references and agreements mentioned in the Golang Network Port Scanner README section above
are relevant to that project's source code only.