locateip.c
上传用户:lylmjq
上传日期:2020-10-14
资源大小:4k
文件大小:2k
源码类别:

弱点检测代码

开发平台:

C/C++

  1. /* Programme Locateip 
  2.    Objet :  Determine &IP , date de connection
  3.    Auteur JY.TORRES 
  4.    Date 26 Fevrier 2008*/
  5. #include <sys/types.h>
  6. #include <utmp.h>
  7. #include <stdio.h>
  8. #include <string.h>
  9. #include <time.h>
  10. main ()
  11. {
  12.   struct utmp *entry;
  13.   struct utmp id;
  14.   time_t   uttime;
  15.   struct tm *ts;
  16.   char  buf[80];
  17.   unsigned int ipaddr;
  18.   unsigned short ureserved;
  19.   char type[20];
  20.   
  21.   strcpy(id.ut_line,ttyname(0)+ 5);
  22.   entry = getutline( &id );
  23.   ipaddr = entry->ut_addr;
  24.   uttime = entry->ut_time;
  25.   ureserved = entry->ut_reserved1;
  26.   if(*(entry->ut_host) == '')
  27.      printf ("tty %s est connecte a un MUX n");
  28.   else {
  29.   printf("/dev/%s ",entry->ut_line);
  30.   printf("from host %s (IP #0x%x = %d.%d.%d.%d) n",
  31.   entry->ut_host,
  32.   ipaddr,
  33.   (ipaddr >> 24 ) & 255,
  34.   (ipaddr >> 16 ) & 255,
  35.   (ipaddr >> 8  ) & 255,
  36.   (ipaddr       ) & 255);
  37. switch (entry->ut_type) {
  38. case  0 : strcpy(type , "EMPTY");
  39. break;
  40. case  1 : strcpy(type , "RUN_LVL");
  41. break;
  42. case  2 : strcpy(type , "BOOT_T  E");
  43. break;
  44. case  3 : strcpy(type , "OLD_TIME");
  45. break;
  46. case  4 : strcpy(type , "NEW_TIME");
  47. break;
  48. case  5 : strcpy(type , "INIT_PROCESS");
  49. break;
  50. case  6 : strcpy(type , "LOGIN_PROCESS");
  51. break;
  52. case  7 : strcpy(type , "USER_PROCESS");
  53. break;
  54. case  8 : strcpy(type , "DEAD_PROCESS");
  55. break;
  56. case  9 : strcpy(type , "ACCOUNTING");
  57. break;
  58. default : strcpy(type , "UTMAXTYPE");
  59. break;
  60. }
  61.  
  62. printf(" User : %s de type %s au process %d  n",
  63.  entry->ut_user,
  64.  type ,
  65.  entry->ut_pid );
  66. time(&entry->ut_time) ;
  67. ts = localtime(&entry->ut_time);
  68. strftime(buf, sizeof(buf), " Arrive : %a %Y-%m-%d %H:%M:%S %Z", ts) ;
  69. puts(buf);
  70.   
  71.        }
  72. }