编程实现简单的流量统计器.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编程实现简单的流量统计器

目录 目录 1 摘要 2 1 引言 2 1.1 课程设计目的 2 1.2 课程设计内容 3 1.3 课程设计要求 3 2设计原理 3 2.1 流量统计器的工作原理 4 2.2 JAVA JPCAP原理 4 3设计步骤 5 3.1 相关必须程序包的安装和解压 5 3.2 Myeclipse下的运行 7 4出现的问题及解决方法 10 5 结束语 11 参考文献 12 程序附录: 13 编程实现简单的流量统计器 学生姓名: 指导老师:摘要:它是一个可以记录访客来源地址(包括ip、转入地址、搜索引擎地址、关键词、ie浏览器型号等),被访问页面地址(受访页面,停留时间、转出地址等)的数字递增的源代码程序。JPCAP包设计并实现了一个流量统计系统. 关键词:1 引言,整个信息的流动和交换全部依托于这个庞大的网络系统。如果这个信息网络出现问题和故障,则会给社会、团体、个人等带来很大的损失。有效的网络管理不仅能够保证网络的正常运行,而且能够有效地避免网络故障给我们带来的损失。在网络管理过程中,网络流量监控是整个网络管理的一个重要部分。对于一个网络管理员,有效的网络流量监控不仅能够让网络管理人员能够及时了解网络的运行状态,并且能够对网络出现的问题作出及时调整和排除。 1.1 课程设计目的 以基础技能训练和能力培养为主线,从培养学生动手能力,培养工程技术实际应用型人才入手,强化综合性、实际性。目的是通过实习使学生掌握计算机网络的实际开发所要掌握技术,培养其动手能力,观察能力,分析和解决实际问题的能力,巩固、加深理论课知识,增加感性认识,进一步加深对计算机网络的理解,提高对网络中所于奥实现的功能的系统设计能力和调试能力。 1.2 课程设计内容 1.利用原始套接字实现简单的流量统计器。 2.系统功能包括: 2.1 原始套接字与网卡邦定,并接收流经网卡的所有数据包; 2.2 对数据包进行分析以获得源IP地址和目的IP地址; 2.3 对数据包进行分析以获得运输层协议类型; 2.4 对数据包进行分析以获得数据包的长度; 2.5 对本机发送、接收的各运输层协议的数据流量进行统计,并显示统计结果。 1.3 课程设计要求 (1)按要求编写课程设计报告书,能正确阐述设计结果。 (2)通过课程设计培养学生严谨的科学态度,认真的工作作风和团队协作精神。 (3)学会文献检索的基本方法和综合运用文献的能力。 (4)在老师的指导下,要求每个学生独立完成课程设计的全部内容。 2设计原理 图2-1流量统计器工作原理图 2.1 流量统计器的工作原理 源代码放置在网页中,每次有用户浏览到这个网页时就会触发这个源代码程序工作,然后以全程记录所有信息,并以数字递增的方式把结果统计出来传到服务器,再到程序的服务器后台进行具体分析并实时保存,这就是的原理了。JAVA JPCAP原理 Java语言虽然在TCP/UDP传输方面给予了良好的定义,但对于网络层以下的控制,却是无能为力的。JPCAP扩展包弥补了这一点。JPCAP实际上并非一个真正去实现对数据链路层的控制,而是一个中间件,JPCAP调用wincap/libpcap,而给Java语言提供一个公共的接口,从而实现了平台无关性。局域网监听利用的是所谓的“ARP欺骗”技术。在以前曾经一段阶段,局域网的布局是使用总线式(或集线式)结构,要到达监听只需要将网卡设定为混杂模式即可,但现在的局域网络普遍采用的是交换式网络,所以单纯靠混杂模式来达到监听的方法已经不可行了。所以为了达到监听的目的,我们需要“欺骗”路由器、“欺骗”交换机,即“ARP欺骗”技术。假设本机为A,监听目标为B。首先,伪造一个ARP REPLY包,数据链路层头及ARP内容部分的源MAC地址填入A的MAC地址,而源IP部分填入网关IP,目的地址填入B的MAC、IP,然后将这个包发送给B,而B接收到这个伪造的ARP REPLY包后,由于源IP为网关IP,于是在它的ARP缓存表里刷新了一项,将(网关IP,网关MAC)刷新成(网关IP,A的MAC)。而B要访问外部的网都需要经过网关,这时候这些要经过网关的包就通通流到A的机器上来了。接着,再伪造一个ARP REPLY包,数据链路层头及ARP内容部分的源MAC地址填入A的MAC地址,而源IP部分填入B的IP,目的地址填入网关MAC、IP,然后将这个包发给网关,网关接收到这个伪造的ARP REPLY包后,由于源IP为B的IP,于是在它的ARP缓存表里刷新了一项,将(B的IP,B的MAC)刷新成(B的IP,A的MAC)。这时候外部传给B的数据包经过网关时,就通通转发给A。 这样还只是拦截了B的数据包而已,B并不能上网——解决方法是将接收到的包,除了目的地址部分稍做修改,其它原封不动的再转发出去,这样就达到了监听的目的——在B不知不觉中浏览了B所

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档