⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 使用嗅探器侦听操作系统类型的程序
💻 C
字号:
/* ** The Siphon Project: The Passive Network Mapping Tool ** Copyright (c) 2000 Subterrain Security Group ** ** Siphon Homepage: http://www.subterrain.net/projects/siphon/ **  ** Author Contacts: **  bind	<bind@subterrain.net> **  aempirei	<aempirei@subterrain.net> ***/#include <siphon.h>void usage (char *);void title(void);void sighandler(int sig) {  printf("\nSignal Recieved...exiting cleanly\n");  exit(0);}int main (int argc, char **argv){  char errbuf[256];   struct pt_info_parse {      int pti_pd[2];		   }   pti_parse;   int pd_sniff2parse[2], pd_parse2log[2], opt;   pthread_t sniff_thread, parse_thread, log_thread;   extern char *optarg;   extern int opterr;   struct utsname hinfo;   verbose = back =  0;   title();   if (argc < 2)      usage (argv[0]);   opterr = 0;   while ((opt = getopt (argc, argv, "Vvo:bi:")) != EOF) {      switch (opt) {      case 'v':          verbose = 1;         break;      case 'o':	 logfile = optarg;         break;      case 'b':	 back = 1;	 break;      case 'l':	 logfile = optarg;	 break;      case 'i':	 device = optarg;	 break;      case 'V': puts(VERSION); exit(0);         break;      case '?':      default:	 usage (argv[0]);	 break;      }   }   if(geteuid()) {     printf("User '%s' needs euid of 0.\n",getlogin());     exit(-1);   }   if (logfile == NULL)      usage (argv[0]);   uname (&hinfo);   printf ("\nRunning on: '%s' running %s %s on a(n) %s\n\n",             hinfo.nodename, hinfo.sysname, hinfo.release,             hinfo.machine);   if(device == NULL)     device = pcap_lookupdev(errbuf);   if(device == NULL) {      printf("Error: Unable to lookup device.\n");     exit(-1);   }   printf("Using Device: %s\n",device);   if (pipe (pd_sniff2parse) || pipe (pd_parse2log)) {      perror ("pipe()");      exit (-1);   }   pti_parse.pti_pd[0] = pd_sniff2parse[0];   pti_parse.pti_pd[1] = pd_parse2log[1];   pthread_create (&parse_thread, NULL, (void *) parse, &pti_parse);   pthread_create(&log_thread,NULL,(void *)log, (void *)pd_parse2log[0]);   pthread_create (&sniff_thread, NULL, (void *) sniff_network,		   &pd_sniff2parse[1]);   signal(SIGINT,&sighandler);      pthread_join (sniff_thread, NULL);   return 0;}voidusage (char *arg){   printf ("Usage:\n"	   "  %s [options] [-o <logfile>]\n\n"	   "Options:\n"	   "  [ -v Verbose mode ]\n"//	   "  [ -b Run in background ]\n"            "  [ -i <device> ]\n"           "  [ -V Show version and exit ]\n\n",arg);   exit (-1);}void title(void){  printf("\n\t [ The Siphon Project: The Passive Network Mapping Tool ]\n"	 "\t     [ Copyright (c) 2000 Subterrain Security Group ]\n\n");}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -