ManInTheMirror is an SNMP network scanning tool written in C++ using the Net-SNMP
library. MITM is also able to listen for incoming trap messages through sockets and decodes
the message using OpenSSL with asn1parse.
The UI is created using Qt5.
net-snmp- Installation on Arch Linux:
sudo pacman -S net-snmp
- Installation on Arch Linux:
qt5-base- Installation on Arch Linux:
sudo pacman -S qt5-base
- Installation on Arch Linux:
tr- Should already be preinstalled on Linux.
xxd- Should already be preinstalled on Linux.
- Installation on Arch Linux:
sudo pacman -S xxd
openssl- Should already be preinstalled on Linux.
- Installation on Arch Linux:
sudo pacman -S openssl
To execute the program run the binary that is packaged in the latest release or build the project yourself.
- Default community string is
public - Requests are sent using
GETNEXT, so watch out when inputting OIDs - Traps are received on port 162, therefore the program must be run with sudo privileges
- Trap messages that are received as strings are printed normally as strings. However trap messages that are received as, for example, integers, are printed as hex numbers.
The net-snmp installation comes with a default set of MIBs. Adding custom MIB files can be done by copying them to the respective MIB directory and then loading them.
To find out the MIB directory path, execute following command:
net-snmp-config --default-mibdirs
For more information on how to add and load new MIBs, consult Net-SNMPs tutorial on how to load custom MIBs.
- Scan single IP with multiple OIDs
- Scan network range with multiple OIDs
- Some default OIDs are already loaded into the UI
- Change community string in the UI
- All scanning is done in an asynchronous manner
- Receive and output traps
- Trap listener starts listening on program startup
- Fully resizable window
- Rework UI





