Skip to content
Skillpedia
Agents35k · #5631

detecting-arp-poisoning-in-network-traffic

Helps your agent identify identity spoofing attacks on the local network. It detects when a device pretends to be another.

What it does

This tool helps find 'ARP poisoning' attacks on your network. It monitors traffic to identify if someone is trying to trick other computers by pretending to be them, which can be used to steal information.

When to use it

  • ✓When you suspect someone is intercepting your network traffic.
  • ✓When investigating suspicious session hijacking activities.
  • ✓To check if your network is protected against this type of attack.

Example of what to ask your AI

“Check for ARP poisoning attacks on my local network.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/detecting-arp-poisoning-in-network-traffic/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/detecting-arp-poisoning-in-network-traffic/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool uses programs like ARPWatch and Wireshark to observe network messages. It looks for strange patterns, like a computer changing its identity or sending many messages at once, which indicate an attack attempt.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill detecting-arp-poisoning-in-network-traffic

Or download just the file:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/detecting-arp-poisoning-in-network-traffic/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Detecting ARP Poisoning in Network Traffic

Overview

ARP poisoning (ARP spoofing) is a Layer 2 attack where an adversary sends falsified ARP messages to associate their MAC address with the IP address of a legitimate host, enabling man-in-the-middle (MitM) interception, session hijacking, or denial of service. Since ARP has no built-in authentication mechanism, any device on a broadcast domain can forge ARP replies. Detection requires monitoring ARP traffic for anomalies such as gratuitous ARP floods, IP-to-MAC mapping changes, and duplicate IP addresses. This skill covers deploying multiple detection layers including ARPWatch, Dynamic ARP Inspection (DAI), Wireshark-based analysis, and custom Python monitoring tools.

When to Use

  • When investigating security incidents that require detecting arp poisoning in network traffic
  • When building detection rules or threat hunting queries for this domain
  • When SOC analysts need structured procedures for this analysis type
  • When validating security monitoring coverage for related attack techniques

Prerequisites

  • Access to the target network segment (broadcast domain)
  • Linux host for ARPWatch and custom monitoring tools
  • Managed switches supporting Dynamic ARP Inspection (Cisco Catalyst, Aruba, Juniper EX)
  • Wireshark or tcpdump for packet capture
  • DHCP snooping configured (prerequisite for DAI)
  • Network monitoring infrastructure (SIEM, syslog server)

Core Concepts

ARP Protocol Fundamentals

ARP maps IP addresses to MAC addresses on a local network segment. The protocol operates statelessly with no authentication:

Normal ARP Process:
1. Host A broadcasts: "Who has 10.0.1.1? Tell 10.0.1.100"
2. Router replies: "10.0.1.1 is at AA:BB:CC:DD:EE:01"
3. Host A caches the mapping

ARP Poisoning Attack:
1. Attacker sends unsolicited ARP reply to Host A:
   "10.0.1.1 is at EV:IL:MA:CA:DD:RR" (attacker's MAC)
2. Host A updates cache, sends traffic to attacker
3. Attacker forwards to real gateway (MitM position)

Attack Indicators

Indicator Description Severity
MAC flip-flopping Same IP mapped to different MACs rapidly High
Gratuitous ARP flood Unsolicited ARP replies targeting multiple hosts High
Duplicate IP address Two different MACs claiming same IP Critical
Unusual ARP volume Spike in ARP packets per second Medium
ARP from non-DHCP source Static IP claims from unknown devices Medium
Gateway MAC change Default gateway MAC address changed Critical

Workflow

Step 1: Deploy ARPWatch for Continuous Monitoring

# Install ARPWatch
sudo apt-get install -y arpwatch

# Configure ARPWatch
sudo vi /etc/default/arpwatch
# INTERFACES="eth0"
# ARGS="-N -p -i eth0 -f /var/lib/arpwatch/arp.dat"

# Start monitoring
sudo systemctl enable arpwatch
sudo systemctl start arpwatch

# View current ARP database
cat /var/lib/arpwatch/arp.dat

# Monitor logs for changes
tail -f /var/log/syslog | grep arpwatch

ARPWatch alert types:

  • new station - Previously unseen MAC address
  • changed ethernet address - IP mapped to different MAC (potential poisoning)
  • flip flop - MAC alternating between two addresses (active attack)
  • reused old ethernet address - Previously seen mapping returned

Step 2: Configure Dynamic ARP Inspection (DAI) on Switches

Cisco Catalyst configuration:

! Enable DHCP snooping (prerequisite for DAI)
ip dhcp snooping
ip dhcp snooping vlan 10,20,30

! Configure trusted ports (uplinks, DHCP servers)
interface GigabitEthernet1/0/1
 description Uplink to Distribution
 ip dhcp snooping trust

interface GigabitEthernet1/0/48
 description DHCP Server
 ip dhcp snooping trust

! Enable Dynamic ARP Inspection
ip arp inspection vlan 10,20,30

! Configure trusted ports for DAI
interface GigabitEthernet1/0/1
 ip arp inspection trust

! Set rate limits to prevent ARP flood DoS
interface range GigabitEthernet1/0/2-47
 ip arp inspection limit rate 15

! Enable additional validation checks
ip arp inspection validate src-mac dst-mac ip

! Configure ARP ACL for static IP devices (servers, printers)
arp access-list STATIC-ARP-ENTRIES
 permit ip host 10.0.10.100 mac host 0011.2233.4455
 permit ip host 10.0.10.101 mac host 0011.2233.4456

ip arp inspection filter STATIC-ARP-ENTRIES vlan 10

! Verify DAI status
show ip arp inspection vlan 10
show ip arp inspection statistics
show ip dhcp snooping binding

…

FAQ

What is ARP poisoning?

It's an attack where an attacker sends fake messages to associate their network address (MAC) with a legitimate computer's IP address. This allows the attacker to see or modify traffic that would normally pass between computers.

What are the signs of an attack?

Signs include the same IP address being associated with different MAC addresses rapidly, many unexpected ARP messages, or two computers claiming to have the same IP address.

Do I need special equipment?

You need access to the network and ideally use network switches that support 'Dynamic ARP Inspection' (DAI). A Linux computer is used to run some monitoring tools.

Details

Original description by the author

Detect Layer 2 ARP poisoning/spoofing by deploying ARPWatch, Dynamic ARP Inspection (DAI), Wireshark packet analysis, and custom Python monitoring scripts that flag gratuitous ARP floods, IP-to-MAC mapping changes, and duplicate IP addresses. Use when investigating suspected man-in-the-middle interception or session hijacking on a local network segment, or when building layer-2 anomaly detection f

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularity

GitHub stars
35k
Ranking position
#5631
License
Apache-2.0
Updated
8/31/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills