On this website we present additional information about our INFOCOM 2025 paper "Pruning as Scanning: Towards Internet-Wide IPv6 Network Periphery Discovery" and provide access to our IPv6 Periphery Service.
We provide an IPv6 Periphery Service where we publish responsive IPv6 periphery addresses and prefix data to interested researchers. The service consists of an openly accessible tier and a registration-first tier.
This figure shows a daily snapshot of globally active IPv6 subnets (i.e., subnets that explicitly respond to our probes) mapped into a Morton-curve layout, updated every 24 hours.
For privacy and security reasons, the openly accessible service provides only prefix data without registration. We scan the IPv6 Internet every 24 hours, starting from the IANA IPv6 Global Unicast Address Space:
We provide additional data for in-depth research on IPv6 network periphery, including concrete IPv6 addresses. This includes:
To get free access, send a quick registration email.
If you use data from the IPv6 Periphery Service in your publication, please cite:
@inproceedings{yang2025pruning,
title = {{Pruning as Scanning: Towards Internet-Wide IPv6 Network Periphery Discovery}},
author = {Yang, Tao and Hu, Ling and Hou, Bingnan and Yang, Zhenzhong and Cai, Zhiping},
booktitle = {Proceedings of the IEEE Conference on Computer Communications},
pages = {1--10},
year = {2025},
organization = {IEEE}
}
During our IPv6 periphery analysis we developed and used the following tools. We publish them for use by the scientific community:
Modular IPv6 single-packet scanner implementing the Pruning-as-Scanning strategy.
Helper script to reproduce Internet-wide periphery scans using YMap.
High-performance deduplication utility based on a blocked Bloom filter.
YMap is a modular IPv6 single-packet scanner written in modern C++. It is designed for Internet-wide IPv6 periphery discovery and supports two scan modes:
YMap supports pluggable probe modules (icmp6_echo, udp6_coap,
tcp6_syn) and includes multi-threaded sending with rate limiting and real-time monitoring.
Source: github.com/latteyt/ymap
The Pruning-as-Scanning approach discovers IPv6 network periphery devices at Internet scale without requiring any seeds. It exploits the fact that packet forwarding still follows the longest-prefix matching rule even in the vast IPv6 address space.
The helper script runs a four-round iterative scan, progressively narrowing the address space based on responses from the previous round:
bash .pruning-as-scanning/pruning-as-scanning.sh
Source: github.com/latteyt/ymap (bundled in the repository)
buniq is a high-performance IPv6 address deduplication tool based on a blocked Bloom filter. It is designed for large-scale scan outputs where standard tools are too slow.
cat lines_to_deduplicate | buniq
Source: github.com/latteyt/buniq
Abstract. IPv6 network periphery devices — such as last-hop gateways and IoT equipment — are crucial to understanding the real deployment and security posture of the IPv6 Internet. However, discovering these devices at Internet scale is challenging due to the infeasibility of exhaustive IPv6 address space scanning.
In this paper, we propose Pruning as Scanning, a novel scanning strategy that exploits the longest-prefix matching rule to discover IPv6 network periphery devices without requiring any seed addresses. We iteratively probe IPv6 prefixes, pruning unresponsive regions and focusing on densely populated periphery segments. We implement this strategy in YMap, a modular IPv6 single-packet scanner, and conduct Internet-wide experiments demonstrating that our approach can efficiently uncover IPv6 periphery devices across a very large address space with a limited probe budget.
Paper. Read the final version of our paper: [IEEE Xplore]
Authors. Tao Yang, Ling Hu, Bingnan Hou, Zhenzhong Yang, Zhiping Cai.
@inproceedings{yang2025pruning,
title = {{Pruning as Scanning: Towards Internet-Wide IPv6 Network Periphery Discovery}},
author = {Yang, Tao and Hu, Ling and Hou, Bingnan and Yang, Zhenzhong and Cai, Zhiping},
booktitle = {Proceedings of the IEEE Conference on Computer Communications},
pages = {1--10},
year = {2025},
organization = {IEEE}
}
The reproduction script is available as a standalone file: GitHub.
It expects `DATA_PATH` and `IF_NAME`, and uses the local `../build/ymap` binary.
Tao Yang : lattetao@outlook.com
JiaTang Zhao: zhaojiatang19@nudt.edu.cn