Cross-platform network bandwidth diagnostics, device discovery, and ARP traffic management for local networks. The modern successor to SelfishNet, built with .NET 8 and Avalonia UI.
Warning
Official Repository and Security Notice: This repository (https://github.com/nov0caina/NetControl) is the only official source for the modern NetControl codebase. Third-party domains (such as selfishnet.org and unauthorized mirrors) are not affiliated with this project, distribute unauthorized versions, and may pose malware or security risks. Do not download or execute untrusted binaries from third-party websites.
Important
Ethical and Authorized Usage: NetControl is designed strictly for authorized network diagnostics, administrative troubleshooting, and educational research in controlled laboratory environments. Executing ARP cache redirection or packet interception on networks without explicit, documented permission from the network owner is illegal and unethical.
NetControl has been redesigned from the ground up to remove legacy Windows-only dependencies (.NET Framework 3.5, WinForms, WinPcap, and user32.dll P/Invoke calls) in favor of a modern, multi-platform runtime.
| Component | Legacy SelfishNet | NetControl |
|---|---|---|
| Runtime Framework | .NET Framework 3.5 (Windows only) | .NET 8.0 (LTS) |
| User Interface | Windows Forms (WinForms) | Avalonia UI (Cross-platform XAML) |
| Packet Capture Engine | PcapNet / WinPcap | SharpPcap (over native libpcap / Npcap) |
| Platform Interoperability | Native Windows P/Invoke (user32.dll, gdi32.dll) |
Managed Cross-Platform APIs |
| Operating Systems | Windows XP / 7 / 8 / 10 | Linux (x64), Windows (x64), macOS (arm64 & x64) |
| Packaging | Manual installer | Single-file self-contained binaries |
Standalone release archives do not require the .NET SDK or runtime to be pre-installed. All runtime dependencies and native graphics libraries are bundled directly into the distribution.
- Package:
NetControl-linux-x64.tar.gz - Prerequisites:
libpcapruntime (installed by default on most distributions; on Ubuntu/Debian:sudo apt install libpcap0.8orsudo apt install libpcap-dev).
- Execution:
- Launch with graphical superuser elevation:
or via terminal:
pkexec ./NetControl
sudo -E ./NetControl
- Running without sudo (Linux Capabilities): You can assign network capabilities directly to the binary to run as an unprivileged user:
sudo setcap cap_net_raw,cap_net_admin=eip ./NetControl ./NetControl
- Launch with graphical superuser elevation:
- Desktop Application Launcher (Optional):
The Linux release archive includes
netcontrol.desktopandnetcontrol.png. To register the application in your desktop environment (GNOME, KDE, XFCE):mkdir -p ~/.local/share/applications ~/.local/share/icons/hicolor/256x256/apps cp netcontrol.desktop ~/.local/share/applications/ cp netcontrol.png ~/.local/share/icons/hicolor/256x256/apps/netcontrol.png update-desktop-database ~/.local/share/applications/
- IP Packet Forwarding (Kernel): Enable packet routing so traffic passes uninterrupted through your machine during diagnostics:
sudo sysctl -w net.ipv4.ip_forward=1
- Package:
NetControl-windows-x64.zip - Prerequisites:
- Npcap Driver: Download and install Npcap from npcap.com.
- CRITICAL: During the Npcap installation wizard, you must check the option:
"Install Npcap in WinPcap API-compatible Mode". This ensures
wpcap.dllandpacket.dllare accessible to SharpPcap.
- Execution:
- Extract
NetControl-windows-x64.zip. - Right-click on
NetControl.exe. - Select "Run as administrator". Elevated User Account Control (UAC) permissions are mandatory on Windows to open raw network adapters.
- Extract
- Packages:
- Apple Silicon (M1, M2, M3, M4):
NetControl-macos-arm64.tar.gz - Intel x86_64:
NetControl-macos-x64.tar.gz
- Apple Silicon (M1, M2, M3, M4):
- Prerequisites:
- macOS 11.0 (Big Sur) or later.
- Native Berkeley Packet Filter (BPF) capture requires root access.
- Execution:
- Extract the archive:
tar -xzf NetControl-macos-arm64.tar.gz cd dist/osx-arm64 - If macOS Gatekeeper marks the unnotarized binary as quarantined:
xattr -d com.apple.quarantine ./NetControl
- Grant executable permissions:
chmod +x ./NetControl
- Launch with root privileges:
sudo ./NetControl
- Extract the archive:
- IP Packet Forwarding:
sudo sysctl -w net.inet.ip.forwarding=1
Verify the integrity of downloaded distribution packages using SHA-256:
- Linux / macOS:
sha256sum -c SHA256SUMS
- Windows (PowerShell):
Get-FileHash .\NetControl-windows-x64.zip -Algorithm SHA256
- .NET 8.0 SDK
- Platform network drivers (
libpcap-devon Linux, Npcap on Windows)
git clone https://github.com/nov0caina/NetControl.git
cd NetControl# Build entire solution (produces NetControl binary)
dotnet build NetControl.sln
# Run application locally
dotnet run --project NetControl/NetControl.csprojThe repository includes an automated test suite covering concurrency, rate calculation, OUI lookups, heuristic classification, and boundary conditions:
dotnet test NetControl.slnTo compile single-file, self-contained binaries for target platforms:
# Linux x64 (produces dist/linux-x64/NetControl)
dotnet publish NetControl/NetControl.csproj -c Release -r linux-x64 --self-contained -p:PublishSingleFile=true -p:EnableCompressionInSingleFile=true -o dist/linux-x64
# Windows x64 (produces dist/win-x64/NetControl.exe)
dotnet publish NetControl/NetControl.csproj -c Release -r win-x64 --self-contained -p:PublishSingleFile=true -p:EnableCompressionInSingleFile=true -o dist/win-x64
# macOS Apple Silicon (produces dist/osx-arm64/NetControl)
dotnet publish NetControl/NetControl.csproj -c Release -r osx-arm64 --self-contained -p:PublishSingleFile=true -p:EnableCompressionInSingleFile=true -o dist/osx-arm64
# macOS Intel (produces dist/osx-x64/NetControl)
dotnet publish NetControl/NetControl.csproj -c Release -r osx-x64 --self-contained -p:PublishSingleFile=true -p:EnableCompressionInSingleFile=true -o dist/osx-x64This project is licensed under the MIT License. See the LICENSE file for details.
Herramienta multiplataforma para diagnostico de ancho de banda, descubrimiento de dispositivos y gestion de trafico ARP en redes locales. El sucesor moderno de SelfishNet, desarrollada con .NET 8 y Avalonia UI.
Warning
Aviso Oficial de Seguridad: Este repositorio (https://github.com/nov0caina/NetControl) es la unica fuente oficial para el codigo moderno de NetControl. Los dominios de terceros (como selfishnet.org y otros sitios no autorizados) no tienen relacion alguna con este proyecto, redistribuyen versiones no autorizadas y pueden contener malware o riesgos de seguridad. No descargues ni ejecutes binarios procedentes de sitios no verificados.
Important
Uso Etico y Responsable: NetControl esta disenado estrictamente para tareas de diagnostico, administracion de red e investigacion academica en entornos de laboratorio controlados. La manipulacion de tablas ARP o la interceptacion de paquetes en redes sin el consentimiento previo y formal del propietario es ilegal y no etica.
NetControl fue redisenado completamente para eliminar las dependencias heredadas exclusivas de Windows (.NET Framework 3.5, WinForms, WinPcap y llamadas P/Invoke a user32.dll) reemplazandolas por una arquitectura moderna y verdaderamente multiplataforma.
| Componente | SelfishNet Original (Legacy) | NetControl |
|---|---|---|
| Framework Base | .NET Framework 3.5 (Solo Windows) | .NET 8.0 (LTS) |
| Interfaz de Usuario | Windows Forms (WinForms) | Avalonia UI (XAML Multiplataforma) |
| Motor de Captura | PcapNet / WinPcap | SharpPcap (sobre libpcap / Npcap) |
| Interoperabilidad | P/Invoke nativo (user32.dll, gdi32.dll) |
Managed Multiplataforma |
| Sistemas Soportados | Windows XP / 7 / 8 / 10 | Linux (x64), Windows (x64), macOS (arm64 y x64) |
| Distribucion | Instalador tradicional | Binarios autocontenidos en un unico archivo |
Los paquetes de distribucion precompilados no requieren tener instalado el SDK ni el runtime de .NET. Incluyen todas las dependencias y librerias graficas necesarias.
- Paquete:
NetControl-linux-x64.tar.gz - Prerrequisitos:
- Libreria
libpcap(instalada por defecto en la gran mayoria de distribuciones; en Ubuntu/Debian:sudo apt install libpcap0.8osudo apt install libpcap-dev).
- Libreria
- Ejecucion:
- Ejecutar con elevacion grafica:
o desde la terminal:
pkexec ./NetControl
sudo -E ./NetControl
- Ejecucion sin sudo (Capacidades de Linux): Puedes asignar las capacidades de red al binario para ejecutarlo como usuario estandar:
sudo setcap cap_net_raw,cap_net_admin=eip ./NetControl ./NetControl
- Ejecutar con elevacion grafica:
- Lanzador de Escritorio (Opcional):
El archivo descargable incluye
netcontrol.desktopynetcontrol.png. Para integrarlo en el menu de aplicaciones de tu escritorio (GNOME, KDE, XFCE):mkdir -p ~/.local/share/applications ~/.local/share/icons/hicolor/256x256/apps cp netcontrol.desktop ~/.local/share/applications/ cp netcontrol.png ~/.local/share/icons/hicolor/256x256/apps/netcontrol.png update-desktop-database ~/.local/share/applications/
- Reenvio de Paquetes IP: Habilita el reenvio en el kernel para permitir el enrutamiento continuo durante el diagnostico:
sudo sysctl -w net.ipv4.ip_forward=1
- Paquete:
NetControl-windows-x64.zip - Prerrequisitos:
- Driver Npcap: Descargar e instalar Npcap desde npcap.com.
- IMPORTANTE: Durante la instalacion, debes marcar obligatoriamente la casilla:
"Install Npcap in WinPcap API-compatible Mode". Esto provee los controladores
wpcap.dllypacket.dllnecesarios para SharpPcap.
- Ejecucion:
- Descomprime
NetControl-windows-x64.zip. - Haz clic derecho sobre
NetControl.exe. - Selecciona "Ejecutar como administrador" (es imprescindible contar con permisos elevados UAC para acceder a las interfaces de red en Windows).
- Descomprime
- Paquetes:
- Apple Silicon (M1, M2, M3, M4):
NetControl-macos-arm64.tar.gz - Intel x86_64:
NetControl-macos-x64.tar.gz
- Apple Silicon (M1, M2, M3, M4):
- Prerrequisitos:
- macOS 11.0 (Big Sur) o superior.
- Permisos de superusuario para acceso a los dispositivos de captura BPF (Berkeley Packet Filter).
- Ejecucion:
- Descomprime el paquete:
tar -xzf NetControl-macos-arm64.tar.gz cd dist/osx-arm64 - Si macOS Gatekeeper bloquea el binario por no estar notarizado:
xattr -d com.apple.quarantine ./NetControl
- Asegura permisos de ejecucion:
chmod +x ./NetControl
- Ejecuta con permisos de superusuario:
sudo ./NetControl
- Descomprime el paquete:
- Reenvio de Paquetes IP:
sudo sysctl -w net.inet.ip.forwarding=1
Verifica la autenticidad e integridad de los paquetes descargados con SHA-256:
- Linux / macOS:
sha256sum -c SHA256SUMS
- Windows (PowerShell):
Get-FileHash .\NetControl-windows-x64.zip -Algorithm SHA256
- .NET 8.0 SDK
- Librerias de captura del sistema (
libpcap-deven Linux, Npcap en Windows)
git clone https://github.com/nov0caina/NetControl.git
cd NetControl# Compilar la solucion completa (genera el binario NetControl)
dotnet build NetControl.sln
# Ejecutar el proyecto en desarrollo
dotnet run --project NetControl/NetControl.csprojEl repositorio contiene pruebas automatizadas para validar acumuladores concurrentes, calculo de tasas, resolucion OUI y clasificaciones heurísticas:
dotnet test NetControl.slnEste proyecto esta bajo la Licencia MIT. Consulta el archivo LICENSE para mas informacion.