A powerful network tool built with C# and .NET 10 that allows you to scan your local network, discover devices, and block/unblock internet access for specific devices using ARP spoofing.
This tool is for educational and authorized testing purposes only. Using this tool on networks you don't own or without explicit permission is illegal. The author is not responsible for any misuse.
- Network Scanning: Discover all devices on your local network using ARP requests
- Device Listing: View all discovered devices with IP, MAC address, and hostname
- Block Devices: Block internet access for specific devices using ARP spoofing
- Unblock Devices: Restore internet access by sending correct ARP packets
- Status Monitoring: View currently blocked devices and spoofing statistics
- Logging: Track all operations with timestamped logs
- Beautiful CLI: Interactive console UI with Spectre.Console
- Windows 10/11
- .NET 10 SDK
- Npcap (install with WinPcap compatibility mode)
- Administrator privileges
-
Install Npcap
- During installation, check "Install Npcap in WinPcap API-compatible Mode"
-
Clone or download this repository
-
Build the project:
cd NetKick dotnet build -c Release -
Run as Administrator:
dotnet run
- Launch the application as Administrator
- Select your network interface from the list
- Wait for the network scan to complete
- Use the menu to:
- View all discovered devices
- Block a device (select from available devices)
- Unblock a blocked device
- Rescan the network
- View logs
ARP (Address Resolution Protocol) is used to map IP addresses to MAC addresses on a local network. This tool exploits the stateless nature of ARP:
-
Block: Sends fake ARP replies to the target device, claiming to be the gateway. The target then sends all internet-bound traffic to our machine, which is dropped (not forwarded).
-
Unblock: Sends legitimate ARP replies with the correct gateway MAC address to restore normal network operation.
NetKick/
├── NetKick/
│ ├── Models/
│ │ ├── NetworkDevice.cs # Represents a discovered device
│ │ └── NetworkInterfaceInfo.cs # Network interface configuration
│ ├── Services/
│ │ ├── ArpService.cs # ARP packet handling and scanning
│ │ ├── BlockingService.cs # Device blocking/unblocking logic
│ │ └── NetworkService.cs # Interface discovery
│ ├── Program.cs # Main entry point and UI
│ ├── app.manifest # Admin privileges manifest
│ └── NetKick.csproj # Project file
├── .gitignore
├── LICENSE
└── README.md
| Package | Version | Description |
|---|---|---|
| SharpPcap | 6.3.1 | Packet capture library |
| PacketDotNet | 1.4.8 | Packet construction/parsing |
| Spectre.Console | 0.54.0 | Beautiful console UI |
# Debug build
dotnet build
# Release build
dotnet build -c Release
# Publish self-contained
dotnet publish -c Release -r win-x64 --self-contained- Download and install Npcap from https://npcap.com
- Make sure to check "Install Npcap in WinPcap API-compatible Mode"
- Make sure you have an active network connection
- The interface must have an IPv4 address and gateway configured
- Ensure your default gateway is reachable
- Try manually pinging the gateway first
- Some devices may have static ARP entries
- The target device might be using a VPN
- Try increasing the spoofing frequency
MIT License - Use at your own risk.
Contributions are welcome! Please ensure any network tools are used responsibly and ethically.