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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ec_inet_macosx.c

?? Ettercap最初設(shè)計(jì)為交換網(wǎng)上的sniffer
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
/*    ettercap -- inet utilities -- Module for MacOsX darwin 1.[34]                                                    darwin 5.[012]    Copyright (C) 2001  ALoR <alor@users.sourceforge.net>, NaGA <crwm@freemail.it>    This program is free software; you can redistribute it and/or modify    it under the terms of the GNU General Public License as published by    the Free Software Foundation; either version 2 of the License, or    (at your option) any later version.    This program is distributed in the hope that it will be useful,    but WITHOUT ANY WARRANTY; without even the implied warranty of    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the    GNU General Public License for more details.    You should have received a copy of the GNU General Public License    along with this program; if not, write to the Free Software    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.    $Id: ec_inet_macosx.c,v 1.14 2002/06/12 16:19:38 alor Exp $*/#include "../../include/ec_main.h"#include "../../include/ec_thread.h"#include "../../include/ec_buffer.h"#include "../../include/ec_inet.h"#include "../../include/ec_inet_forge.h"#include "../../include/ec_inet_structures.h"#include <ctype.h>#include <sys/ioctl.h>#include <fcntl.h>#include <sys/sysctl.h>#include <sys/param.h>#include <sys/timeb.h>#include <sys/file.h>#include <sys/ioctl.h>#include <ctype.h>#include <sys/types.h>#include <sys/time.h>#include <net/bpf.h>#include <sys/socket.h>#include <net/if_dl.h>#include <net/route.h>#include <net/if_types.h>#include <arpa/inet.h>#include <netinet/if_ether.h>#ifdef HAVE_NET_ETHERNET_H   #include <net/ethernet.h>#endifint IpForward_status;      // old ipforward statusint bpf_in_use;int size;int SocketBuffer = -1;static char ARP_BROADCAST[6] = {0x0,0x0,0x0,0x0,0x0,0x0};// protos...int Inet_FindIFace(char *iface);int Inet_CorrectIface(char *iface);int Inet_GetIfaceInfo(char *iface, int *MTU, char *MyMAC, u_long *IP, u_long *NetMask);int Inet_SetPromisc(char *iface);int Inet_OpenRawSock(char *iface);void Inet_CloseRawSock(int sock);int Inet_GetRawPacket(int sock, char *buffer, int MTU, short *type);int Inet_SendRawPacket(int sock, char *buffer, int len);void Inet_SetNonBlock(int sock);void Inet_Restore_ifr(void);void Inet_DisableForwarding(void);void Inet_RestoreForwarding(void);char *Inet_MacFromIP(unsigned long ip);// ----------------------------------------------int Inet_FindIFace(char *iface)     // adapded from pcap_lookupdev{   int fd, minunit, n;   char *cp;   struct ifreq *ifrp, *ifend, *ifnext, *mp;   struct ifconf ifc;   char *buf;   struct ifreq ifr;   unsigned int buf_size;   fd = socket(AF_INET, SOCK_DGRAM, 0);   if (fd < 0)      ERROR_MSG("socket()");   buf_size = 8192;   for (;;) {      buf = malloc (buf_size);      if (buf == NULL)         ERROR_MSG("malloc()");      ifc.ifc_len = buf_size;      ifc.ifc_buf = buf;      memset (buf, 0, buf_size);      if (ioctl(fd, SIOCGIFCONF, (char *)&ifc) < 0 && errno != EINVAL)         ERROR_MSG("ioctl(SIOCGIFCONF)");      if (ifc.ifc_len < buf_size)         break;      free (buf);      buf_size *= 2;   }   ifrp = (struct ifreq *)buf;   ifend = (struct ifreq *)(buf + ifc.ifc_len);   mp = NULL;   minunit = 666;   for (; ifrp < ifend; ifrp = ifnext)   {      const char *endcp;#ifdef HAVE_SOCKADDR_SA_LEN   n = ifrp->ifr_addr.sa_len + sizeof(ifrp->ifr_name);   if (n < sizeof(*ifrp))      ifnext = ifrp + 1;   else      ifnext = (struct ifreq *)((char *)ifrp + n);   if (ifrp->ifr_addr.sa_family != AF_INET)      continue;#else   ifnext = ifrp + 1;#endif      strncpy(ifr.ifr_name, ifrp->ifr_name, sizeof(ifr.ifr_name));      if (ioctl(fd, SIOCGIFFLAGS, (char *)&ifr) < 0)      {         if (errno == ENXIO)            continue;         ERROR_MSG("ioctl(SIOCGIFFLAGS)");      }      DEBUG_MSG("Inet_FindIFace -- check for [%s]", ifr.ifr_name);      /* Must be up and not the loopback */      if ((ifr.ifr_flags & IFF_UP) == 0 || (ifr.ifr_flags & IFF_LOOPBACK) != 0)         continue;      endcp = ifrp->ifr_name + strlen(ifrp->ifr_name);      for (cp = ifrp->ifr_name; cp < endcp && !isdigit(*cp); ++cp)         continue;      if (isdigit (*cp)) {         n = atoi(cp);      } else {         n = 0;      }      if (n < minunit) {         minunit = n;         mp = ifrp;      }   }   close(fd);   if (mp == NULL)   // no device found   {      free(buf);      return -1;   }   strlcpy(iface, mp->ifr_name, sizeof(Options.netiface));   free(buf);   DEBUG_MSG("Inet_FindIFace -- %s found !!", iface);   return 0;}int Inet_CorrectIface(char *iface){   int sock;   struct ifreq ifr;   DEBUG_MSG("Inet_CorrectIface\t\tIface: %s", iface);   sock = socket(AF_INET, SOCK_DGRAM, 0);   if (sock < 0)      ERROR_MSG("socket()");   memset(&ifr, 0, sizeof(ifr));   strncpy(ifr.ifr_name, iface, sizeof(ifr.ifr_name));   if ( ioctl(sock, SIOCGIFFLAGS, &ifr) < 0)             // check for iface   {      close(sock);      return -1;   }   if (!(ifr.ifr_flags & IFF_UP ))                       // check for flag UP   {      close(sock);      return -1;   }   if (ifr.ifr_flags & IFF_LOOPBACK )                    // check for loopback   {      Options.normal = 1;      Error_msg("Ettercap can't be run on loopback device");   }   if ( ioctl(sock, SIOCGIFADDR, &ifr) < 0 )             // check for alias   {      close(sock);      return -1;   }   close(sock);   return 0;}int Inet_GetIfaceInfo(char *iface, int *MTU, char *MyMAC, unsigned long *IP, unsigned long *NetMask){   int sock;   struct ifreq ifr;   sock = socket(PF_INET, SOCK_DGRAM, 0);   memset(&ifr, 0, sizeof(ifr));   strncpy(ifr.ifr_name, iface, sizeof(ifr.ifr_name));   if (MTU != NULL)   {      if ( ioctl(sock, SIOCGIFMTU, &ifr) < 0)      {         DEBUG_MSG("Inet_GetIfaceInfo -- MTU FAILED... assuming 1500");         *MTU = 1500;      }      else         *MTU = ifr.ifr_mtu;   }   if (MyMAC != NULL)   {      int mib[6];      size_t len;      char *buf, *next, *end;      struct if_msghdr *ifm;      struct sockaddr_dl *sdl;      mib[0] = CTL_NET;      mib[1] = AF_ROUTE;      mib[2] = 0;      mib[3] = AF_LINK;      mib[4] = NET_RT_IFLIST;      mib[5] = 0;      if (sysctl(mib, 6, NULL, &len, NULL, 0) < 0)         ERROR_MSG("sysctl()");      if ((buf = (char *)malloc(len)) == NULL )         ERROR_MSG("malloc()");      if (sysctl(mib, 6, buf, &len, NULL, 0) < 0)         ERROR_MSG("sysctl()");      end = buf + len;      for (next = buf ; next < end ; next += ifm->ifm_msglen)      {         ifm = (struct if_msghdr *)next;         if (ifm->ifm_type == RTM_IFINFO)         {            sdl = (struct sockaddr_dl *)(ifm + 1);            if (strncmp(&sdl->sdl_data[0], iface, sdl->sdl_nlen) == 0)            {                memcpy(MyMAC, LLADDR(sdl), ETHER_ADDR_LEN);                break;            }         }      }      free(buf);   }   if (IP != NULL)   {      if ( ioctl(sock, SIOCGIFADDR, &ifr) < 0 )         ERROR_MSG("ioctl(SIOCGIFADDR)");      memcpy((char *)IP, ifr.ifr_addr.sa_data+2, 4);   }   if (NetMask != NULL)   {      if ( ioctl(sock, SIOCGIFNETMASK, &ifr) < 0 )         ERROR_MSG("ioctl(SIOCGIFNETMASK)");      memcpy((char *)NetMask, ifr.ifr_addr.sa_data+2, 4);      if (strcmp(Options.netmask, ""))       // specified on command line         *NetMask = inet_addr(Options.netmask);   }   close(sock);   return 0;}void Inet_SetNonBlock(int sock){   DEBUG_MSG("Inet_SetNonBlock fd = %d", sock);   fcntl(sock, F_SETFL, O_NONBLOCK);}void Inet_CloseRawSock(int sock){   DEBUG_MSG("Inet_CloseRawSock \t wrappered to NULL");   //close(sock);    // the bpf is close when ettercap exits}int Inet_OpenRawSock(char *iface){   int fd, i = 0, type;   char device[sizeof "/dev/bpf0000"];   struct bpf_version bv;   struct ifreq ifr;   char MyMAC[6];   // this BPF will ignore all outgoing packets   static struct bpf_insn insns[] = {      BPF_STMT(BPF_LD+BPF_H+BPF_ABS, 6),           // load mac address [1][2]      BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, 0x00, 0, 4), // k is left 0x00 and will be set later... insns[1].k = htons(*(short *)MyMAC);      BPF_STMT(BPF_LD+BPF_H+BPF_ABS, 8),           // load mac address [3][4]      BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, 0x00, 0, 2), // if equal check the third part, else jump 2      BPF_STMT(BPF_LD+BPF_H+BPF_ABS, 10),          // load mac address [5][6]      BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, 0x00, 1, 0), // if equal this is outgoing ! drop it !      BPF_STMT(BPF_RET|BPF_K, (u_int)-1),          // no filter, passing the wole packet      BPF_STMT(BPF_RET|BPF_K, 0),                  // ignore the packet   };   static struct bpf_program filter = {      sizeof insns / sizeof(insns[0]),      insns   };

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www.日韩在线| 国产一区 二区| 欧美亚一区二区| 亚洲成av人片| 91精品福利在线一区二区三区| 天天爽夜夜爽夜夜爽精品视频| 7777精品伊人久久久大香线蕉超级流畅| 午夜久久久久久久久久一区二区| 欧美日韩高清不卡| 日韩精品午夜视频| 久久久久久久久久久久久女国产乱 | 99精品视频一区二区| 亚洲色大成网站www久久九九| av不卡免费在线观看| 一区二区欧美国产| 91精品国产高清一区二区三区蜜臀 | 欧美日韩一区三区| 精油按摩中文字幕久久| 国产三级一区二区三区| 91亚洲国产成人精品一区二区三| 无吗不卡中文字幕| 久久午夜国产精品| 91日韩在线专区| 日韩精品三区四区| 国产精品婷婷午夜在线观看| 99re这里都是精品| 日韩精品成人一区二区三区| 久久人人超碰精品| 欧美亚洲综合在线| 国产自产高清不卡| 一区二区三区免费观看| 精品国产免费一区二区三区四区| 成人国产精品免费观看视频| 亚洲一区二区三区三| 欧美不卡一区二区三区四区| 成人av网站在线| 天天综合色天天综合色h| 久久一二三国产| 日本道色综合久久| 国产中文字幕一区| 午夜久久福利影院| 国产精品久久久久三级| 这里只有精品视频在线观看| 国产精品538一区二区在线| 亚洲一区二区精品3399| 国产欧美一区二区三区在线看蜜臀 | jizzjizzjizz欧美| 精品制服美女久久| 亚洲成人免费影院| 亚洲欧洲精品一区二区三区不卡| 欧美精品成人一区二区三区四区| 成人高清在线视频| 黄色小说综合网站| 婷婷六月综合亚洲| 亚洲一区二区三区免费视频| 中文字幕的久久| 2021中文字幕一区亚洲| 欧美精品在欧美一区二区少妇| 国产高清久久久| 激情深爱一区二区| 日韩精品福利网| 亚洲一区二区三区四区的| 亚洲欧美综合在线精品| 国产视频亚洲色图| 国产午夜精品在线观看| 欧美一级片在线看| 91精品欧美一区二区三区综合在| 色综合色狠狠综合色| 国产高清不卡二三区| 狠狠v欧美v日韩v亚洲ⅴ| 美国十次综合导航| 老司机免费视频一区二区 | 久久狠狠亚洲综合| 免费观看久久久4p| 久久综合综合久久综合| 免费成人你懂的| 久久激情五月激情| 经典三级一区二区| 国产一区二区三区日韩| 国产很黄免费观看久久| 成人一区二区视频| av在线一区二区三区| zzijzzij亚洲日本少妇熟睡| 粉嫩13p一区二区三区| 豆国产96在线|亚洲| 99久久久精品免费观看国产蜜| 处破女av一区二区| 97精品电影院| 色综合天天综合| 欧美揉bbbbb揉bbbbb| 欧美日韩国产首页在线观看| 91精品在线免费| 久久蜜桃av一区精品变态类天堂| 国产日产欧美一区二区视频| 中文天堂在线一区| 亚洲欧美一区二区三区极速播放 | 日韩精品亚洲一区| 国产在线观看免费一区| 成人亚洲一区二区一| 色婷婷久久综合| 欧美一区二区三区四区五区 | 久久精品男人天堂av| 国产精品久久久久aaaa| 一区二区三区在线视频观看58| 一个色综合av| 捆绑变态av一区二区三区| 国产一区二区看久久| 91婷婷韩国欧美一区二区| 欧美精三区欧美精三区| 国产无人区一区二区三区| 最新国产精品久久精品| 爽爽淫人综合网网站| 国产精品资源网站| 欧美综合一区二区| 精品国产乱码久久久久久牛牛| 中文字幕在线一区二区三区| 亚洲va欧美va国产va天堂影院| 麻豆精品一区二区av白丝在线 | 99re热视频这里只精品| 欧美美女一区二区在线观看| 久久影音资源网| 亚洲一区二区三区四区在线免费观看 | 97精品国产97久久久久久久久久久久| 欧美日韩国产小视频| 国产三级三级三级精品8ⅰ区| 亚洲一区影音先锋| 国产成人精品www牛牛影视| 色88888久久久久久影院按摩| 精品少妇一区二区三区日产乱码 | 夫妻av一区二区| 91精品国产综合久久蜜臀| 中文字幕av在线一区二区三区| 午夜精品在线视频一区| av一区二区久久| 精品噜噜噜噜久久久久久久久试看 | 99久久精品免费| 欧美精品一区二区三区蜜臀| 亚洲一区二区av电影| 国产999精品久久| 欧美本精品男人aⅴ天堂| 樱桃视频在线观看一区| 成人成人成人在线视频| 日韩视频123| 午夜激情一区二区| 色综合网站在线| 中文字幕在线不卡一区二区三区 | 五月天激情小说综合| 99re热视频精品| 久久青草国产手机看片福利盒子 | 激情深爱一区二区| 欧美一区二区在线观看| 亚洲午夜一二三区视频| 色综合久久久久综合99| 国产精品久久久久aaaa樱花| 国产成人免费在线观看| 欧美大片国产精品| 日本不卡免费在线视频| 欧美日韩亚洲综合一区| 亚洲精品老司机| 91麻豆福利精品推荐| 中文字幕av免费专区久久| 国产原创一区二区| 精品欧美久久久| 韩国视频一区二区| 久久这里只精品最新地址| 国产一区在线精品| 久久综合99re88久久爱| 韩国女主播一区二区三区| 欧美电影精品一区二区| 麻豆精品在线播放| 欧美精品一区二区久久婷婷 | 欧美国产日韩a欧美在线观看| 韩国精品久久久| 国产亚洲一二三区| 国产成人av一区| 国产精品高潮久久久久无| 成人av在线资源网站| 成人欧美一区二区三区黑人麻豆 | 日韩午夜三级在线| 久久99国产精品尤物| www成人在线观看| 成人免费高清在线| 亚洲人成人一区二区在线观看| 在线看不卡av| 日韩成人伦理电影在线观看| 欧美一区二区免费视频| 国产麻豆午夜三级精品| 国产精品剧情在线亚洲| 色婷婷av一区二区三区之一色屋| 亚洲一区二区三区不卡国产欧美| 欧美丝袜自拍制服另类| 免费成人你懂的| 欧美激情资源网| 日本高清不卡一区| 蜜桃av一区二区三区电影| 国产日韩精品一区二区三区在线| 91猫先生在线| 蜜桃视频在线观看一区| 国产精品美女一区二区| 欧美专区在线观看一区|