Simple ICMP traceroute
Traceroute shows a path through the Internet from your computer to a specified address. This implementation uses ICMP packages and raw sockets.
When there are replies for any of the requests sent, then reply addresses are displayed with average reply time with count of responses:
<step>. <reply addresses> -- <average time> (<responses count>)
When there are no replies, then a single asterisk character is displayed:
<step>. *
versions last used by the author are in double parentheses and italic
General:
- Linux-based operating system
((Debian testing)) - C++ compiler
((APT packageg++
, 10.2.+)) - CMake
((APT packagecmake
, 3.18.+)) - GNU Make
((APT packagemake
, 4.3.+))
- Clang-format
((APT packageclang-format
, 11.+))
Traceroute can be built using CMake that generates GNU Make Makefile.
Follow these steps to build:
$ cd /path-to-project-directory/
$ mkdir build
$ cd build
$ cmake ..
$ make
Make sure you've got sudo
privileges so as to use raw sockets! Otherwise traceroute won't work.
Traceroute can be run directly using the executable file in the bin
root directory:
$ sudo /path-to-project-directory/bin/traceroute