Categorygithub.com/zhangsean/gns
modulepackage
0.9.2
Repository: https://github.com/zhangsean/gns.git
Documentation: pkg.go.dev

# README

gns

A pretty fast network scan tool written with golang, it scans all opening ports on the target network.

Codecov Go Report Card

Quick view

asciicast

Install

  • With go
go get -u github.com/zhangsean/gns
  • With docker
docker pull zhangsean/gns
docker run -it --rm zhangsean/gns -p 80,443 10.0.1.1
  • Manual install

Download pre build packages from releases

Usage

Go network scan tool.
Version: v0.9.1

Usage: gns [Options] <IP range or domain>
eg: gns -p 22-8080 -s 300 10.0.1.1-100
    gns -p 80,443 10.0.1.0/24
    gns -g 10.0.1.0/24
    gns www.google.com

Options:
  -a    All ports, 1-65535
  -c    Show network connecting cost time
  -d    Debug, show every scan result, instead of showing open port only
  -g    Ping check
  -h    Show help
  -p string
        Specify ports or port range. eg. 80,443,8080 or 80-8080 (default "21,22,23,53,80,135,139,443,445,1080,1433,1521,3306,3389,5432,6379,8080")
  -s int
        Parallel scan threads (default 200)
  -t int
        Connect timeout, ms (default 1000)
  -v    Show version

# Functions

AppendPort Append scan aim port with checking valid.
AppendStatus Append scan result with lock.
CheckPing ping ip.
CheckPort check network port connectable or not.
IPIntToString Convert IP int to string.
IPStringToInt Convert IP string to int.

# Structs

TCPAddrStatus TCPAddr with scan result.