wireshark的pcap文件格式分析及解析源码

wireshark的pcap文件格式分析及解析源码

ID:35203294

大小:42.00 KB

页数:6页

时间:2019-03-21

wireshark的pcap文件格式分析及解析源码_第1页
wireshark的pcap文件格式分析及解析源码_第2页
wireshark的pcap文件格式分析及解析源码_第3页
wireshark的pcap文件格式分析及解析源码_第4页
wireshark的pcap文件格式分析及解析源码_第5页
资源描述:

《wireshark的pcap文件格式分析及解析源码》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Wireshark的Pcap文件格式分析及解析源码下面主要介绍下Ethereal默认的*.pcap文件保存格式。 Pcap文件头24B各字段说明:Magic:4B:0x1A2B3C4D:用来标示文件的开始Major:2B,0x0200:当前文件主要的版本号Minor:2B,0x0400当前文件次要的版本号ThisZone:4B当地的标准时间;全零SigFigs:4B时间戳的精度;全零SnapLen:4B最大的存储长度LinkType:4B链路类型常用类型: 0BSDloopbackdevices,exceptforlaterOpenBSD1

2、Ethernet,andLinuxloopbackdevices6802.5TokenRing7ARCnet8SLIP9PPP10FDDI100LLC/SNAP-encapsulatedATM101"rawIP",withnolink102BSD/OSSLIP103BSD/OSPPP104CiscoHDLC105802.11108laterOpenBSDloopbackdevices(withtheAF_valueinnetworkbyteorder)113specialLinux"cooked"capture114LocalTalkPac

3、ket包头和Packet数据组成字段说明:Timestamp:时间戳高位,精确到secondsTimestamp:时间戳低位,精确到microsecondsCaplen:当前数据区的长度,即抓取到的数据帧长度,由此可以得到下一个数据帧的位置。Len:离线数据长度:网络中实际数据帧的长度,一般不大于caplen,多数情况下和Caplen数值相等。Packet数据:即Packet(通常就是链路层的数据帧)具体内容,长度就是Caplen,这个长度的后面,就是当前PCAP文件中存放的下一个Packet数据包,也就是说:PCAP文件里面并没有规定捕获

4、的Packet数据包之间有什么间隔字符串,下一组数据在文件中的起始位置。我们需要靠第一个Packet包确定。最后,Packet数据部分的格式其实就是标准的网路协议格式了可以任何网络教材上找得到。以下是我的实现,针对自定义的UDP的抓包文件进行解析typedefstructtagIpHead{intversion;//版本intheadLength;//头长度intdiffsever;inttotallength;//总长度intidentification;intflag;intfragment;intttl;intprotocoltype

5、;//协议类型intchecksum;unsignedlongsrcip;//源ipunsignedlongdstip;//目的ip}IP_HEAD;typedefstructtagUdpHead{unsignedshortsrcport;//源端口unsignedshortdstport;//目的端口intlength;//udp包长度}UDP_HEAD;unsignedlongFileParse::Parse(constchar*FileName,bool&bThreadRun)//,HWNDhwnd){if(_wass_session

6、){delete_wass_session;_wass_session=NULL;}_wass_session=newWassSessions();//////////////////////////////////////////////////////////////////////////unsignedlonglRes=0;FILE*pFile=NULL;intnReadSize=0;charbuff[FILE_READ_LEN];characip[30];charportalip[30];charradiusip[30];unsi

7、gnedlongtimestamp1;unsignedlongtimestamp2;CConfigure*config=newCConfigure();if(config){//读取ip地址,添加到iplist中unsignedlongipTmp=0;unsignedshortportTmp=0;config->getIPConfig(acip,portalip,radiusip);cut_ip(acip,ipTmp,portTmp);acport_list.push_back(portTmp);acip_list.push_back(ip

8、Tmp);cut_ip(portalip,ipTmp,portTmp);portalip_list.push_back(ipTmp);portalport_list.push_b

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

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

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