| .gitignore | ||
| frontend.go | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| main.go | ||
| README.md | ||
| release.sh | ||
geoscan
a tool in Golang for scanning the world wide internet
how to set up
disclaimer: this guide assumes you have a Linux/Unix capable host with the bash shell installed
installing prequisities:
- zmap
- mySQL/mariaDB (optional, canner can use sqlite)
sudo apt update
sudo apt install zmap
then compile the backend scanner
go mod tidy
chmod +x release.sh
./release.sh
this will compile the main.go scanner
then make the configuration file in JSON
example config for mySQL
{
"zmapfile": "zmaplist.txt",
"channelfeeders": 20,
"db": {
"dbdriver": "mysql",
"username": "root",
"password": "admin",
"dbname": "scannerdb"
},
"web": {
"port": 9000,
"username": "admin",
"password": "admin"
}
}
note to change the username and password to the mySQL/MariaDB database you have installed, to create the database for the scanner, run the following query
CREATE DATABASE scannerdb;
CREATE USER 'Scanner'@'localhost' IDENTIFIED BY 'Scannerpass123';
GRANT ALL PRIVILEGES ON scannerdb.* TO 'Scanner'@'localhost';
FLUSH PRIVILEGES;
config file for SQLite
{
"zmapfile": "zmaplist.txt",
"channelfeeders": 20,
"db": {
"dbdriver": "sqlite",
"username": "",
"password": "",
"dbname": "scanner.db"
},
"web": {
"port": 9000,
"username": "admin",
"password": "admin"
}
}
then to start scanning, run zmap that was installed earlier
sudo zmap -p 80 -o zmaplist.txt
leave zmap running for some time, to evenutally build a list of active IPs then run the scanner with the IP file you got from zmap
./main
make sure the database config is correct, otherwise an error will be seen of being unable to connect to the database if using mySQL
then after we are done scanning, we wanna see our data
making and using the frontend
- first, compile the frontend
a frontend binary will appear, run with ./frontendgo build -ldflags "-s -w" -trimpath frontend.go