tracevis
tracevis copied to clipboard
Traceroute with any packet. Visualize the routes. Discover Middleboxes and Firewalls
TraceVis
Traceroute with any packet. Visualize the routes. Discover Middleboxes and Firewalls
TraceVis is a research project whose main goal is to find middleboxes. Where a packet is tampered with or blocked. This tool also has other features such as downloading and visualizing traceroute data from RIPE Atlas probes.
Install and build
Note:
You need to install npcap in Windows. If you already have programs like Wireshark or Nmap/Zenmap, they will install this automatically.
(Not required on Linux.)
Using docker:
Pull docker image from github container registry:
docker pull ghcr.io/wikicensorship/tracevis
Or clone project and build docker image on your machine:
docker build -t tracevis .
Directly:
Download or clone project and then install Python dependencies:
python3 -m pip install -r requirements.txt
How to use
Default DNS trace:
python3 ./tracevis.py --dns
or with docker image:
docker run ghcr.io/wikicensorship/tracevis --dns
or trace in paris mode:
python3 ./tracevis.py --dns --paris
Packet trace:
python3 ./tracevis.py --packet
or with docker image:
docker run -it ghcr.io/wikicensorship/tracevis --packet
trace with a config file:
python3 ./tracevis.py --config ./samples/quicv0xbabababa.conf
or you can override:
python3 ./tracevis.py --config ./samples/syn.conf -i "75.2.60.5,99.83.231.61"
(There is more in ./samples
: Client-Hello, NTP, HTTP-GET, and more QUIC packets)
Download traceroute data from a RIPE Atlas probe:
python3 ./tracevis.py --ripe [probe-id]
or with docker image:
docker run \
--mount type=bind,source=/path/to/results,target=/tracevis_data/ \
ghcr.io/wikicensorship/tracevis --ripe [probe-id]
# OR
docker run \
-v /path/to/results/:/tracevis_data/ \
ghcr.io/wikicensorship/tracevis --ripe [probe-id]
Visualize a json file:
python3 ./tracevis.py --file ./path/to/file.json
or with docker image:
docker run \
--mount type=bind,source=/path/to/results,target=/tracevis_data/ \
ghcr.io/wikicensorship/tracevis --file /tracevis_data/file.json
# OR
docker run \
-v /path/to/results/:/tracevis_data/ \
ghcr.io/wikicensorship/tracevis --file /tracevis_data/file.json
See the help message:
python3 ./tracevis.py -h
or with docker image:
docker run ghcr.io/wikicensorship/tracevis