锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 开源技术 / Wireshark开源技术基地,锐英源是WireShark二次开发专家
技术分类
WireShark架构
WireShark源代码解析
WireShark编译
WireShark源代码编译
WireShark协议
ppp认证协议文档
RADIUS协议
WireShark分析经验
和国外专家交流
联系方式
固话:0371-63888850
手机:138-0381-0136
Q Q:396806883
微信:ryysoft

Wireshark


Wireshark简介

Wireshark是强大的抓包和数据包分析软件,它用纯C语言开发,架构合理,能够分析常用的数据包。Wireshark是分析网络数据的利器,也是编程爱好者掌握计算机网络的工具。利用它进行二次开发,可以完成对网络设备上网络数据的抓取分析,也可以对计算机上的网络数据进行抓取分析。

Wireshark除了带窗口界面的主可执行文件,还提供其它附属的可执行文件,是一整套工具集,如果觉得主可执行文件太消耗资源,也可以使用tshark来获取结果,tshark是控制台程序,节省资源。Wireshark依赖的抓包驱动是pcap,也是一个成熟的技术平台。


锐英源WireShark研究成绩

锐英源在WireShark二次开发时主要涉及到如下文件:

  • packet-ip.c
  • packet-ppp.c
  • packet-radius.c
  • packet-radius.h

锐英源在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;
}
友情链接
版权所有 Copyright(c)2004-2024 锐英源软件
统一社会信用代码:91410105098562502G 豫ICP备08007559号 最佳分辨率 1440*900
地址:郑州市金水区文化路97号郑州大学北区院内南门附近