Network Tools

ooniprobe – Network Interference Detection Tool

OONI, the Open Observatory of Network Interference, is a global observation network which aims is to collect high quality data using open methodologies, using Free and Open Source Software (FL/OSS) to share observations and data about the various types, methods, and amounts of network tampering in the world.

“The Net interprets censorship as damage and routes around it.”
  • John Gilmore; TIME magazine (6 December 1993)

ooniprobe is the first program that users run to probe their network and to collect data for the OONI project. Are you interested in testing your network for signs of surveillance and censorship? Do you want to collect data to share with others, so that you and others may better understand your network? If so, please read this document and we hope ooniprobe will help you to gather network data that will assist you with your endeavors!

 

OONI develops free software tests designed to examine the following:

  • Blocking of websites
  • Blocking of instant messaging apps
  • Blocking of Tor and other circumvention tools
  • Detection of systems that could be responsible for censorship and/or surveillance

 

Installation

macOS

You can install ooniprobe on macOS if you have installed homebrew (http://brew.sh/) with:

brew install ooniprobe

 

Unix systems (with pip)

Make sure you have installed the following dependencies:

  • build-essential
  • python (>=2.7)
  • python-dev
  • pip
  • libgeoip-dev
  • libdumbnet-dev
  • libpcap-dev
  • libssl-dev
  • libffi-dev
  • tor (>=0.2.5.1 to run all the tor related tests)

Optional dependencies:

  • obfs4proxy

On debian based systems this can generally be done by running:

sudo apt-get install -y build-essential libdumbnet-dev libpcap-dev libgeoip-dev libffi-dev python-dev python-pip tor libssl-dev obfs4proxy

Then you should be able to install ooniprobe by running:

sudo pip install ooniprobe

or install ooniprobe as a user:

pip install ooniprobe

 

The latest ooniprobe version for Debian and Ubuntu releases can be found in the deb.torproject.org package repository.

On Debian stable (jessie):

gpg --keyserver keys.gnupg.net --recv A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89
gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
echo 'deb http://deb.torproject.org/torproject.org jessie main' | sudo tee /etc/apt/sources.list.d/ooniprobe.list
sudo apt-get update
sudo apt-get install ooniprobe deb.torproject.org-keyring

 

On Ubuntu 16.10 (yakkety), 16.04 (xenial) or 14.04 (trusty):

gpg --keyserver keys.gnupg.net --recv A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89
gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
echo 'deb http://deb.torproject.org/torproject.org $RELEASE main' | sudo tee /etc/apt/sources.list.d/ooniprobe.list
sudo apt-get update
sudo apt-get install ooniprobe deb.torproject.org-keyring

 

Using ooniprobe

  • Net test is a set of measurements to assess what kind of internet censorship is occurring.
  • Decks are collections of ooniprobe nettests with some associated inputs.
  • Collector is a service used to report the results of measurements.
  • Test helper is a service used by a probe for successfully performing its measurements.
  • Bouncer is a service used to discover the addresses of test helpers and collectors.

Download ooniprobe