89 lines
2.0 KiB
Markdown
89 lines
2.0 KiB
Markdown
# 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)
|
|
```Bash
|
|
sudo apt update
|
|
sudo apt install zmap
|
|
```
|
|
|
|
then compile the backend scanner
|
|
```Bash
|
|
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
|
|
```JSON
|
|
{
|
|
"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
|
|
```SQL
|
|
CREATE DATABASE scannerdb;
|
|
CREATE USER 'Scanner'@'localhost' IDENTIFIED BY 'Scannerpass123';
|
|
GRANT ALL PRIVILEGES ON scannerdb.* TO 'Scanner'@'localhost';
|
|
FLUSH PRIVILEGES;
|
|
```
|
|
config file for SQLite
|
|
```JSON
|
|
{
|
|
"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
|
|
|
|
```Bash
|
|
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
|
|
```Bash
|
|
go build -ldflags "-s -w" -trimpath frontend.go
|
|
```
|
|
a frontend binary will appear, run with ./frontend |