Skip to content

ASH274946/NetConfig

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NetWarden


OverviewFeaturesPrerequisitesInstallation & BuildHow to UseTODOContributingLicense


Overview

NetWarden is an open-source network management tool that provides a range of features for monitoring and controlling devices on the same network, similar to tools like netcut. Its primary functionalities include displaying connected devices, cutting or restoring individual devices, background scanning for connected devices, and defending against ARP spoofing.

Features

  • Network Discovery: Show all connected devices on the same local network.
  • Traffic Control: Cut or restore internet access for a specific device.
  • Bulk Actions: Cut all or restore all devices on the network simultaneously.
  • Continuous Monitoring: Background scanning for ongoing network monitoring.
  • Real-Time Updates: Live device scanning ensuring your device list is always up to date.
  • Device Nicknames: Ability to add a persistent nickname for each device to easily identify them.
  • ARP Defender: Defend against ARP spoofing attacks (including those initiated by another NetWarden user).

Prerequisites

Before running NetWarden, ensure you have the following dependencies installed on your system:

1. Packet Capture Library

NetWarden relies on low-level packet capture capabilities. You must install the appropriate library for your Operating System:

  • Windows: Npcap (The Free Edition is sufficient. Note: Ensure you run the interactive installer, as silent install is unsupported for the free version).
  • Linux/macOS: libpcap (Usually available via your package manager, e.g., sudo apt install libpcap-dev).

2. .NET 8.0 SDK

You need the .NET 8.0 SDK to build and run the application.

  • Windows: You can quickly install it via Winget: winget install Microsoft.DotNet.SDK.8 or download it from Microsoft's website.
  • Linux/macOS: Follow the official Microsoft installation guide.

Installation & Build Guide

Follow these step-by-step instructions to compile NetWarden from source:

  1. Clone the repository:

    git clone https://github.com/amdzy/NetWarden.git
    cd NetWarden
  2. Restore dependencies: Fetch all required NuGet packages for the project.

    dotnet restore
  3. Build the application: Compile the project into a release build.

    dotnet publish -c Release
  4. Locate the executable: Once successfully built, your executable will be located in the publish folder. For a Windows x64 machine, the path will look like this: .\NetWarden.Tui\bin\Release\net8.0\win-x64\publish\NetWarden.Tui.exe

How to Use NetWarden

⚠️ CRITICAL PERMISSIONS NOTE: Because NetWarden intercepts and manipulates low-level network packets, you MUST run your terminal as an Administrator (Windows) or root (Linux/macOS) to avoid permission errors or application crashes.

Starting the TUI (Terminal User Interface)

To launch the visual interface, simply run the compiled executable from an elevated command prompt or terminal:

# On Windows (Inside an Administrator PowerShell window)
cd path\to\NetWarden
.\NetWarden.Tui\bin\Release\net8.0\win-x64\publish\NetWarden.Tui.exe

When you launch the application, you'll be greeted by the Main Dashboard. From here you can:

  • Scan: Let the app automatically discover devices on your subnet.
  • Navigate: Use your arrow keys to select specific devices from the list.
  • Cut/Restore: Follow the on-screen hotkeys to sever a specific device's connection to the router, or restore its access.
  • Nickname: Assign friendly names to MAC addresses so you remember which device belongs to whom.
  • Defend: Toggle the ARP defense mode to prevent others from cutting your connection.

Command-Line Interface (CLI) Options

If you prefer operating directly from the command line without the graphical TUI, NetWarden supports the following arguments:

  • list-devices : Print a list of all detected network interfaces/adapters on your host machine.
  • set-device <device_name> : Explicitly set the specific network adapter to capture traffic on.
  • -h or --help : Show the help menu with available commands.
  • -v or --version : Display the current NetWarden version.

Example CLI Usage:

.\NetWarden.Tui.exe list-devices
.\NetWarden.Tui.exe set-device "Ethernet0"

TODO

  • Ability to defend against spoofing attacks.
  • Limit download and upload speed for devices.
  • Create a GUI for the application.

Contributing

Contributions are welcome! If you have ideas, bug reports, or want to contribute code, just open an issue or send me a pull request.

License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors