mailreport.c
上传用户:minyiyu
上传日期:2018-12-24
资源大小:864k
文件大小:2k
源码类别:

Telnet服务器

开发平台:

Unix_Linux

  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <time.h>
  4. main()
  5. {
  6.   FILE *fp1, *fp2;
  7.   char temp[400];
  8.   int telnet,auth,chat,finger,ftp,gopher,pop3,smtp,www;
  9.   time_t now;
  10.   if ((fp1 = fopen("/var/adm/syslogs/daemon.log", "r")) == NULL) {
  11.     printf("Error: Cannot open input file.n");
  12.   }
  13.   else {
  14.     telnet=0;
  15.     while (fgets(temp,398,fp1) != NULL)
  16.     {
  17.       if(strstr(temp," telnetd["))
  18.         telnet++;
  19.     }  
  20.     fclose(fp1);
  21.   }
  22.   if ((fp1 = fopen("/var/adm/syslogs/local.log", "r")) == NULL) {
  23.     printf("Error: Cannot open input file.n");
  24.     exit(1);
  25.   }
  26.   if ((fp2 = fopen("/root/report.tmp", "w")) == NULL) {
  27.     printf("Error: Cannot write to target file.n");
  28.     exit(1);
  29.   }
  30.   auth=0;
  31.   chat=0;
  32.   finger=0;
  33.   ftp=0;
  34.   gopher=0;
  35.   pop3=0;
  36.   smtp=0;
  37.   www=0;
  38.   time(&now);
  39.   fprintf(fp2, "Reply-To: SYSOP.bbs@MSIA.pine.ncu.edu.twn");
  40.   fprintf(fp2, "From: SYSOP.bbs@MSIA.pine.ncu.edu.twn");
  41.   fprintf(fp2, "Subject: MSIA system security report.nn");
  42.   fprintf(fp2, "System security report produced at %sn",ctime(&now));
  43.   while (fgets(temp,398,fp1) != NULL)
  44.   {
  45.     if(strstr(temp,"auth from"))
  46.       auth++;
  47.     else if(strstr(temp,"bbs-chatd from"))
  48.       chat++;
  49.     else if(strstr(temp,"finger from"))
  50.       finger++;
  51.     else if(strstr(temp,"ftp from"))
  52.       ftp++;
  53.     else if(strstr(temp,"gopher from"))
  54.       gopher++;
  55.     else if(strstr(temp,"pop3 from"))
  56.       pop3++;
  57.     else if(strstr(temp,"smtp from"))
  58.       smtp++;
  59.     else if(strstr(temp,"www from"))
  60.       www++;
  61.     else if(!strstr(temp,"last message repeated")
  62.             && !strstr(temp,"MSIA.pine.ncu.edu.tw")    
  63.             && !strstr(temp,"innbbsd from"))
  64.       fputs(temp,fp2);
  65.   }
  66.   fprintf(fp2,"nn     bbs connections: %dn",telnet);
  67.   fprintf(fp2,"chatroom connections: %dn",chat);
  68.   fprintf(fp2,"  finger connections: %dn",finger);
  69.   fprintf(fp2,"     ftp connections: %dn",ftp);
  70.   fprintf(fp2,"  gopher connections: %dn",gopher);
  71.   fprintf(fp2,"   ident connections: %dn",auth);
  72.   fprintf(fp2,"    pop3 connections: %dn",pop3);
  73.   fprintf(fp2,"    smtp connections: %dn",smtp);
  74.   fprintf(fp2,"     www connections: %dn",www);  
  75.   fclose(fp1);
  76.   fclose(fp2);
  77. }