WEB开发网
开发学院网络安全黑客技术 如何阅读源代码(4) 阅读

如何阅读源代码(4)

 2006-07-04 20:27:38 来源:WEB开发网   
核心提示: 该函数,一次读入一行(其实是一段日志数据中间的一个域,如何阅读源代码(4)(4),因为该行数据已经被fmt_logrec分开成多行数据了,根据CLF中的定义,做日期的分析,把日志中的月份等数据转换成机器可读(可理解)的数据,检查该数据并将其拷贝到log_rec结构中去,如果检查该数据有效

该函数,一次读入一行(其实是一段日志数据中间的一个域,因为该行数据已经被fmt_logrec分开成多行数据了。根据CLF中的定义,检查该数据并将其拷贝到log_rec结构中去,如果检查该数据有效,则返回1。回到主程序,
/* convert month name to lowercase */
   for (i=4;i<7;i++)
    log_rec.datetime[i]=tolower(log_rec.datetime[i]);
/* get year/month/day/hour/min/sec values */
   for (i=0;i<12;i++)
   {
    if (strncmp(log_month[i],&log_rec.datetime[4],3)==0)
     { rec_month = i+1; break; }
   }
rec_year=atoi(&log_rec.datetime[8]); /* get year number (int) */
   rec_day =atoi(&log_rec.datetime[1]); /* get day number */
   rec_hour=atoi(&log_rec.datetime[13]); /* get hour number */
   rec_min =atoi(&log_rec.datetime[16]); /* get minute number */
   rec_sec =atoi(&log_rec.datetime[19]); /* get second number */
....

在parse_record分析完数据之后,做日期的分析,把日志中的月份等数据转换成机器可读(可理解)的数据,并存入到log_rec中去。
if ((i>=12)||(rec_min>59)||(rec_sec>59)||(rec_year<1990))
   {
    total_bad++; /* if a bad date, bump counter */
    if (verbose)
    {
     fprintf(stderr,"%s: %s [%lu]",
     msg_bad_date,log_rec.datetime,total_rec);
 ......

上一页  1 2 3 4 5  下一页

Tags:如何 阅读 源代码

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接