Fusili - Simple network port scanner
Fusili is a simple network port scanner. It is not a replacement for Nmap: it only performs TCP port scanning, and doesn't even try to be stealthy.
Installation
Requirements:
- Go compiler (>= 1.11.0)
go get -u github.com/falzm/fusili
Configuration
The configuration file format is JSON:
hosts
: hosts to scan and their ports expected to be open. Example:
"hosts": {
"195.154.240.134": [ 22, 53 ],
"62.210.248.118": [ 22 ],
"62.210.248.119": [ ]
}
output
: scan report output destinations. Supported types:
stdout
: output open ports found on the console.s3
: upload the report as JSON file to an Amazon S3 bucket. Settings:access_key
secret_key
region
bucket
file_path
Example:
"output": {
"stdout": {
"type": "stdout"
},
"s3": {
"type": "s3",
"access_key": "XXXXXXXXXXXXXXXXXXXX",
"secret_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"region": "eu-west",
"bucket": "monitoring",
"file_path": "portscan/report.json"
}
}
Usage
$ fusili -h
Usage: fusili [OPTIONS]
Options:
-c path to configuration file
-h display this help and exit
-l logging level (error, warning, notice, info, debug)
-sC scan concurrency
-sP scan ports range (START:END)
-sT scan port timeout (in seconds)
-v display version and exit
Example:
$ fusili -c conf.json -sC 100 -sP 1:100
2015/11/27 23:29:56.330393 WARNING: report: 195.154.240.134: found port 80/tcp open
2015/11/27 23:29:56.330562 WARNING: report: 62.210.248.119: found port 22/tcp open
2015/11/27 23:29:56.330588 INFO: core: scanned 3 hosts in 3.0 seconds