Linux系统下Sniffer的实现(二).doc

Linux系统下Sniffer的实现(二).doc

ID:11776226

大小:54.50 KB

页数:15页

时间:2018-07-13

Linux系统下Sniffer的实现(二).doc_第1页
Linux系统下Sniffer的实现(二).doc_第2页
Linux系统下Sniffer的实现(二).doc_第3页
Linux系统下Sniffer的实现(二).doc_第4页
Linux系统下Sniffer的实现(二).doc_第5页
资源描述:

《Linux系统下Sniffer的实现(二).doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、Linux系统下Sniffer的实现(二)BOOLReadTable()//读取Table.DAT{FILE*tab=fopen(TABLE_FILE,"r");//打开文件intcount=fread(Tab,sizeof(int),TAB_SIZE,tab);fflush(tab);//刷新文件流for(inti=0;i<=TAB_SIZE-2;i++)if(Tab[i]!=-1&&Tab[i+1]!=-1)Tab[i+1]=Tab[i+1]+Tab[i];elsebreak;returnTRUE;}

2、intLoadPack()//加载数据包{inti;intload_packs=0;FILE*pack=fopen(PACK_FILE,"r");for(i=0;i<BUF_COUNT;i++){if(Tab[to_be_load+i]!=-1&&Tab[to_be_load+i+1]!=-1)15{intsize=Tab[to_be_load+i+1]-Tab[to_be_load+i];intoffset=Tab[to_be_load+i];if(fread(buf+i,size,1,pack)!=1

3、){printf("Readerror...");exit(1);}load_packs++;//更新变量}else{/*donothing*/}}fflush(pack);//刷新数据流to_be_load+=load_packs;//更新变量returnload_packs;//返回读取的数目}  3.4.2系统中的buffer15  在现实中的很多系统中,buffer是很重要的一种思想,为的就是减少读取外部存储的次数,延长设备的使用寿命。Buffer在计算机系统中,应用是很广泛的,例如,在硬盘和内存之间存在一层缓

4、冲区,在CPU和内存之间同样也存在一层缓冲区,这层缓冲区通常被称作Cache。  在本系统中,也同样利用了Buffer思想,有着传统意义上的原因,当然还考虑到用户操作时的特殊性,系统的Buffer思想描述如下:  l在任意时刻,Buffer内最多存储100个Package数据  l刚开始,加载pack0~pack99共计100个package,当要查看pack100时,则采取的方法是:保留旧的50个package,加载新的50个package,则package编号变为:pack50~pack149,这样操作的原因是为了用户的方

5、便,因为用户经常会查看某个报文附近的几个报文。  初始状态下,假设系统已经加载了编号为0到99的数据包,如图2.7所示:            图2.7加载前缓冲区内容  在某一时刻,假设用户想查看编号为100的数据包,则需要重新加载,重新加载后的数据包如图2.8所示:           图2.8加载后缓冲区内容  使用此种Buffer思想,用户操作的方便性即体现在这个方面,在对某条报文进行研究时,会经常查看它的临近报文,使用此种机制,那么便不会不断的对要查看的临近报文进行加载,减少了读取硬盘的次数。  3.4.3系统的显示

6、问题  在控制台上,要想建造一个好的用户操作界面,是一件比较难的事情,根据我的体验,linux下著名的Sniffer工具tcpdump的操作界面也不够友好,普通用户很难操作。在window环境下的Sniffer工具Ethereal界面比较美观,方便操作,所以,建造一个好的用户操作界面成为我此次毕设的攻克重点。  本系统的显示分为两种显示模式:“detail”模式和“simple”模式,“detail”模式意为“详细显示模式”,“simple”模式意为“简单显示模式”。  在“detail”模式下,每个包得到尽可能详细的解析,解

7、析包的每一层信息,示意如图2.9:15         图2.9详细显示模式  根据上图显示的信息,可以得知此包是一个ICMPPackage,具体内容属于pingReply,更详细得知是本主机ping本主机的一个数据包。  “simple”模式意为简单模式,所谓简单模式就是对每个Package尽可能的用一句话来描述,虽然尽可能的简短,但是一定要包含以下信息:  lPackage的类型  lPackage的作用  这种模式的重要作用是在用户对包进行检测和测量时,通常会查看相邻的几个Package,这样的模式方便用户进行“查看上一

8、个Package”和“查看下一个Package”,只要用户在这种模式下按“N”或者“n”就可以查看下一个package,只要按“L”或“l”键就可以查看上一个Package。  “simple”模式的示意如图2.10所示:          图2.10简单显示模式  从图中可

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。