Due to the ongoing migration to Jekyll, this page is still work in progress
Originally used to assist network-layer fragmentation and reassembly, the IP identification field (IP-ID) has been used and abused for a range of tasks, from counting hosts behind NAT, to detect router aliases and, lately, to assist detection of censorship in the Internet at large. These inferences have been possible since, in the past, the IP-ID was mostly implemented as a simple packet counter: however, this behavior has been discouraged for security reasons and other policies, such as random values, have been suggested. These policies can be inferred by leveraging two vantage points sending packets that arrived interleaved at the target host: the resulting sequences (denoted as constant, local, global, random and “odd”) are illustrated in the following pictures (where the two vantage points are represented as a white box and a purple circle).
In this page, we collect and make available useful resources concerning our IP-ID classification technique [PAM-18a] , in particular:
Measurement We propose a framework to classify the different IP-ID behaviors using active probing from a single host using IP spoofing to precisely control packet interleaving at the generation. Despite being only minimally intrusive, our technique is significantly accurate (99% true positive classification) robust against packet losses (up to 20%) and lightweight (few packets suffices to discriminate all IP-ID behaviors). We haven’t done the effort of cleaning up the code to release it to the public (contact us if interested).
Classification Our technique is based on the definition of highly discriminative features with known expected values, that we train over a dataset with manually constructed ground truth, that we make available to the community. Notice that by employing a supervised technique, we are also able to cope with odd behaviors such as those due to load balancing middleboxes, or host implementations using the wrong endianness. The ground truth dataset we release can of course be useful to validate any other technique you may wish to define, so don’t hesitate to grab a copy!
In this page, we also make available results concerning the application of our IP-ID classification [PAM-18a] technique to a broad Internet-wide census we perfomed in 2017, in particular:
@inproceedings{DR:PAM-18a, title = , author = {Salutari, Flavia and Cicalese, Danilo and Rossi, Dario}, booktitle = {International Conference on Passive and Active Network Measurement (PAM)}, annote = {category=article state=unpublished project=newnet}, note = {topic=ipid}, address = {Berlin, Germany}, year = {2018}, month = mar, url = {http://www.enst.fr/~drossi/paper/rossi17pam18a.pdf}, howpublished = {http://www.enst.fr/~drossi/paper/rossi17pam18a.pdf}, www_txt_url = {http://www.enst.fr/~drossi/paper/rossi17pam18a.pdf} }