Common Workflow¶
This section provides the typical workflow for using Falcoria — from project creation to scanning, status checks, results retrieval, and cleanup.
1. Create a Project¶
All scanned data and related information in Falcoria are grouped under projects. This allows clear separation of different assessments.
To create a project:
./falcli.py project create pentest_project
Example output:
[+] Project 'pentest_project' created successfully (26e73c7f-c1e3-4131-8ee5-99a01681af9f).
project_name : pentest_project
id : 26e73c7f-c1e3-4131-8ee5-99a01681af9f
users : admin
First project saved.
To set the active project:
./falcli.py project set-active <uuid>
List all projects stored on the server:
./falcli.py project list
2. Start a Scan¶
To launch a scan for the active project:
./falcli.py scan start --targets-file hosts.txt
Example output:
[+] Scan initiated for project: 'pentest_project' (26e73c7f-c1e3-4131-8ee5-99a01681af9f).
Scan Settings
Import mode : insert
Nmap (open ports) : -n --max-retries 1 --min-rate 300 -Pn -p 1-65535
Nmap (services) : -sV -Pn
Scan config : app/data/scan_configs/default.yaml
Scan Summary
Targets provided : 6
Duplicates removed : 1
Skipped (already known) : 0
Rejected : 0
Accepted and sent : 5
To use a different scan configuration:
./falcli.py scan start --config ./app/data/scan_configs/web.yaml --targets-file hosts.txt
By default, Falcoria skips targets that were already scanned within the project. Only new, unknown hosts are accepted.
To re-scan all targets regardless of previous results, use replace mode. See details here.
All available scan options can be reviewed in:
./app/data/scan_configs/all_options_example.yaml
Before launching a scan, check available workers:
./falcli.py workers ips
Example output:
[+] Fetched external IP addresses of active workers.
HOSTNAME IP LAST_UPDATED LAST_UPDATED_AGO
d2b5c09fe876 134.209.200.222 2025-06-26 15:44:02 25 min ago
c21da8b747db 146.190.27.214 2025-06-26 15:44:02 25 min ago
e323a82d28d3 159.223.225.154 2025-06-26 15:44:02 25 min ago
a5ef4e44ca7b 64.225.64.155 2025-06-26 15:44:02 25 min ago
4 workers online.
Each worker processes one host at a time.
3. Scan Status¶
To check current scan status:
./falcli.py scan status
Example output:
[+] Scan status for project 26e73c7f-c1e3-4131-8ee5-99a01681af9f fetched successfully.
Scan Status Summary
Tasks total : 5
Tasks running : 4
Tasks queued : 1
Running Targets:
IP HOSTNAMES WORKER STARTED_AT (UTC) ELAPSED
142.93.156.194 a5ef4e44ca7b 2025-06-29 17:24:28 0:00:10
147.182.157.118 d2b5c09fe876 2025-06-29 17:24:28 0:00:10
143.110.223.7 e323a82d28d3 2025-06-29 17:24:28 0:00:10
165.22.231.248 c21da8b747db 2025-06-29 17:24:28 0:00:10
For interactive status with auto-refresh:
./falcli.py scan status -i
Example interactive output:
Scan status for project 'pentest_project' (26e73c7f-c1e3-4131-8ee5-99a01681af9f) fetched successfully.
Scan Status Summary
Tasks total : 5
Tasks running : 4
Tasks queued : 1
Running Targets:
IP HOSTNAMES WORKER STARTED_AT (UTC) ELAPSED
142.93.156.194 a5ef4e44ca7b 2025-06-29 17:24:28 0:00:10
147.182.157.118 d2b5c09fe876 2025-06-29 17:24:28 0:00:10
143.110.223.7 e323a82d28d3 2025-06-29 17:24:28 0:00:10
165.22.231.248 c21da8b747db 2025-06-29 17:24:28 0:00:10
Remaining: 5/5 | Elapsed: 5s
4. Stop Scan¶
To stop an active scan and terminate all Nmap processes:
./falcli.py scan stop
Example output:
[+] Scan stopped successfully for project: 'pentest_project' (26e73c7f-c1e3-4131-8ee5-99a01681af9f).
Revoked 5 tasks.
If some hosts were partially scanned, re-running the scan will skip already scanned hosts automatically.
5. Get Scan Results¶
List results:
./falcli.py project ips get
Download results:
./falcli.py project ips download
Example output:
[Active Project]: 'pentest_project' (26e73c7f-c1e3-4131-8ee5-99a01681af9f)
[+] Downloaded IPs report for project '26e73c7f-c1e3-4131-8ee5-99a01681af9f'.
Saved to: app/data/reports/26e73c7f-c1e3-4131-8ee5-99a01681af9f_ips.xml
6. Delete Data¶
To delete all scanned IPs from the project:
./falcli.py project ips delete
To delete the entire project:
./falcli.py project delete <uuid>
This operation removes project data completely from the server.
This represents the essential workflow in Falcoria — project setup, scanning, monitoring, retrieving results, and cleaning up.