Skip to main content

A golang scanner

Project description

GitHub language count GitHub top language GitHub Repo stars Docker Image Version (latest by date) GitHub go.mod Go version Docker Stars piwheels GitHub tag (latest by date) Codacy Badge Discord GitHub code size in bytes GitHub all releases GitHub issues GitHub GitHub last commit

English

介绍

gscan最初是为项目gosam提供基础扫描支持的。后来独立出来成为一个类似 nmap的扫描工具,目前正在努力加强和完善中,项目很期待其他开发者的加入。也欢迎您下载发布包来体验它,帮我们测试并反馈问题给我们。

特性

  • ARP scan
  • ICMP scan
  • TCP port scan
  • Domain support
  • Random port support
  • UDP port scan
  • Service discovery
  • Vulnerability discovery
  • Adaptive binary overflow

使用

发布包里下载的对应系统和架构的可执行文件 gscan

查看帮助

$ gscan help
Gscan
   ____  ______ ____ _____    ____  
  / ___\/  ___// ___\\__  \  /    \ 
 / /_/  >___ \\  \___ / __ \|   |  \
 \___  /____  >\___  >____  /___|  /
/_____/     \/     \/     \/     \/ 
https://github.com/LanXuage/gosam/gscan

A Scanner.

Usage:
  gscan [flags]
  gscan [command]

Available Commands:
  arp         ARP Scanner
  completion  Generate the autocompletion script for the specified shell
  help        Help about any command
  icmp        ICMP Scanner
  port        PORT Scanner

Flags:
  -A, --arp             with arp scan
  -D, --debug           set debug log level
  -F, --file string     file to output(unrealized)
  -H, --help            help for this command
  -I, --icmp            with icmp scan
  -O, --output string   normal, json or xml(unrealized) (default "normal")
  -T, --timeout int     global timeout(ms) (default 6500)
  -V, --version         version for gscan

Use "gscan [command] --help" for more information about a command.

详细命令作用参考这里

简单例子

ARP 扫描

对本地的整个局域网进行 arp 扫描

$ gscan arp -a
192.168.50.179  00:15:5d:fa:d7:e7       Microsoft Corporation
192.168.48.1    00:15:5d:ab:10:3a       Microsoft Corporation
Cost: 6.514218807s

对指定 IP 进行 arp 扫描

$ gscan arp -h 192.168.50.179
192.168.50.179  00:15:5d:fa:d7:e7       Microsoft Corporation
Cost: 6.500702247s

注意:默认超时为6500毫秒,可以使用 -T进行指定,单位为毫秒。

ICMP 扫描

单IP or 网段 主机存活探测

$ gscan icmp -h 192.168.1.1/24 
IP			        Status
192.168.1.1     Alive
Cost: 4.009240208s

多目标 存活探测

$ gscan icmp -h 192.168.1.1 -h 192.168.2.2
IP              Status
192.168.1.1     Alive
192.168.2.2     Alive
Cost: 4.002214791s

TCP Port 扫描

对一个 IP 进行全端口探测

$ gscan port -h 192.168.48.1 -p 0-65535
IP                                      PORT                    TYPE    STATE
192.168.48.1                            135(epmap)              tcp     open
192.168.48.1                            5091                    tcp     open
192.168.48.1                            7680(pando-pub)         tcp     open
192.168.48.1                            5040                    tcp     open
192.168.48.1                            5357(wsdapi)            tcp     open
192.168.48.1                            2179(vmrdp)             tcp     open
192.168.48.1                            10808                   tcp     open
192.168.48.1                            10809(nbd)              tcp     open
Cost: 6.00483283s

对一个 IP 进行全端口探测,结合 ARP 扫描结果

$ gscan port -h 192.168.48.1 -p 0-65535 -A
IP                                      MAC                     VENDOR                                          PORT                    TYPE    STATE
192.168.48.1                            00:15:5d:ab:10:3a       Microsoft Corporation                           2179(vmrdp)             tcp     open
192.168.48.1                            00:15:5d:ab:10:3a       Microsoft Corporation                           135(epmap)              tcp     open
192.168.48.1                            00:15:5d:ab:10:3a       Microsoft Corporation                           5091                    tcp     open
192.168.48.1                            00:15:5d:ab:10:3a       Microsoft Corporation                           5357(wsdapi)            tcp     open
192.168.48.1                            00:15:5d:ab:10:3a       Microsoft Corporation                           5040                    tcp     open
192.168.48.1                            00:15:5d:ab:10:3a       Microsoft Corporation                           10809(nbd)              tcp     open
192.168.48.1                            00:15:5d:ab:10:3a       Microsoft Corporation                           7680(pando-pub)         tcp     open
192.168.48.1                            00:15:5d:ab:10:3a       Microsoft Corporation                           10808                   tcp     open
Cost: 9.013501996s

使用全连接模式对一个 IP 进行全端口探测

$ gscan port -h 192.168.48.1 -p 0-65535 -Af
IP                                      MAC                     VENDOR                                          PORT                    TYPE    STATE
192.168.48.1                            00:15:5d:ab:10:3a       Microsoft Corporation                           10808                   tcp     open
192.168.48.1                            00:15:5d:ab:10:3a       Microsoft Corporation                           7680(pando-pub)         tcp     open
192.168.48.1                            00:15:5d:ab:10:3a       Microsoft Corporation                           2179(vmrdp)             tcp     open
192.168.48.1                            00:15:5d:ab:10:3a       Microsoft Corporation                           5040                    tcp     open
192.168.48.1                            00:15:5d:ab:10:3a       Microsoft Corporation                           10809(nbd)              tcp     open
192.168.48.1                            00:15:5d:ab:10:3a       Microsoft Corporation                           135(epmap)              tcp     open
192.168.48.1                            00:15:5d:ab:10:3a       Microsoft Corporation                           5357(wsdapi)            tcp     open
Cost: 9.01656839s

注意:gscan使用的是 gopacket模拟的全连接,所以使用 -f参数时应该开启本地的防火墙,防止本机系统自动 rst连接导致全连接扫描失败。

开发

从源码构建

环境准备

debain/ubuntu

apt install docker

darwin(MacOS)

brew install libpcap-dev golang git

拉取源码

git clone https://github.com/LanXuage/gscan.git

编译

make linux

编译完成会在项目目录下的 bin目录生不同架构的 linux静态可执行文件。

开发规范

参考这里

感谢

开发者

项目

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gscan-0.3.3.tar.gz (34.9 MB view hashes)

Uploaded Source

Built Distribution

gscan-0.3.3-py3-none-any.whl (35.1 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page