当前位置: 首页 > news >正文

【用 Scapy 实现一个简单的局域网 MAC 地址扫描工具】

🛠️ 用 Scapy 实现一个简单的局域网 MAC 地址扫描工具

在进行内网渗透测试或设备管理时,我们经常需要快速发现局域网中活跃的设备。常见的做法是使用 ARP 扫描,但一些专用扫描工具(如 nmap)可能会被杀毒软件拦截,还有一些扫不出来

为了绕过检测,可以使用 Python 的 scapy 库自己实现一个轻量级的 ARP 扫描器。它不会触发大多数安全软件的警报。

✅ 库的安装

pip install scapy

✅ 功能说明

发送 ARP 请求扫描整个子网(如 10.26.167.0/24)
接收响应并提取 IP 和 MAC 地址
可根据已知 MAC 地址映射识别设备身份(如 robot12123)
🧪 示例代码

from scapy.all import ARP, Ether, srpdef get_mac_map():temp = '''90:de:81:73:cf:b1 -- rob23'''mac_map = {}for item in temp.split('\n'):item = item.strip().replace(' ', '')if not item:continuek, v = item.split('--')mac_map[k] = vreturn mac_mapmac_map = get_mac_map()target_ip = "10.26.167.0/24"
arp = ARP(pdst=target_ip)
ether = Ether(dst="ff:ff:ff:ff:ff:ff")
packet = ether / arpresult = srp(packet, timeout=2, verbose=0)[0]clients = []
for sent, received in result:clients.append({'ip': received.psrc, 'mac': received.hwsrc})print("Available devices in the network:")
for client in clients:print(f"{client['ip']} -> {client['mac']}")ip, mac = client['ip'], client['mac']if mac in mac_map:print(f"[Known Device] {mac_map[mac]} - {ip} ({mac})")

🔍 小结

这个脚本小巧灵活,可以轻松集成到其他网络探测项目中。通过自定义 get_mac_map() 函数,你可以维护一个内部设备的 MAC 地址数据库,用于自动识别特定设备。

http://www.dtcms.com/a/268523.html

相关文章:

  • 20250707-2-第二章:Kubernetes 核心概念-K8s集群架构,生产部署K8s两_笔记
  • 环路滤波:精密ADC时钟系统的相位噪声净化器
  • 源码推送到gitee码云仓库
  • stm32--SPI原理应用W25Q64(二)
  • 国产时序数据库 TDengine:Docker 部署、协议端口及 DBeaver 连接全攻略
  • JVM系列五:字节码与执行引擎深度解析
  • uniapp运行项目到ios基座
  • WebRTC 双向视频通话
  • LeetCode 面试题 02.02. 返回倒数第 k 个节点
  • Java 大视界 -- Java 大数据在智能安防视频监控系统中的视频质量评估与智能修复(337)
  • Kettle + 大数据实战:从数据采集到分布式处理的完整流程指南
  • Kafka生产者的初始化
  • Angular V20 新特性
  • QML TextEdit组件
  • 【BFS】 P10864 [HBCPC2024] Genshin Impact Startup Forbidden II|普及+
  • 使用3.20.3版本的protoc编译proto2和proto3
  • 【HarmonyOS Next之旅】DevEco Studio使用指南(四十一) -> 获取自定义编译参数
  • 百度开源文心 4.5 系列开源大模型 GitCode 本地化部署,硅基流动:文心 vs. DeepSeek vs. Qwen 3.0 深度测评
  • 【apply from: “$flutterRoot/packages/flutter_tools/gradle/flutter.gradle“作用】
  • 云计算领域“XaaS”是什么?
  • 使用CocoaPods集成第三方SDK - 从零开始完整指南
  • 开源 C# .net mvc 开发(七)动态图片、动态表格和json数据生成
  • H3初识——入门介绍之路由、路由元数据
  • Maven 依赖管理中的 <optional> 与 <scope>标签
  • 管道机器人手臂机械结构设计cad【8张】+三维图+设计说明书+绛重
  • PDF 上传并保存到 MinIO 数据库
  • 基于Python实现LSTM对股票走势的预测
  • 机器学习知识
  • 医疗AI底层能力全链条工程方案的深度分析:从技术突破到临床应用
  • Mask机制​​中的​​Padding Mask​​ 和 ​​Sentence Mask