Network administration suite - calculations, diagnostics, and configuration helpers.
Zero external dependencies. Python 3 stdlib only.
Click to collapse/expand
SysAdminToolbox is a self-contained CLI tool for network administrators. It consolidates subnet calculations, base conversions, IPv6 utilities, network diagnostics, MAC address analysis, vendor configuration helpers, and cheatsheets into a single script with zero pip dependencies.
Conversions - Decimal, binary, hexadecimal, IP, mask, CIDR, wildcard conversions in all directions.
Subnet calculations - Subnet calculator, advanced subnetting (IPv4 + IPv6), VLSM, supernet aggregation, overlap detection.
IPv6 - Expand, compress, binary conversion, type identification, subnet calculator.
Network diagnostics - Ping, TCP port scan (single ports or ranges), traceroute, WHOIS, DNS/reverse DNS lookups.
MAC address - Normalize, format (colon/dash/cisco/bare), OUI extraction, unicast/multicast/LAA detection.
Vendor helpers - VLAN and ACL configuration generators for Cisco, Juniper, Huawei.
Cheatsheets - Cisco VLAN, Cisco ACL, Huawei VLAN, MikroTik VLAN, Firewall (Palo Alto, Fortinet, iptables, nftables), Routing (static, OSPF, BGP), NAT.
Output - ANSI colored terminal output (auto-detects TTY), JSON mode (--json), interactive REPL (-i).
Requirements: Python >= 3.9
git clone https://github.com/franckferman/SysAdminToolbox.git
cd SysAdminToolbox
python3 src/SysAdminToolbox/SysAdminToolbox.py --versionOr install as a package:
pip install .
SysAdminToolbox --versionThe tool uses subcommands organized by category:
SysAdminToolbox <command> <operation> [arguments] [--json] [--no-color]
Run without arguments to see the banner and help. Use -i for interactive mode:
python3 src/SysAdminToolbox/SysAdminToolbox.py -i +-----------------------------------------+
| SysAdminToolbox v3.0.0 |
| Network Administration Suite |
+-----------------------------------------+
sat > subnet calc 192.168.1.0/24
sat > net ping 8.8.8.8
sat > convert d2b 42
sat > help
sat > exit
Base and format conversions.
| Operation | Example |
|---|---|
d2b |
convert d2b 42 |
b2d |
convert b2d 10101010 |
d2h |
convert d2h 255 |
h2d |
convert h2d ff |
b2h |
convert b2h 11111111 |
h2b |
convert h2b ff |
iptobin |
convert iptobin 192.168.1.1 |
bintoip |
convert bintoip 11000000.10101000.00000001.00000001 |
m2c |
convert m2c 255.255.255.0 |
c2m |
convert c2m 24 |
m2w |
convert m2w 255.255.255.0 |
w2m |
convert w2m 0.0.0.255 |
c2w |
convert c2w 24 |
w2c |
convert w2c 0.0.0.255 |
Subnet calculations.
# Basic subnet calculator
subnet calc 192.168.1.0/24
subnet calc 10.0.0.1 255.255.0.0
# Advanced subnetting (IPv4 and IPv6)
subnet adv 192.168.1.0/24 26
subnet adv 2001:db8::/32 48
# VLSM
subnet vlsm 192.168.1.0/24 50 30 10
# Check overlap
subnet overlap 192.168.1.0/24 192.168.1.128/25
# Find smallest supernet
subnet supernet 192.168.1.0/26 192.168.1.64/26 192.168.1.128/25IPv6 utilities.
ipv6 expand ::1
ipv6 compress 2001:0db8:0000:0000:0000:0000:0000:0001
ipv6 tobin fe80::1
ipv6 type fe80::1 # -> link-local
ipv6 subnet 2001:db8::/32Network diagnostics, scanning, and reconnaissance.
# Ping
net ping 8.8.8.8
net pingsweep 192.168.1.0/24
# Port scanning
net portscan 192.168.1.1 22 80 443
net portscan 192.168.1.1 20-25
net portscan-adv 192.168.1.1 top20
net portscan-adv 192.168.1.1 22 80 443 banner
net portscan-udp 192.168.1.1 53 161
net portscan-net 192.168.1.0/24 22
net banner 192.168.1.1 80
# Traceroute
net traceroute google.com
net traceroute-asn google.com # with ASN/country per hop
# DNS
net dns example.com
net dns-type google.com MX
net dns-type google.com TXT 8.8.8.8 # query specific server
net dns-compare google.com 8.8.8.8 1.1.1.1
net dns-axfr example.com
net rdns 8.8.8.8
net rdns-sweep 192.168.1.0/24
# TLS / HTTP
net certcheck google.com
net certcheck google.com 8443 # custom port
net headers https://google.com
# Local network
net arp
net whois google.comMAC address utilities.
mac info AA:BB:CC:DD:EE:FF
mac format aa:bb:cc:dd:ee:ff cisco # -> aabb.ccdd.eeff
mac format AA-BB-CC-DD-EE-FF bare # -> aabbccddeeff
mac normalize aabb.ccdd.eeff # -> aa:bb:cc:dd:ee:ff
mac vendor AA:BB:CC:DD:EE:FFGenerate vendor-specific configuration commands.
vendor vlan cisco 10 Engineering Gi0/1-15
vendor vlan juniper 10 Engineering
vendor vlan huawei 100 MGMT GE0/0/1 GE0/0/2
vendor acl cisco BLOCK deny tcp 192.168.1.0/24 any 0 80Configuration cheatsheets.
cheat vlan # all Cisco VLAN sections
cheat vlan trunk # specific section
cheat acl
cheat huawei
cheat mikrotik
cheat firewall # Palo Alto, Fortinet, iptables, nftables
cheat firewall iptables # specific vendor
cheat routing # static, OSPF, BGP
cheat routing ospf
cheat nat
cheat nat cisco_pat| Flag | Description |
|---|---|
--json |
Output in JSON format (works with any command) |
--no-color |
Disable ANSI colors |
--version |
Show version |
-i |
Interactive REPL mode |
# JSON output
subnet calc 10.0.0.0/8 --json
net ping 8.8.8.8 --json
# Pipe-friendly
subnet calc 10.0.0.0/8 --json | jq '.first_host'Encountering issues? Submit an issue on GitHub.
Some commands require system tools:
net tracerouterequirestraceroute(apt install traceroute)net whoisrequireswhois(apt install whois)net pingrequiresping(usually pre-installed)
Contributions, feedback, and suggestions are welcome. Feel free to open an issue or submit a pull request.
This project is licensed under the GNU Affero General Public License, Version 3.0. See the LICENSE file.