https://github.com/RickGray/vscan-go
  
  
    golang version for nmap service and application version detection (without nmap installation) 
    https://github.com/RickGray/vscan-go
  
golang security-scanner
        Last synced: 4 months ago 
        JSON representation
    
golang version for nmap service and application version detection (without nmap installation)
- Host: GitHub
- URL: https://github.com/RickGray/vscan-go
- Owner: RickGray
- Created: 2018-01-08T09:25:42.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2020-09-23T04:11:23.000Z (about 5 years ago)
- Last Synced: 2024-08-05T17:25:38.762Z (about 1 year ago)
- Topics: golang, security-scanner
- Language: Go
- Homepage:
- Size: 13.7 KB
- Stars: 163
- Watchers: 10
- Forks: 46
- Open Issues: 5
- 
            Metadata Files:
            - Readme: README.md
 
Awesome Lists containing this project
- awesome-hacking-lists - RickGray/vscan-go - golang version for nmap service and application version detection (without nmap installation) (Go)
- StarryDivineSky - RickGray/vscan-go
README
          # vscan-go
golang version for [nmap_vscan](https://github.com/nixawk/nmap_vscan) nmap service and application version detection (without nmap installation)
## Building
Get and Build:
```
git clone https://github.com/rickgray/vscan-go vscan-go
cd vscan-go
go build
./vscan-go -h
```
Or use "make" tool to build:
```
git clone https://github.com/rickgray/vscan-go vscan-go
cd vscan-go
make && make install
vscan-go -h
```
## Usage
```
Usage of ./vscan-go:
  -in string
    	Input filename, use - for stdin (default "-")
  -null-probe-only
    	Use NULL probe to probe service only
  -out string
    	Output filename, use - for stdout (default "-")
  -routines int
    	Goroutines numbers using during scanning (default 10)
  -scan-probe-file string
    	A flat file to store the version detection probes and match strings (default "./nmap-service-probes")
  -scan-probe-file-extra string
    	Extra probes to expand "nmap-service-probes"
  -scan-rarity int
    	Sets the intensity level of a version scan to the specified value (default 7)
  -scan-read-timeout int
    	Set connection read timeout in seconds (default 5)
  -scan-send-timeout int
    	Set connection send timeout in seconds (default 5)
  -use-all-probes
    	Use all probes to probe service
  -verbose int
    	Output more information during service scanning
```
Specailly, `vscan-go` use [NMap](https://github.com/nmap/nmap) vscan probe file - [nmap-service-probes](https://raw.githubusercontent.com/nmap/nmap/master/nmap-service-probes) to detect service, you can download and use it directly:
```
wget https://raw.githubusercontent.com/nmap/nmap/master/nmap-service-probes -O ./nmap-service-probes
vscan-go -scan-probe-file ./nmap-service-probes -h
```
if you want more details about vscan, see [https://nmap.org/book/vscan.html](https://nmap.org/book/vscan.html).
## Example
With [masscan](https://github.com/robertdavidgraham/masscan):
```
$ masscan -p1-65535,U:1-65535 --excludefile=blacklist.conf 0.0.0.0/0 | awk -F '/' '{print $1" "$2}' | awk '{print $7":"$4"/"$5}' | vscan-go vscan-go -scan-probe-file ./nmap-service-probes -routines=2000 | jq
```
With [zmap](https://github.com/zmap/zmap):
```
$ zmap -p 80 | awk '{print $1":80"}' | vscan-go -scan-probe-file ./nmap-service-probes -routines=2000 | jq
```