Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
arp-validator — 检测ARP欺骗攻击的安全工具 | Kitploit
工具/GitHubGitHub/rnehra01/arp-validator
防御工具数据包嗅探与分析网络安全入侵检测
GitHubrnehra01/arp-validator

arp-validator

检测ARP欺骗攻击的安全工具

查看仓库
541758年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

arp-validator

用于检测 ARP 投毒攻击的安全工具

功能特点

  • 采用比被动方式更快速的方法检测 ARP 投毒攻击
  • 不仅能检测 ARP 投毒的存在,还能验证有效的 IP-MAC 映射(当局域网主机使用非自定义网络协议栈时)
  • 存储已验证的主机信息以提升速度
  • 作为守护进程运行,不干扰正常流量
  • 将日志记录到任意外部文件

架构

root@kitploit:~
  +-------------+                +---------------+                  +------------+    
  |  ARP 数据包  |    ARP 回复   | MAC-ARP 头部 |    一致性     |   欺骗    |
  |   嗅探器    |  ------------> |  一致性检查器 |  --------------> |  检测器   |
  |             |     数据包     |               |     ARP 数据包  |            |
  +-------------+                +---------------+                  +------------+
                                        |                                 /
                                   不一致                         被欺骗的
                                   ARP 数据包                     ARP 数据包
                                        |                         /
                                        V                         /
                                +--------------+                /
                                |              |              /
                                |   通知器     |  <----------
                                |              |
                                +--------------+

  1. ARP 数据包嗅探器

    它嗅探所有 ARP 数据包并丢弃

    • ARP 请求数据包
    • 由使用该工具的本机发送的 ARP 回复数据包(假定运行工具的主机本身没有进行 ARP 投毒 😜)
  2. MAC-ARP 头部一致性检查器

    它匹配

    • MAC 头部中的源 MAC 地址与 ARP 头部中的源 MAC 地址
    • MAC 头部中的目标 MAC 地址与 ARP 头部中的目标 MAC 地址

    如果以上任意一项不匹配,则会发出通知。

  3. 欺骗检测器

    它基于 TCP/IP 协议栈的基本特性工作。

    root@kitploit:~
    主机的网络接口卡将接受发送到其 MAC 地址、广播地址和已订阅多播地址的数据包,并将这些数据包传递给 IP 层。
    IP 层只接受目的地为其 IP 地址的 IP 数据包,其余的数据包将被静默丢弃。
    如果接受的数据包是 TCP 数据包,则将其传递给 TCP 层。如果收到一个 TCP SYN 数据包,则主机将通过发送
    TCP SYN/ACK 数据包(如果目标端口开放)或 TCP RST 数据包(如果端口关闭)来响应。
    

    因此可能存在两种类型的数据包:

    • 正确的 MAC - 正确的 IP
    • 正确的 MAC - 错误的 IP(被欺骗的数据包)

    对于每一个一致的 ARP 数据包,我们将构造一个 TCP SYN 数据包,其目标 MAC 和 IP 地址与 ARP 数据包所宣告的一致,并带上一个随机的 TCP 目标端口,源 MAC 和 IP 地址则为运行工具的主机的地址。

    如果 在时间限制内收到了 RST(端口关闭)或 ACK(端口监听),则该主机(发送 ARP 数据包的主机)是合法的。

    否则 在时间限制内未收到任何响应,则该主机不合法,并会发出通知。

  4. 通知器

    当检测到 ARP 欺骗时,它提供桌面通知。

    截图

安装

npm

root@kitploit:~
[sudo] npm install arp-validator -g

源码安装

root@kitploit:~
git clone https://github.com/rnehra01/arp-validator.git
cd arp-validator
npm install
使用 bin/ 目录下的二进制文件来运行

使用方法

root@kitploit:~
[sudo] arp-validator [操作] [选项]

操作选项:

	start		以守护进程方式启动 arp-validator

		选项:
			--interface, -i
				工具工作的网络接口
				arp-validator start -i eth0 或 --interface=eth0

			--hostdb, -d
				将有效主机信息存储到外部文件(绝对路径)
				arp-validator start -d host_file 或 --hostdb=host_file

			--log, -l
				将日志记录到外部文件(绝对路径)
				arp-validator start -l log_file 或 --log=log_file


	stop		停止 arp-validator 守护进程


	status		查看 arp-validator 守护进程的状态


全局选项:

	--help, -h
		显示本脚本的帮助信息
		'arp-validator -h' 或 'arp-validator --help'

	--version
		显示版本信息
		arp-validator --version

依赖

  • libpcap-dev:网络流量捕获库
  • node-pcap/node_pcap
  • stephenwvickers/node-raw-socket
  • indutny/node-ip
  • scravy/node-macaddress
  • codenothing/argv
  • niegowski/node-daemonize2
  • mikaelbr/node-notifier

问题

  • 当前假定主机使用非自定义的网络协议栈,因此恶意主机不会响应 TCP SYN 数据包。但如果恶意主机使用自定义网络协议栈,它可以直接从第 2 层捕获 TCP SYN 数据包,并用自己构造的 TCP RST 或 ACK 响应,这样我们的工具会将恶意主机验证为合法。
  • 如果主机使用了仅允许特定端口 TCP 数据包的防火墙,那么即使合法主机也不会响应 TCP SYN 数据包,工具将给出一个关于 ARP 投毒检测的误报。

参考资料

Vivek Ramachandran 和 Sukumar Nandi,“检测 ARP 欺骗:一种主动技术”

下载工具