Lu Tang, Qun Huang, and Patrick P. C. Lee. SpreadSketch: Toward Invertible and Network-Wide Detection of Superspreaders. INFOCOM 2020
- spreadsketch.hpp, spreadsketch.cpp: the implementation of SpreadSketch
- mrbmp.hpp, mrbmp.cpp: the implementation of multiresolution bitmap (distinct counters in SpreadSketch)
- main_ss.cpp: example about superspreader detection
- p4/spreadsketch.p4: p4 implementation of SpreadSketch
SpreadSketch is implemented with C++. We show how to compile the examples on Ubuntu with g++ and make.
-
Ensure g++ and make are installed. Our experimental platform is equipped with Ubuntu 14.04, g++ 4.8.4 and make 3.81.
-
Ensure the necessary library libpcap is installed.
- It can be installed in most Linux distributions (e.g., apt-get install libpcap-dev in Ubuntu).
-
Prepare the pcap files.
- We provide two small pcap files here. You can download and put them in the "traces" folder for testing.
- Specify the path of each pcap file in "iptraces.txt".
- Note that one pcap file is regarded as one epoch in our examples.
- Compile examples with make
- Run the example of SpreadSketch
$ make main_ss
- Run the example of HP-SpreadSketch
$ make main_ss_hp
- Run the examples, and the program will output some statistics about the detection accuracy.
$ ./main_ss
- Note that you can change the configuration of SpreadSketch, e.g. number of rows and buckets in the example source code for testing.