This repository sends a crafted RTPS packet to public IP addresses in the IPv4 space. The Python script utilizes a random permutation of the IPv4 address space for efficiency and to prevent overwhelming subnets, while taking advantage of existing packet libraries like scapy.
Python 3.10 or later is needed to run the code in this repository.
-
Create a virtual environment by running
python3 -m venv .venvand activate it by running. .venv/bin/activateif you are on a Unix-based system or.\.venv\Scripts\activate.batif you are on a Windows system. -
Install dependencies by running
pip install -r requirements.txt. -
In
run_scanner.sh, change the$HOME_DIRvariable to point to the root directory of this project. -
In
unicast_probing.py, change the<COLLECTOR_SERVER_IP>to the IP address of your collector server. Ensure that the server has ports 7400, 7410, 7411, and 7412 open so that it can receive the responses. -
Run
./run_scanner.shto initiate the scanning process.
- If you would like to run this as a
systemctlservice, a service file is provided. Please update theExecStartfield with the correct path of the project and copy the file over where your system files are stored. Then runsudo systemctl start scapy-rtps-experimentation.service.