Skip to main content

vamp-arp-sentinel

Passive ARP spoofing detector with proof-of-concept ARP cache poisoning lab mode
VampSecure Labs · Security Research Division


Overview

vamp-arp-sentinel is a network security tool combining passive ARP spoofing detection with a controlled proof-of-concept attacker mode for lab environments. In sentinel mode, it captures ARP traffic via Scapy with a BPF arp filter, builds a trusted IP→MAC table during a configurable learning phase, then seals the table and generates CRITICAL alerts whenever a known IP maps to a different MAC address — the definitive signature of ARP cache poisoning and Man-in-the-Middle attacks. In attacker mode, it sends forged ARP reply packets to validate that detection controls are correctly catching the attack in an authorized lab network.

Scope enforcement via CIDR subnet filtering ensures the tool operates only within explicitly authorized network ranges.

Features

  • Two-phase sentinel detection: learning phase builds the canonical IP→MAC table; sealed phase raises CRITICAL alerts on any MAC change for a known IP
  • Real-time Rich terminal display — live-updating split layout with the IP/MAC table (top) and alert panel (bottom), refreshed at 2 Hz
  • Scope enforcement — limit monitoring to authorized subnets via --subnet CIDR or a scope.txt file with one CIDR per line; IPs outside scope are silently ignored
  • Configurable learning window — --learn-time sets how long the sentinel observes before sealing the table (default: 10 seconds)
  • Proof-of-concept attacker — sends ARP is-at broadcast replies claiming a target IP belongs to the tool's MAC; useful for validating that DAI / DHCP Snooping rules trigger correctly
  • Configurable attack interval for the PoC mode via --interval
  • Packet capture via Scapy with BPF filter arp — only ARP reply packets (op=2) are processed, minimizing CPU overhead
  • Unified VSL client report (HTML/PDF) from sentinel sessions via --report-html / --report-pdf
  • Requires root privileges (raw packet capture)

Requirements

pip install -r requirements.txt
Package Version
scapy >= 2.5.0
rich >= 13.7.0

Standard library: argparse, ipaddress, os, sys, threading, time, datetime.

Installation

git clone https://github.com/belky-me/vamp-arp-sentinel.git
cd vamp-arp-sentinel
pip install -r requirements.txt

Requires root or CAP_NET_RAW capability for raw packet capture.

Usage

python vamp_arp_sentinel.py --help

Two subcommands are available: sentinel and attacker.

usage: vamp-arp-sentinel {sentinel,attacker} ...

subcommands:
  sentinel   Detect ARP spoofing on the network (passive + alert)
  attacker   Send forged ARP replies for lab validation (PoC only)

Examples

Monitor interface eth0 with a 15-second learning phase:

sudo python vamp_arp_sentinel.py sentinel -i eth0 --learn-time 15

Restrict monitoring to an authorized subnet only:

sudo python vamp_arp_sentinel.py sentinel -i eth0 --subnet 192.168.10.0/24

Load authorized subnets from a scope file:

sudo python vamp_arp_sentinel.py sentinel -i eth0 --scope scope.txt

Run sentinel and generate an HTML client report at session end:

sudo python vamp_arp_sentinel.py sentinel -i eth0 --learn-time 30 \
    --subnet 10.0.0.0/24 --report-html arp_report.html

PoC: send forged ARP replies in a lab environment (authorized only):

sudo python vamp_arp_sentinel.py attacker 192.168.1.100 192.168.1.1 -i eth0

PoC: faster attack rate (1-second interval between packets):

sudo python vamp_arp_sentinel.py attacker 192.168.1.100 192.168.1.1 -i eth0 --interval 1

Sentinel Alert Structure

Each alert captures:

Field Description
Timestamp HH:MM:SS of detection
IP IPv4 address whose MAC changed
Original MAC MAC address registered during learning phase
New MAC Spoofed MAC address detected after table sealing

Output

Sentinel mode: live dual-panel terminal display. At session end (Ctrl+C), a summary panel shows total entries learned and total alerts raised.

Attacker mode: live table of sent packets with sequence number, payload (FAKE_IP is-at OUR_MAC), and timestamp.

Part of VampSecure Labs Toolkit

This tool is part of the VampSecure Labs Security Toolkit — a collection of research-grade security tools for authorized penetration testing and red/blue team exercises.


© VampSecure Studios — VampSecure Labs Security Research Division
For authorized security testing only.

Release files for vamp-arp-sentinel 2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vamp-arp-sentinel 2.2
File Size Uploaded
vamp_arp_sentinel-2.2.tar.gz 23.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vamp-arp-sentinel 2.2
File Interpreter ABI Platform
vamp_arp_sentinel-2.2-py3-none-any.whl Python 3 none any Details

Total release size: 47.2 kB

Release files / vamp_arp_sentinel-2.2.tar.gz

Download URL vamp_arp_sentinel-2.2.tar.gz
Size 23.1 kB
Tags Source
SHA-256 checksum
How to use checksums
4faddfda08a044ade3edd1820d0103477c461e2cea467f1a1128f02a4101b7ca
BLAKE2b-256 checksum
How to use checksums
4d7beb61b97d4982c45b5b3b5d1ab5571bbdf5dc98c424a9033e0656d6fe80ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / vamp_arp_sentinel-2.2-py3-none-any.whl

Download URL vamp_arp_sentinel-2.2-py3-none-any.whl
Size 24.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
21927858082fd67ab93a10378579971a70e2a3efaee0f2d0b037c2618167e8d4
BLAKE2b-256 checksum
How to use checksums
01e9ec5422928a7e37d1fece7074e4c3a4212c728b914cfa7dce92bf5f33eb7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

2.2 This release

2 release files

2.1

1 release file

2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page