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

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

?? cardif_linux.c

?? 可以用作很多客戶端的XSUPPLICANT的源代碼。比如用在802.1x或者無線AP上
?? C
?? 第 1 頁 / 共 3 頁
字號:
  // Specify the interface name we are asking about.  strncpy(iwr.ifr_name, thisint->intName, sizeof(iwr.ifr_name));    if (ioctl(thisint->sockInt, SIOCGIWAP, &iwr) < 0) return XENOWIRELESS;  memcpy(bssid_dest, iwr.u.ap_addr.sa_data, 6);  return XENONE;}/****************************************** * * Set the flag in the state machine that indicates if this interface is up * or down.  If there isn't an interface, we should return an error. * ******************************************/int get_if_state(struct interface_data *thisint){  int retVal;  struct ifreq ifr;  strncpy(ifr.ifr_name, thisint->intName, sizeof(ifr.ifr_name));  retVal = ioctl(thisint->sockInt, SIOCGIFFLAGS, &ifr);  if (retVal < 0)    {      debug_printf(DEBUG_NORMAL, "Interface %s not found!\n", thisint->intName);      return FALSE;    }    if ((ifr.ifr_flags & IFF_UP) == IFF_UP)    {      return TRUE;    } else {      thisint->wasDown = TRUE;      return FALSE;    }  return XENONE;}/****************************************** * * Send a frame out of the network card interface.  If there isn't an  * interface, we should return an error.  We should return a different error * if we have a problem sending the frame. * ******************************************/int sendframe(struct interface_data *thisint, char *sendframe, int sendsize){  char nomac[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00};  int retval;  if (thisint == NULL) return XEMALLOC;  if (sendframe == NULL)    {      debug_printf(DEBUG_NORMAL, "Cannot send NULL frame!\n");      return XENOFRAMES;    }  // The frame we are handed in shouldn't have a src/dest, so put it in.  memcpy(&sendframe[0], &thisint->dest_mac[0], 6);  memcpy(&sendframe[6], &thisint->source_mac[0], 6);  if (thisint->userdata != NULL)    {      if (memcmp(nomac, (char *)&thisint->userdata->dest_mac[0], 6) != 0)	{	  debug_printf(DEBUG_INT, "Static MAC address defined!  Using it!\n");	  memcpy(&sendframe[0], &thisint->userdata->dest_mac[0], 6);	}    }  debug_printf(DEBUG_EVERYTHING, "Frame to be sent : \n");  debug_hex_dump(DEBUG_EVERYTHING, sendframe, sendsize);  retval = sendto(thisint->sockInt, sendframe, sendsize, 0,		  (struct sockaddr *)&thisint->sll, sizeof(thisint->sll));  if (retval <= 0)    {      debug_printf(DEBUG_NORMAL, "Couldn't send frame! (%s)\n", strerror(errno));    }  return retval;}/****************************************** *  * Get a frame from the network.  Since we are in promisc. mode, we will get * frames that aren't intended for us.  So, check the frame, determine if it * is something we care about, and act accordingly. * ******************************************/int getframe(struct interface_data *thisint, char *resultframe, int *resultsize){  int newsize=0;  char dot1x_default_dest[6] = {0x01, 0x80, 0xc2, 0x00, 0x00, 0x03};  errno = 0;  *resultsize = 1550;  newsize = recvfrom(thisint->sockInt, resultframe, *resultsize, 0, 0, 0);  if (newsize <= 0)    {      debug_printf(DEBUG_EXCESSIVE, "Couldn't get frame.  (Maybe there weren't any!)\n");      switch (errno)	{	case EBADF:	  debug_printf(DEBUG_EXCESSIVE, "Invalid descriptor!\n");	  break;	case ECONNREFUSED:	  debug_printf(DEBUG_EXCESSIVE, "Connection refused!\n");	  break;	case ENOTCONN:	  debug_printf(DEBUG_EXCESSIVE, "Not connected!\n");	  break;	case ENOTSOCK:	  debug_printf(DEBUG_EXCESSIVE, "Not a socket!\n");	  break;	case EAGAIN:	  debug_printf(DEBUG_EXCESSIVE, "Socket would block!\n");	  break;	case EINTR:	  debug_printf(DEBUG_EXCESSIVE, "Recieve Interrupted!\n");	  break;	case EFAULT:	  debug_printf(DEBUG_EXCESSIVE, "Invalid recieve buffer!\n");	  break;	case EINVAL:	  debug_printf(DEBUG_EXCESSIVE, "Invalid argument!\n");	  break;	case ENOMEM:	  debug_printf(DEBUG_EXCESSIVE, "Couldn't allocate memory!\n");	  break;	default:	  debug_printf(DEBUG_EVERYTHING, "Unknown error (%d)\n",newsize);	  break;	}      return XENOFRAMES;    } else {      debug_printf(DEBUG_EVERYTHING, "Got Frame : \n");      debug_hex_dump(DEBUG_EVERYTHING, resultframe, newsize);    }  // Make sure that the frame we got is for us..  if ((memcmp(&thisint->source_mac[0], &resultframe[0], 6) == 0) ||      ((memcmp(&resultframe[0], &dot1x_default_dest[0], 6) == 0) &&       (memcmp(&resultframe[6], &thisint->source_mac[0], 6) != 0)))    {      *resultsize = newsize;      return newsize;    }  // Otherwise it isn't for us.   debug_printf(DEBUG_INT, "Got a frame, not for us.\n");  return XENOFRAMES;}/****************************************** *  * Return true if there is a frame in the queue to be processed. * ******************************************/int frameavail(struct interface_data *thisint){  int newsize=0;  char resultframe[1520];  newsize = recvfrom(thisint->sockInt, &resultframe, 1520, MSG_PEEK, 0, 0);  if (newsize > 0) return TRUE;  return FALSE;}/****************************************** * * Validate an interface, based on if it has a MAC address. * ******************************************/int cardif_validate(char *interface){  int sd, res;  struct ifreq ifr;  strncpy(ifr.ifr_name, interface, sizeof(interface)+1);  sd = socket(PF_PACKET, SOCK_RAW, 0);  if (sd < 0)    return FALSE;  res = ioctl(sd, SIOCGIFHWADDR, &ifr);  close(sd);  if (res < 0)    {      debug_printf(DEBUG_NORMAL, "Couldn't get information for interface %s!\n",interface);    } else {      switch (ifr.ifr_hwaddr.sa_family)	{	case ARPHRD_ETHER:	case ARPHRD_IEEE80211:	  return TRUE;	}    }  return FALSE;}/****************************************** * * Get the name of an interface, based on an index value. * ******************************************/#define PROC_DEV_FILE  "/proc/net/dev"int cardif_get_int(int index, char *retInterface){  FILE *fp;  int hits;  char line[1000], *lineptr;  hits = 0;  fp = fopen(PROC_DEV_FILE, "r");  if (fp == NULL)    {      debug_printf(DEBUG_NORMAL, "Couldn't access /proc/net/dev!\n");      exit(250);    }  bzero(line, 1000);  while ((hits <= index) && (fgets(line, 999, fp) != NULL))    {       lineptr = strchr(line, ':');            if (lineptr == NULL) continue;      *lineptr = '\0';      lineptr = &line[0];      while (*lineptr == ' ') lineptr++;  // Strip out blanks.            strcpy(retInterface, lineptr);      hits++;    }  if (hits <= index)    {      debug_printf(DEBUG_INT, "No more interfaces to look at!\n");      return XNOMOREINTS;    }  debug_printf(DEBUG_INT, "Found interface : %s\n",retInterface);  fclose(fp);  return XENONE;   // No errors.}/******************************************************* * * Check to see if an interface is wireless.  On linux, we look in * /proc/net/wireless to see if the interface is registered with the * wireless extensions. * *******************************************************/#define PROC_WIRELESS_FILE  "/proc/net/wireless"int cardif_int_is_wireless(char *interface){  FILE *fp;  char line[1000], *lineptr=NULL;  int done;  done = FALSE;  fp = fopen(PROC_WIRELESS_FILE, "r");  if (fp == NULL)    {      debug_printf(DEBUG_NORMAL, "Couldn't access /proc/net/wireless!  (You probably don't have wireless extensions enabled!)\n");      return -1;    }  bzero(line, 1000);  while ((!done) && (fgets(line, 999, fp) != NULL))    {       lineptr = strchr(line, ':');            if (lineptr != NULL)	{	  	  *lineptr = '\0';	  lineptr = &line[0];	  	  while (*lineptr == ' ') lineptr++;  // Strip out blanks.	  if (lineptr != NULL)	    {	      if (strcmp(lineptr, interface) == 0) done=TRUE;	    }	}    }  fclose(fp);    if ((lineptr != NULL) && (strcmp(lineptr, interface) == 0))    {      debug_printf(DEBUG_INT, "Interface %s is wireless!\n",interface);      return TRUE;    } else {      debug_printf(DEBUG_INT, "Interface %s is NOT wireless!\n",interface);      return FALSE;    }  return XENONE;   // No errors.}  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一区二区三区在线播放| 樱桃视频在线观看一区| 国产精品久久午夜| 亚洲 欧美综合在线网络| 高清不卡一区二区在线| 欧美日本一区二区三区四区| 国产欧美一区二区三区鸳鸯浴 | 视频一区二区三区入口| 国产精品1024| 678五月天丁香亚洲综合网| 欧美国产精品中文字幕| 日本美女一区二区三区视频| 色综合久久中文综合久久97| 亚洲精品在线一区二区| thepron国产精品| 日韩精品一区二区三区在线观看| 一级做a爱片久久| 成人激情视频网站| 久久久精品人体av艺术| 麻豆成人久久精品二区三区小说| 欧美亚洲国产一区二区三区va | 成人影视亚洲图片在线| 日韩欧美一区中文| 天堂av在线一区| 欧美日韩国产另类不卡| 亚洲欧美区自拍先锋| 成人免费的视频| 亚洲第一激情av| 色综合天天综合网天天看片| 国产色婷婷亚洲99精品小说| 韩国成人在线视频| 欧美精品一区二区三区很污很色的| 日韩av在线播放中文字幕| 欧美日韩国产欧美日美国产精品| 1000精品久久久久久久久| 国产91对白在线观看九色| 国产丝袜在线精品| jlzzjlzz亚洲日本少妇| 国产精品日韩成人| 91视视频在线观看入口直接观看www | 这里是久久伊人| 日韩国产在线观看一区| 91精品国产色综合久久久蜜香臀| 日本不卡的三区四区五区| 日韩亚洲欧美综合| 国产一区欧美日韩| 亚洲国产精品av| 色综合天天综合在线视频| 亚洲bt欧美bt精品777| 日韩一区二区免费电影| 国产精品一区二区视频| 18欧美乱大交hd1984| 欧美日韩一区在线| 久久99精品国产.久久久久久 | 亚洲午夜久久久久久久久电影院 | 精品国产乱码久久久久久老虎| 久久精品国产77777蜜臀| 国产视频一区二区三区在线观看| 不卡视频一二三| 天天综合天天做天天综合| 精品国产伦一区二区三区免费| 成人黄色小视频| 亚洲国产cao| 国产偷v国产偷v亚洲高清| 99re视频这里只有精品| 亚洲午夜私人影院| 午夜精品成人在线视频| 精品国产一区二区三区忘忧草| 成人黄页在线观看| 视频在线观看91| 国产精品免费av| 欧美精品在线观看播放| 成人免费观看av| 欧美aⅴ一区二区三区视频| 国产精品嫩草久久久久| 欧美一级欧美一级在线播放| 成人免费看黄yyy456| 日韩av成人高清| 1024国产精品| 久久日一线二线三线suv| 91成人网在线| 国产成人精品三级| 国产91精品精华液一区二区三区| 一区二区三区在线免费| 久久免费视频一区| 91精品国产一区二区三区| 99久久夜色精品国产网站| 紧缚奴在线一区二区三区| 亚洲一区二区美女| 国产精品成人一区二区艾草 | 欧美性受极品xxxx喷水| 高清不卡在线观看| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲午夜激情av| 亚洲精品免费看| 国产精品国产三级国产三级人妇| 精品久久久久久久人人人人传媒 | 美女视频网站黄色亚洲| 亚洲一区在线观看视频| 国产精品久久国产精麻豆99网站| 欧美精品一区二区三区在线| 欧美精品在线观看一区二区| 91精品福利视频| 91网站在线观看视频| 懂色av一区二区三区免费观看| 国产一区二区三区高清播放| 琪琪久久久久日韩精品| 视频一区二区三区中文字幕| 午夜精品久久久久久久99樱桃| 亚洲精品v日韩精品| 亚洲欧美精品午睡沙发| 自拍偷拍亚洲综合| 免费观看久久久4p| 日本不卡视频一二三区| 日韩av一区二区三区四区| 日本亚洲三级在线| 美女在线一区二区| 紧缚奴在线一区二区三区| 激情小说亚洲一区| 国产成人精品www牛牛影视| 国产精品18久久久久久久久久久久 | 蜜桃视频在线观看一区二区| 欧美精品一区二区三区很污很色的| 制服丝袜亚洲色图| 亚洲最色的网站| 亚洲欧洲日韩av| 亚洲精品久久久久久国产精华液| 一区二区三区小说| 亚洲成人综合视频| 看国产成人h片视频| 韩国av一区二区三区在线观看| 国产精品白丝av| 91在线视频免费观看| 日本电影欧美片| 欧美日韩国产在线观看| 精品毛片乱码1区2区3区| 国产日韩高清在线| 一区二区三区在线看| 日韩中文字幕亚洲一区二区va在线| 日本v片在线高清不卡在线观看| 黄色成人免费在线| 91网站在线播放| 日韩欧美电影一区| 亚洲第一精品在线| 国产精品一区三区| 欧洲一区二区三区免费视频| 7777精品久久久大香线蕉| 久久久久久久久久久久久久久99| 日韩一区日韩二区| 美女在线观看视频一区二区| 粉嫩13p一区二区三区| 在线免费精品视频| 久久先锋影音av鲁色资源| 亚洲欧美一区二区三区孕妇| 秋霞电影网一区二区| 成人的网站免费观看| 91精品国产高清一区二区三区| 国产日韩综合av| 亚洲1区2区3区视频| 成人免费毛片app| 欧美一二三四区在线| 国产综合久久久久久久久久久久| 99麻豆久久久国产精品免费优播| 欧美日韩国产系列| 中文字幕制服丝袜一区二区三区| 视频在线在亚洲| 色婷婷亚洲一区二区三区| 国产亚洲精品aa| 蜜臀av性久久久久蜜臀aⅴ四虎| 92国产精品观看| 久久婷婷国产综合国色天香| 亚洲一区二区三区四区不卡| 成人一区二区在线观看| 精品少妇一区二区三区视频免付费 | 在线播放91灌醉迷j高跟美女| 国产清纯白嫩初高生在线观看91| 美腿丝袜亚洲一区| 欧美视频一区二区三区在线观看| 国产亚洲精品福利| 国产在线观看免费一区| 欧美绝品在线观看成人午夜影视| 亚洲三级在线观看| 成人高清视频免费观看| 精品对白一区国产伦| 日韩国产一二三区| 欧美人妇做爰xxxⅹ性高电影| 最新国产成人在线观看| 高清成人免费视频| 国产日韩欧美综合一区| 韩国成人精品a∨在线观看| 日韩一区和二区| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美日韩免费高清一区色橹橹 | 欧美另类变人与禽xxxxx| 亚洲裸体xxx| 日本高清免费不卡视频| 一区在线观看免费| 99久久精品免费看国产免费软件| 国产精品免费丝袜| www.日韩精品|