Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The mtr-packet tool isolates the raw socket sending/receiving of packets from the mtr user interface. By isolating the socket interactions to a separate process, we can be sure that any security flaws in the user-interface code doesn't expose a raw socket interface to an attacker attempting to escalate privileges. This is a bare-bones implementation, only support ICMP, only support IP version 4, and missing many of the probe customization features available in mtr. It will require some more work to reach feature parity with the current mtr implementation. But it's a start. The include mtr-packet man page explains the protocol format used to communicate with this new process. Included is an automated test for mtr-packet, implemented using Python's unittest module. Though the code actually being tested is implemented in C, Python make it easy to write test cases. 'make check' will test the current build. An alternate code-path for Windows is included in the mtr-packet tool. The mechanism for sending and receiving network probes is significantly different for Windows, as compared to Unix-like operating systems, but the interface provided by mtr-packet is the same. 'make dist-windows-bin' will make a Windows binary distribution. A Cygwin build environment is required, but the resulting binary distribution doesn't require that Cygwin be already installed. Tested on: Ubuntu 16.10, FreeBSD 11.0, MacOS 10.12.1 (Sierra), Windows 7 Since the code changes are significant, more esoteric operating systems may require changes.
- Loading branch information
1 parent
7e13a55
commit 5d26cb0
Showing
37 changed files
with
3,477 additions
and
1,156 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -19,9 +19,11 @@ stamp-h1* | |
|
||
/autom4te.cache/ | ||
/.deps/ | ||
/packet/.deps/ | ||
/ChangeLog | ||
/INSTALL | ||
/mtr | ||
/mtr-packet | ||
/mtr.8 | ||
|
||
/mtr-*.tar.gz |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,5 +3,4 @@ | |
aclocal $ACLOCAL_OPTS | ||
autoheader | ||
automake --add-missing --copy --foreign | ||
autoconf | ||
|
||
autoconf --force |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.