This repository hosts Helixir, a feedback-based efficient and high hit-rate IPv6 router interface discovery system. Helixir's core design includes a dynamic budget allocation mechanism across probing rounds, an inter-prefix budget allocation strategy that adequately trades off exploration and exploitation, and a Hop Limit selection method based on Thompson sampling.
Before running Helixir, make sure the following dependencies are installed:
- GCC (for compiling source code)
- Bash (for running scripts)
- libpcap (for packet capture and network probing)
- Linux system with raw socket support (required for probing)
Before running the probing process, we need to generate the target prefix datasets. The following scripts are used to create two types of datasets:
bash Tools/generate_BGP_prefixes.sh
bash Tools/generate_Hitlist_prefixes.sh- BGP Prefix Dataset:
- Extracted from BGP routing tables, this dataset contains IPv6 prefixes announced by Autonomous Systems (ASes).
- Hitlist Prefix Dataset:
- Derived from known responsive IPv6 addresses, this dataset focuses on prefixes that historically contain active addresses. We aggregate and deduplicate these addresses to generate the final Hitlist prefix dataset.
Compiles the Helixir source code and generates the executable file bin/main.
makeEdit run.sh to configure essential parameters for network probing. The following variables are included:
# Define parameters
INTERFACE_NAME=""
SOURCE_MAC=""
SOURCE_IP=""
GATEWAY_MAC=""
INPUT_FILENAME="input/Hitlist_prefixes.txt"
OUTPUT_FILENAME="$OUTPUT_DIR/$(date +'%Y%m%d_%H%M%S').log"| Parameter | Description |
|---|---|
INTERFACE_NAME |
The network interface used for packet transmission. |
SOURCE_MAC |
The MAC address of the probing machine. |
SOURCE_IP |
The IPv6 address of the probing machine. |
GATEWAY_MAC |
The MAC address of the gateway router. |
INPUT_FILENAME |
The file containing the target prefixes for probing. |
OUTPUT_FILENAME |
A dynamically generated filename for logging results. The timestamp (YYYYMMDD_HHMMSS) ensures unique filenames across multiple runs. |
Once the dataset is prepared and the configuration is set, execute the probing process by running:
bash run.shThis command initiates the probing process, transmitting packets and saving results to the specified log file.
This data is only allowed to be used for academic research. Any form of commercial use, data resale, or other non-academic use is strictly prohibited. Without permission, the data shall not be used to develop commercial products, conduct profit-making analysis, or disseminate it to commercial institutions.
If you need to obtain the data, please send an email to [zhoujs24@mails.tsinghua.edu.cn] using your academic institution email. The email subject should indicate: Helixir Dataset Application for Academic Use - [Applicant's Name] - [Affiliated Institution]. The content of the email should include the following information:
- Applicant's name, affiliated academic institution, and title/identity (such as graduate student, researcher, etc.).
- Specific research project name, research purpose, and brief content for which the data is planned to be used.
- The required data scale, including the quantity, scope and specific types of data needed.
- A commitment to using the data solely for academic research and not for commercial use or illegal dissemination.
We will review the email within 7 working days after receiving it. After the review is passed, we will send you the data acquisition link and usage authorization instructions via email. If the application is not approved, the specific reason will also be informed.
Since these data are sensitive to some of the probed networks, if it is found that the data user violates the agreement of academic use, we have the right to terminate the data usage authorization immediately and reserve the right to pursue legal liability. The data user shall bear all relevant responsibilities arising from the use of the data, and our side shall not be responsible for any problems that may occur during the data usage process.
We are committed to promoting academic cooperation and knowledge progress. Thank you for your understanding and cooperation! If you have any questions, please feel free to contact us at [zhoujs24@mails.tsinghua.edu.cn].