netninja

alt text

NetNinja

Streamline Linux server troubleshooting with NetNinja - the ultimate tool for network and system admins. Now featuring a fully immersive Rust CLI with tmux multiplexer for real-time network monitoring!

Features

🥷 Advanced Rust CLI

📊 Tmux Monitoring Dashboard

Launch an immersive 6-pane dashboard showing:

  1. Network Interface Status - Live IP addresses and interface states
  2. VPN Status - Connection status, IP, and VPN type
  3. Live iftop Data - Real-time network traffic visualization
  4. Open Ports - Listening services and connections
  5. Security Alerts - Failed logins, firewall blocks, and security events
  6. Active Network Peers - Connected devices with device type detection

Installation

To install NetNinja, clone the repository and run the install.sh script:

git clone https://github.com/cywf/netninja.git
cd netninja
./install.sh

This will:

Prerequisites

Usage

Rust CLI Commands

Quick Status Summary

netninja-cli status

Shows a comprehensive overview of:

Immersive Monitoring Dashboard

sudo netninja-cli monitor

Launches a full-screen tmux session with 6 panes showing real-time monitoring data.

Note: Use sudo for full functionality (iftop access, security logs, etc.)

Tmux Controls:

Help

netninja-cli --help
netninja-cli --version

Legacy Bash Script

The original bash script is still available:

netninja --help
netninja --ping <ip>
netninja --dig <domain>
netninja --traceroute <ip>
netninja --netstat

Making NetNinja Available System-wide

The install script automatically creates symbolic links in /usr/local/bin. To manually create them:

sudo ln -s /path/to/netninja/target/release/netninja-cli /usr/local/bin/netninja-cli
sudo ln -s /path/to/netninja/bin/netninja /usr/local/bin/netninja

Note: Replace /path/to/netninja with the actual path to your NetNinja directory.

Technical Details

Architecture

Dependencies

Security Features

Contributing

If you would like to contribute to NetNinja, please see the CONTRIBUTING.md file for guidelines on how to contribute. We welcome bug reports, feature requests, and pull requests!

License

NetNinja is licensed under the MIT License.

Troubleshooting

iftop not available

Install iftop for enhanced traffic monitoring:

sudo apt-get install iftop

Permission denied errors

Some monitoring features require elevated privileges:

sudo netninja-cli monitor

tmux session already exists

Kill the existing session:

tmux kill-session -t netninja-monitor

Rust not installed

The install script will install Rust automatically, or install manually:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh