由于要做码流处理,最近把功能强大开源的wireshark当成了“捷径”,想从其中摘取解析引擎部分。这就开始了全部源码的编译、分析过程。大概用了两周,基本捋清了它的运行机制。但到摘取代码的时候发现,难度好大,源文件众多,条件编译众多,依赖库众多。。。现将2周分析源码的“成果”贴出来(更多的是想与同样分析wireshark的网友一起探讨,经验分享),有不恰当及错误的地方,欢迎各位大神指正,如果能帮助到其他人则是更好,现以流程图方式展现。注意:  此流程图是在指定抓取固定包数的模式下进行的(因为其源码条件抓包分为文件及包数的方式)。命令格式如:./tshark -c 200 并且,流程图中未详尽列出从Frame到应用层协议(HTTP)解析的层层调用关系,这一步可以在相关应用层协议的解析器函数打上断点(例如HTTP:b dissect_tcp_http),gdb模式下直接bt,看栈信息即可。
2019-12-21 21:21:42 92KB wireshark
1
扩充pl\0编译器设计之词法分析程序 内嵌函数: void clearToken(); //清空token字符数组 int isSpace(); //空格 int isNewline(); //换行符 int isTab(); //Tab int isLetter(); //字母 int isDigit(); //数字 int isColon(); //冒号 : int isComma(); //逗号 , int isSemi(); //分号 ; int isEqu(); //等号 = int isPlus(); //加号 + int isMinus(); //减号 - int isDivi(); //除号 / int isStar(); //乘号 * int isLpar(); //左括号 ( int isRpar(); //右括号 ) int isLbrack(); //左中括号 [ int isRbrack(); //右中括号 ] int isLbrace(); //左大括号 { int isRbrace(); //右大括号 } int isLss(); //小于号 int isPeriod(); //点号 . int isQmark(); //单引号 ' int isDqmark(); //双引号 " int isStringElement(); //字符串合法字符,ASCII码值为32,33,35-126的字符 void catToken(); //每次调用前把当前ch中的字符与token字符数组中的字符串联结 void retract(); //将读字符指针后退一个字符 void reserve(); //保留字 void lexical_error(); //错误处理过程
2019-12-21 21:18:08 274KB 编译原理 词法分析 pl\0
1
《MATLAB统计分析与应用:40个案例分析》内容及各章节程序与数据
2019-12-21 21:17:26 6.59MB 统计学 MATLAB
1
开发平台: Windows XP SP2 Visual Studio 6.0 程序使用命令行运行:IPMonitor.exe duration_time。duration_time为监控时间,单位为秒。 程序的运行效果如下图所示:
1
java对音频文件的频谱分析,很好的东西 !
2019-12-21 21:16:36 84KB java 音频文件
1
Matlab 时频分析程序及详解,文档中总结了各种时频分析的matlab程序,并给出了相应的仿真结果图,已运行调试通过,希望对新手有用
2019-12-21 21:12:13 1.15MB Matlab 时频分析
1
可以实现的功能:识别关键字,普通标识符,文件形式输入输出,过滤空格、注释等功能
1
语法分析程序的设计与实现的全套实验报告有详细的内容
2019-12-21 21:07:40 162KB 编译
1
包含程序源码 应用程序 语言:C++ 编程软件:Microsoft Visual Studio 2015
2019-12-21 21:06:51 9.82MB IP数据报 流量分析 C++
1
这是一个基于gabor原子的时频分析程序,值得大家参考学习
2019-12-21 21:04:19 3KB gabor原子时频分析
1