- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
琼州学院电子信息工程学院
课程设计报告
课程名称: 计算机网络课程设计
设计题目: 数据包的捕获与分析
专 业: 软件工程
班 级: 10软件工程(2)班
姓 名: 韦春涛
起止日期: 2012.10.13-2012.11.14
指导教师: 陈德祥
指导教师评语:
最终成绩: 指导教师签名:
年 月 日 成绩评定 项 目 权 重 成 绩 1、设计过程中的学习态度 0.2 2、课程设计的质量及答辩 0.5 3、设计报告书规范程度 0.3 4、总成绩
目录
1引言 1
2需求分析 1
2.1功能需求 1
2.2性能要求 2
3系统设计 2
3.1 抓包原理及局域网设备 2
3.2 数据报格式 3
3.2.1 TCP数据报报头格式 3
3.2.2 IP数据报格式 5
3.3系统开发 6
3.3.1利用Java开源库JPcap 6
3. 3. 2利用网络抓包工具WinPcap 6
3. 3. 3 填充TCP包、IP包及发送 6
3.3.4源程序及执行代码说明 9
4软件测试 10
5使用说明 10
6设计总结 11
7参考文献 12
1引言
你是网络管理员吗?你是不是有过这样的经历:在某一天的早上你突然发现网络性能急剧下降,网络服务不能正常提供,服务器访问速度极慢甚至不能访问,网络交换机端口指示灯疯狂地闪烁、网络出口处的路由器已经处于满负荷的工作状态、路由器CPU已经到了百分之百的负荷……重启动后没有几分钟现象又重新出现了。
这是什么问题?设备坏了吗?不可能几台设备同时出问题。一定是有什么大流量的数据文件,耗尽了网络设备的资源,它们是什么?怎么看到它们?这时有经验的网管人员会想到用局域网来分析一下。数据在网络上是以很小的称为帧(Frame)的单位传输的,帧由几部分组成,不同的部分执行不同的功能。帧通过特定的称为网络驱动程序的软件进行成型,然后通过网卡发送到网线上,通过网线到达它们的目的机器,在目的机器的一端执行相反的过程。接收端机器的以太网卡捕获到这些帧,并告诉操作系统帧已到达,然后对其进行存储。就是在这个传输和接收的过程中,嗅探器会带来安全方面的问题。
每一个在局域网(LAN)上的工作站都有其硬件地址,这些地址惟一地表示了网络上的机器(这一点与Internet地址系统比较相似)。当用户发送一个数据包时,如果为广播包,则可达到局域网中的所有机器,如果为单播包,则只能到达处于同一碰撞域中的机器。
在一般情况下,网络上所有的机器都可以“听”到通过的流量,但对不属于自己的数据包则不予响应(换句话说,工作站A不会捕获属于工作站B的数据,而是简单地忽略这些数据)。如果某个工作站的网络接口处于混杂模式,那么它就可以捕获网络上所有的数据包和帧。普通的情况下,网卡只接收和自己的地址有关的信息包,即传输到本地主机的信息包。要使能接收并处理这种方式的信息,系统需要支持BPF,Linux下需要支持SOCKET一PACKET。但一般情况下,网络硬件和TCP/IP堆栈不支持接收或者发送与本地计算机无关的数据包,所以,为了绕过标准的TCP/IP堆栈,网卡就必须设置为我们刚开始讲的混杂模式。TCP数据报报头格式
TCP报文段数据结构如图1所示
图 1
TCP报文段主要包括以下字段:
·端口号:端口号字段包括源端口号和目的端口号。每个端口号的长度是16位,分别表示发送该TCP包的应用进程的端口号和接受该TCP包的应用进程的端口号。
·序号:长度为32位。由于TCP协议是面向数据流的,它所传送的报文段可以视为连续的数据流,因此需要给每个字节一个字节编号。序号字段的“序号”指的是本报文段数据的第一个字节的顺序号。
·确认号:该字段的长度为32位,它表示接收端希望接收的下一个TCP包的第一个字节的序号。
·报头长度:该字段长度为4位。TCP报头长度是以4B为一个单元来计算的,实际上报头长度在20B~60B之间。因此这个字段的值在5~15之间。
·保留:长度为6位,留作今后使用,目前全部置0。
·控制:这个字段定义了6种不同的标志,每个标志占一位,在同一时间可以设置一位或多位。URG位为1时,表明应尽快把数据传
文档评论(0)