Python实现ARP攻击检测软件

本项目使用Python实现了一个简单的ARP攻击检测软件,具备以下功能:

  • 用户登录和注册
  • 局域网主机扫描
  • ARP攻击检测
  • 日志记录

ARP攻击检测原理

ARP攻击主要利用ARP协议的漏洞,通过伪造ARP报文,欺骗局域网内的其他主机,从而达到截获数据包、篡改数据包的目的。

本软件通过分析ARP请求和响应报文,检测以下两种情况来判断是否遭受ARP攻击:

  1. 同一IP地址对应不同的MAC地址
  2. 不同IP地址对应同一个MAC地址

软件功能介绍

  1. 用户登录和注册:
    • 用户注册时,软件会检查用户名是否已存在,如果存在则提示用户已注册;
    • 用户登录时,软件会验证用户名和密码是否正确,如果正确则进入功能页面。
  2. 局域网主机扫描:
    • 软件可以扫描局域网内的活动主机,并将活动主机的IP地址和MAC地址输出到界面和日志文件中。
  3. ARP攻击检测:
    • 软件可以捕获ARP请求和响应报文,并进行分析;
    • 如果发现同一IP地址对应不同的MAC地址或同一MAC对应不同IP地址,则判断为ARP攻击,并将相关信息输出到界面和日志文件中。
  4. 日志记录:
    • 软件会将所有操作和检测结果记录到日志文件中,方便用户查看和分析。

代码实现

以下是用Python实现的ARP攻击检测软件的代码:

import os
import sys
import time
import logging
import tkinter as tk
from tkinter import messagebox
from scapy.all import *

# ... (代码内容较长,省略部分代码)

# 定义记录ARP攻击日志函数
def log_arp_attack(self, ip, mac1, mac2):
    logger.warning(f'ARP攻击检测:IP地址{ip}对应不同的MAC地址{mac1}和{mac2}')
    messagebox.showwarning('ARP攻击检测', f'发现ARP攻击:IP地址{ip}对应不同的MAC地址{mac1}和{mac2}')
    self.arp_detection_text.insert(tk.END, f'ARP攻击检测:IP地址{ip}对应不同的MAC地址{mac1}和{mac2}
')

# ... (代码内容较长,省略部分代码)

使用说明

  1. 安装Python环境,并安装所需的第三方库,例如Scapy、Tkinter等。
  2. 下载代码文件,并运行python arp_attack_detection.py命令启动软件。
  3. 在登录界面输入用户名和密码登录,或点击注册按钮进行注册。
  4. 在功能页面点击相应按钮,即可进行局域网主机扫描、ARP攻击检测等操作。

免责声明

本软件仅供学习和研究使用,请勿用于非法用途。

Python实现ARP攻击检测软件

原文地址: https://www.cveoy.top/t/topic/jpx0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录