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

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

?? my_list.c

?? 一個使用raw socket 構(gòu)造數(shù)據(jù)包的實(shí)例
?? C
?? 第 1 頁 / 共 2 頁
字號:
        memcpy((unsigned char *)&new_rules->ip_src, (unsigned char *)&pfib_key->ip_src, sizeof(struct in_addr));        new_rules->pdstaddr = (struct fib_address *)new_addr;        new_rules->next = NULL;        new_rules->prev = pTail;                pTail->next = new_rules;        if (pfib_key->direction == FIB_EXTERNEL_NETWORK)        {            memcpy(&new_addr->ip_dst, &pfib_key->ip_dst, sizeof(struct fib_address));          }        else if(pfib_key->direction == FIB_INTERNEL_NETWORK)        {            memcpy(&new_addr->chipnum, &pfib_key->chipnum, sizeof(int));        }                new_addr->next = NULL;        new_addr->prev = new_addr;        new_rules->pdstaddr = new_addr;        printf("fib_rules_insert: insert a new rule\n");    } /* end null */        return 0;}/*********************************************************************** 函數(shù)名稱:fib_rules_remove* 功能描述:刪除指定符合特征的鏈表節(jié)點(diǎn)* 輸入?yún)?shù):pfib_key  規(guī)則關(guān)鍵字* 輸出參數(shù):無* 返 回 值:無* 其它說明:* 修改日期      版本號  修改人      修改內(nèi)容* ---------------------------------------------------------------------* 2007/12/11             丁鵬              創(chuàng)建************************************************************************/int fib_rules_remove(struct fib_key *pfib_key){    struct fib_rules *pNode = fibTableHead;    struct fib_rules *pTail = fibTableHead;        struct fib_rules *new_rules;    struct fib_address *fib_addr = NULL;    struct fib_address *fib_addr_next;    struct fib_address *new_addr;    unsigned char *key;    unsigned char *rule_key;    int            keylen;    /*鏈表頭為空,說明鏈表還沒有初始化*/        if (fibTableHead == NULL)    {        printf("error! fibtable has not been inited! \n");        fib_rules_init();    }           pNode = fibTableHead->next;    while (pNode != NULL)    {        pTail = pNode;              /* 遍歷鏈表,判斷是否有滿足條件的節(jié)點(diǎn),有則再判斷添加的dst是否存在,若dst不存在,則只添加對應(yīng)的dst */        if (rules_memcmp(&pNode->ip_src, &pfib_key->ip_src, sizeof(struct in_addr)) == 0)        {                    printf("ip_src equal----\n");            /* 從一個ip地址來的只能是轉(zhuǎn)給外網(wǎng)或內(nèi)網(wǎng)中的一種策略 */            if(pNode->direction != pfib_key->direction)            {                printf("the fib rules's  direction is't equal to pfib_key's direction\n");                return 0;            }                       if (pNode->direction == FIB_EXTERNEL_NETWORK)            {                rule_key = (unsigned char *)&fib_addr->ip_dst;                key      = (unsigned char *)&pfib_key->ip_dst;                keylen   = sizeof(struct in_addr);                /* 再比較dst */                printf("direction FIB_EXTERNEL_NETWORK----\n");            }            else if(pNode->direction == FIB_INTERNEL_NETWORK)            {                rule_key = (unsigned char *)&fib_addr->chipnum;                key      = (unsigned char *)&pfib_key->chipnum;                keylen   = sizeof(int);            }            fib_addr_next = pNode->pdstaddr;            while(fib_addr_next != NULL)            {                printf("fib addr != null---\n");                fib_addr = fib_addr_next;                if(rules_memcmp(rule_key,key, keylen) == 0)                {                   printf("now delete the given address ...\n");                   /* 鏈表中的第一個元素 */                   if(fib_addr->prev == fib_addr)                   {                       /* 后面還有其他元素 */                       if(fib_addr_next->next != NULL)                       {                           fib_addr_next->next->prev=fib_addr_next->next;                           pNode->pdstaddr = fib_addr_next->next;                           free(fib_addr);                           return;                       }                       else                       {                           pNode->pdstaddr = NULL;                           /* 刪除一整項(xiàng) */                           fib_rules_removeRule((struct in_addr *)&pfib_key->ip_src);                           return 1;                       } /*end if(fib_addr_next->next)...*/                   } /*end if(fib_addr->prev ..) */                   /* 鏈表最后一個元素 */                   else if (fib_addr->next == NULL)                   {                       fib_addr->prev->next = NULL;                       free(fib_addr);                   }                    else                   {                                              fib_addr_next->next->prev=fib_addr_next->prev;                       fib_addr_next->prev->next = fib_addr_next->next;                       free(fib_addr);                   }/* end if(fib_addr->prev )...*/                                      } /* end id(rules_memcmp)... */                fib_addr_next =   fib_addr_next->next;            } /* end while */        } /* if (rules_memcmp(&pNode->ip_src, &pfib_key->ip_src, sizeof(struct in_addr)) == 0) */        pNode = pNode->next;    }/*end while */    return 0;}/*********************************************************************** 函數(shù)名稱:fib_rules_removeRule* 功能描述:刪除指定以源ip為關(guān)鍵字的鏈表節(jié)點(diǎn)* 輸入?yún)?shù):pfib_key  規(guī)則關(guān)鍵字* 輸出參數(shù):無* 返 回 值:無* 其它說明:* 修改日期      版本號  修改人      修改內(nèi)容* ---------------------------------------------------------------------* 2007/12/11             丁鵬              創(chuàng)建************************************************************************/int fib_rules_removeRule(struct  in_addr *pip_src){    struct fib_rules    *pFibRule, *pNode;    struct  fib_address *pAddr,    *pAddNode;    int i=0;    int j = 0;    pNode = fibTableHead->next;        while(pNode != NULL)    {        pFibRule = pNode;               if (rules_memcmp(&pNode->ip_src, pip_src, sizeof(struct in_addr)) == 0)        {            pAddr = pNode->pdstaddr;            while(pAddr != NULL)            {                pAddNode = pAddr;                pAddr = pAddr->next;                pAddNode->next = NULL;                free(pAddNode);                i++;                printf("i = %d\n" , i);            }                       pNode->pdstaddr  = NULL;            pNode->prev->next = pNode->next;            /* rules最后一個元素 */            if(pNode->next != NULL)                pNode->next->prev = pNode->prev;            free(pNode);                       j++;            printf("j = %d\n" , j);            return 1;                    }        pNode = pNode->next;               }    }/*********************************************************************** 函數(shù)名稱:rules_isExist* 功能描述:根據(jù)源ip地址來判斷轉(zhuǎn)發(fā)表中是否有對應(yīng)的轉(zhuǎn)發(fā)規(guī)則* 輸入?yún)?shù):    ip_src  收到的數(shù)據(jù)包的源ip地址* 輸出參數(shù):* 返 回 值:* 其它說明:* 修改日期      版本號  修改人      修改內(nèi)容* ---------------------------------------------------------------------* 2007/12/11             丁鵬              創(chuàng)建************************************************************************/FIB_RULE *rules_isExist(struct in_addr *ip_src){    struct fib_rules *pNode;    struct fib_rules *pTail;        /*鏈表頭為空,說明鏈表還沒有初始化*/        if ((fibTableHead == NULL) || (fibTableHead->next == NULL))    {        printf("rule is null \n");        return NULL;    }           pNode = fibTableHead->next;    while (pNode != NULL)    {        pTail = pNode;        /* 遍歷鏈表,判斷是否有滿足條件的節(jié)點(diǎn),有則再判斷添加的dst是否存在,若dst不存在,則只添加對應(yīng)的dst */        if (rules_memcmp(&pNode->ip_src, ip_src, sizeof(struct in_addr)) == 0)        {             return pNode;        }        pNode = pNode->next;    }    return NULL;    }/*********************************************************************** 函數(shù)名稱:rules_print* 功能描述:將轉(zhuǎn)發(fā)表內(nèi)容打印出來* 輸入?yún)?shù): * 輸出參數(shù):* 返 回 值:* 其它說明:* 修改日期      版本號  修改人      修改內(nèi)容* ---------------------------------------------------------------------* 2007/12/11             丁鵬              創(chuàng)建************************************************************************/void rules_print(){    struct fib_rules *pNode = fibTableHead;    struct fib_rules *pFibRule;    struct fib_address *fib_addr;     struct fib_address *fib_addr_next;     /*鏈表頭為空,說明鏈表還沒有初始化*/    if (fibTableHead == NULL)    {         printf("error! fibtable has not been inited! \n");        return ;    }        printf("src()  direct(0--out  1---intern)  dst()     \n");            while(pNode->next != NULL)    {        pFibRule = pNode;        pNode    = pNode->next;                printf("src:%s,  direct:%x \n", inet_ntoa(pNode->ip_src), pNode->direction);            if(pNode->direction == 1)        {            fib_addr_next = pNode->pdstaddr;            while(fib_addr_next != NULL)            {                fib_addr = fib_addr_next;                printf("    the dst address :%s\n", inet_ntoa(fib_addr->ip_dst));                fib_addr_next =   fib_addr_next->next;            }        }        }    return;    }/*********************************************************************** 函數(shù)名稱:rules_memcmp* 功能描述:getfilename* 輸入?yún)?shù):     chipNum  對應(yīng)哪個內(nèi)網(wǎng)口* 輸出參數(shù):      pFile   文件名* 返 回 值:    對應(yīng)的內(nèi)網(wǎng)口序列號* 其它說明:* 修改日期      版本號  修改人      修改內(nèi)容* ---------------------------------------------------------------------* 2007/12/11             丁鵬              創(chuàng)建************************************************************************/int  getfilename(unsigned char chipNum, unsigned char *pFile){  int ret = 0;  if(chipNum == 1)  {    strcpy(pFile, "8360_1");    ret = 1;  }  else if(chipNum == 2)  {    strcpy(pFile, "8360_2");    ret =2;  }  else if(chipNum == 3)  {    strcpy(pFile, "8360_3");    ret = 3;   }  else if(chipNum == 4)  {    strcpy(pFile, "8360_4");    ret = 4;  }  return ret;  }/*********************************************************************** 函數(shù)名稱:rules_memcmp* 功能描述:內(nèi)存塊比較函數(shù)* 輸入?yún)?shù):     cs  內(nèi)存塊1     ct  內(nèi)存塊2     count 大小* 輸出參數(shù):無* 返 回 值:    0  內(nèi)存塊內(nèi)容一樣* 其它說明:* 修改日期      版本號  修改人      修改內(nèi)容* ---------------------------------------------------------------------* 2007/12/11             丁鵬              創(chuàng)建************************************************************************/int rules_memcmp(const void * cs,const void * ct,size_t count){  const unsigned char *su1, *su2;  signed char res = 0;  for( su1 = cs, su2 = ct; 0 < count; ++su1, ++su2, count--)    if ((res = *su1 - *su2) != 0)      break;  return res;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产91精品免费| 美女视频黄 久久| 91视频91自| 一区二区三区资源| 欧美三级电影在线看| 婷婷综合五月天| 精品国产免费一区二区三区香蕉 | 日韩免费观看高清完整版在线观看| 午夜久久久久久| 精品国产乱码久久久久久免费 | 成人精品在线视频观看| 亚洲欧洲另类国产综合| 欧美亚洲国产bt| 视频一区在线视频| 亚洲天堂网中文字| 精品对白一区国产伦| 国产一区三区三区| 亚洲国产精品黑人久久久| 一本久道中文字幕精品亚洲嫩| 亚洲大型综合色站| 精品处破学生在线二十三| 成人黄色大片在线观看| 亚洲成人免费av| 久久久国产午夜精品| 欧洲中文字幕精品| 蜜桃视频在线观看一区二区| 欧美国产日韩亚洲一区| 欧美唯美清纯偷拍| 国产精品91一区二区| 亚洲久本草在线中文字幕| 日韩欧美的一区二区| 国产精品一区二区在线看| 一区二区三区在线免费播放 | 欧美一区二区免费观在线| 国产精品一级二级三级| 午夜精品一区在线观看| 国产清纯白嫩初高生在线观看91 | 国产成人精品免费网站| 国产日韩欧美精品在线| 欧美中文字幕一区二区三区亚洲| 国产综合色产在线精品| 一区二区在线观看视频在线观看| 精品久久久久久久久久久久久久久久久 | 国产精品污污网站在线观看| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲欧美区自拍先锋| 日韩一二三四区| 9i看片成人免费高清| 另类人妖一区二区av| 亚洲制服欧美中文字幕中文字幕| 国产精品日日摸夜夜摸av| 国产一区二区伦理| 亚洲网友自拍偷拍| 久久亚洲春色中文字幕久久久| 欧美三级资源在线| 成人三级在线视频| 激情综合五月天| 免费精品99久久国产综合精品| 一区二区三区在线高清| 日韩伦理免费电影| 国产精品免费aⅴ片在线观看| 久久亚洲综合色一区二区三区| 91精品国模一区二区三区| 欧美日韩aaa| 欧美日本在线看| 日本精品视频一区二区| eeuss影院一区二区三区 | 中文字幕av一区二区三区| 欧美变态凌虐bdsm| 日韩一级成人av| 欧美一级在线视频| 欧美男女性生活在线直播观看| 免费av网站大全久久| 天天射综合影视| 国产精品电影一区二区三区| 久久精品视频在线看| 精品99一区二区三区| 日韩三区在线观看| 日韩欧美久久久| 日韩欧美一级二级三级| 在线91免费看| 日韩午夜电影在线观看| 欧美一级黄色大片| 久久久久久久电影| 国产日韩欧美精品在线| 中文天堂在线一区| 亚洲欧洲日韩综合一区二区| 一区精品在线播放| 亚洲永久免费av| 亚洲成人你懂的| 青青草伊人久久| 国产在线麻豆精品观看| 国产成人av电影在线播放| 成人avav影音| 色先锋久久av资源部| 欧美色图12p| 欧美精品日韩一本| 欧美国产日韩精品免费观看| 欧美性一区二区| 在线一区二区三区做爰视频网站| 精品视频一区三区九区| 欧美一级二级三级蜜桃| 国产婷婷色一区二区三区| 亚洲欧洲精品成人久久奇米网| 亚洲老妇xxxxxx| 免费久久99精品国产| 国产精品一区二区在线观看网站| 波多野结衣精品在线| 欧美色倩网站大全免费| 26uuu精品一区二区在线观看| 欧美激情一区二区三区全黄| 亚洲免费观看在线视频| 紧缚奴在线一区二区三区| 成人午夜大片免费观看| 91精品国产免费| 亚洲欧洲中文日韩久久av乱码| 日韩精品1区2区3区| 99久久婷婷国产| 日韩一二在线观看| 亚洲精品菠萝久久久久久久| 美女免费视频一区二区| 一本一道久久a久久精品综合蜜臀| 91精品婷婷国产综合久久性色 | 99久久伊人网影院| 欧美日韩一区二区三区免费看| 精品久久久网站| 亚洲免费观看高清完整版在线 | 在线免费观看日本一区| 精品国精品国产尤物美女| 一区二区三区精密机械公司| 国产一区二区三区不卡在线观看 | 不卡高清视频专区| 精品国产一区久久| 亚洲午夜视频在线观看| 春色校园综合激情亚洲| 337p亚洲精品色噜噜| 亚洲欧美激情视频在线观看一区二区三区 | 中文字幕欧美区| 毛片一区二区三区| 欧美日韩中字一区| 北岛玲一区二区三区四区| 日韩高清不卡一区二区三区| 国产99精品在线观看| 欧美一卡二卡在线观看| 亚洲综合免费观看高清在线观看| 春色校园综合激情亚洲| 久久这里只有精品首页| 午夜精品久久久久久久99樱桃| eeuss鲁片一区二区三区 | 国产欧美视频一区二区三区| 免费一级欧美片在线观看| 色噜噜狠狠色综合欧洲selulu| 国产午夜亚洲精品不卡| 国内外成人在线| 日韩一级大片在线| 美腿丝袜亚洲三区| 777午夜精品免费视频| 五月激情丁香一区二区三区| 欧美三级资源在线| 性久久久久久久久久久久| 91捆绑美女网站| 亚洲美女视频一区| 99精品视频在线观看免费| 国产精品久久久久久久久图文区| 国产成人8x视频一区二区| 国产亚洲成aⅴ人片在线观看| 美女久久久精品| 精品国产自在久精品国产| 国内偷窥港台综合视频在线播放| 久久久亚洲午夜电影| 国产成+人+日韩+欧美+亚洲| 精品国产91乱码一区二区三区| 午夜视频一区二区三区| 欧美色男人天堂| 日韩激情在线观看| 日韩精品一区二区三区在线 | 激情偷乱视频一区二区三区| 日韩欧美成人午夜| 国产福利电影一区二区三区| 欧美国产一区二区在线观看| 91婷婷韩国欧美一区二区| 亚洲美女视频在线| 91精品婷婷国产综合久久竹菊| 免费在线观看成人| 国产片一区二区三区| 99精品久久久久久| 亚洲高清在线视频| 欧美xxxxxxxx| av影院午夜一区| 亚洲福利视频一区| 欧美大片一区二区| 成年人午夜久久久| 亚洲国产视频一区二区| 精品国产免费一区二区三区四区| 国产99久久久精品| 亚洲mv在线观看| 久久久久久亚洲综合影院红桃| 94色蜜桃网一区二区三区| 日韩精品三区四区| 中文字幕精品三区|