精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
Wireshark是强大的抓包和数据包分析软件,它用纯C语言开发,架构合理,能够分析常用的数据包。Wireshark是分析网络数据的利器,也是编程爱好者掌握计算机网络的工具。利用它进行二次开发,可以完成对网络设备上网络数据的抓取分析,也可以对计算机上的网络数据进行抓取分析。
Wireshark除了带窗口界面的主可执行文件,还提供其它附属的可执行文件,是一整套工具集,如果觉得主可执行文件太消耗资源,也可以使用tshark来获取结果,tshark是控制台程序,节省资源。Wireshark依赖的抓包驱动是pcap,也是一个成熟的技术平台。
锐英源在WireShark二次开发时主要涉及到如下文件:
锐英源在Wireshark代码里加入了大数据处理机制,高效管理了数据状态。
锐英源还在Wireshark架构里引入了线程机制和消息机制,实现了产品级开发要求。
锐英源精通glib开发,添加的函数和数据处理代码,完全不影响Wireshark主架构运行。下面列出2个读写配置文件的函数,以资借鉴:
gboolean as_read_rebootset()
{
gint8 igethour=-1;
FILE * prebootfile=NULL;
int ihour=0,iminu=0,isec=0,iyear=0,imonth=0,iday=0;
struct tm twhen;
time_t curr;
prebootfile= ws_fopen(SET_FILE_REBOOT,"r"); /* open read only */
if(!prebootfile)
{
g_printf("打开重启配置文件失败\n");
return FALSE;
}
fscanf(prebootfile,"%d",&igethour);
if(igethour<0 || igethour>=24)
{
g_printf("重启配置文件读取时间段设置失败\n");
fclose(prebootfile);
return FALSE;
}
giRebootHour=igethour;
time(&curr);
twhen = *localtime(&curr);
fscanf(prebootfile,"%d-%d-%d %d:%d:%d",&iyear,&imonth,&iday,&ihour,&iminu,&isec);
twhen.tm_year=iyear-1900;
twhen.tm_mon=imonth-1;
twhen.tm_mday=iday;
twhen.tm_hour=ihour;
twhen.tm_min=iminu;
twhen.tm_sec=isec;
g_printf("重启小时%d,读取到的时间%d-%d-%d %d:%d:%d\n",giRebootHour,twhen.tm_year+1900, twhen.tm_mon,twhen.tm_mday,twhen.tm_hour,twhen.tm_min,twhen.tm_sec);
gtLastReboot=mktime(&twhen);
fclose(prebootfile);
return TRUE;
}
gboolean as_write_rebootset()
{
FILE * prebootfile=NULL;
gchar ctimeline[32];
int ihour=0,iminu=0,isec=0,iyear=0,imonth=0,iday=0;
struct tm *pwhen;
time_t curr;
prebootfile= ws_fopen(SET_FILE_REBOOT,"w"); /* open read only */
if(!prebootfile)
return FALSE;
fprintf(prebootfile,"%d\n",giRebootHour);
time(&curr);
pwhen = localtime(&curr);
g_sprintf(ctimeline,"%d-%d-%d %d:%d:%d",pwhen->tm_year+1900,pwhen->tm_mon+1, pwhen->tm_mday,pwhen->tm_hour,pwhen->tm_min,pwhen->tm_sec);
fprintf(prebootfile,"%s",ctimeline);
fclose(prebootfile);
return TRUE;
}