嗅探器的设计与实现 课程设计

嗅探器的设计与实现  课程设计
嗅探器的设计与实现  课程设计

目录

1 引言 (1)

1.1 开发背景 (1)

1.2 开发意义 (1)

2 系统分析 (2)

2.1 设计概述 (2)

2.1.1 实现目标 (2)

2.1.2 开发环境 (2)

2.2 开发相关技术简介 (2)

2.2.1 C#语言简介 (2)

2.2.2 嗅探技术简介 (3)

2.2.3 TCP/IP协议 (4)

2.2.4 数据包简介 (6)

2.3 可行性分析 (8)

3 详细设计 (9)

3.1 设计原理 (9)

3.2 功能说明 (11)

3.3 系统实施 (12)

3.4 系统测试 (14)

4 论文总结 (19)

致谢 (20)

参考文献 (21)

1 引言

1.1 开发背景

网络技术的日新月异,发展突飞猛进,计算机网络的应用越来越广泛,其作用也越来越重要。但是由于计算机系统中软硬件的脆弱性和计算机网络的脆弱性以及地理分布的位置、自然环境、自然破坏以及人为因素的影响,不仅增加了信息存储、处理的风险,也给信息传送带来了新的问题。计算机网络安全问题越来越严重,网络破坏所造成的损失越来越大。Internet的安全已经成为亟待解决的问题。多数黑客入侵成功并植入后门后的第一件事就是选择一个合适当前网络的嗅探器,以获得更多的受侵者的信息。嗅探器是一种常用的收集有用数据的方法,可以作为网络数据包的设备。网络嗅探器就是是利用计算机的网络接口截获其他计算机的数据报文的一种工具,而且它与一般的键盘捕获程序不同。键盘捕获程序捕获在终端上输入的键值,而嗅探器捕获的则是真实的网络报文.如果把网络嗅探器放置于网络节点处,对网络中的数据帧进行捕获的一种被动监听手段,是一种常用的收集有用数据的方法,可以分析各种信息包并描述出网络的结构和使用的机器,由于它接收任何一个在同一网段上传输的数据包,所以也就存在着捕获密码、各种信息、秘密文档等一些没有加密的信息的可能性。这成为黑客们常用的扩大战果的方法,用来夺取其他主机的控制权。当然嗅探器的正当用处主要是网络管理人员分析网络的流量,以便找出所关心的网络中潜在的问题。例如,假设网络的某一段运行得不是很好,报文的发送比较慢,而我们又不知道问题出在什么地方,此时就可以用嗅探器截获网络中的数据包,分析问题的所在。[1]

1.2 开发意义

本次毕业设计是基于C#的网络嗅探器的设计与实现,由于本人能力上的限度,只是对抓取到的本机在网络中的通信数据,比如说协议类型,源、目的地址和端口、数据包的大小等加以分析,而无法做到像Sniffer或者影音神探那种成熟的嗅探器所拥有的强大功能。作为从事网络技术方面的人员来说,要想有效地利用它、防范它,就得深入地学习、分析网络嗅探技术。最为重要的是,对于网络嗅探器的设计与实现,使我对网络通信,数据传输和网络信息安全等有了切身的体会与融入,同时也是对大学四年的学以致用,不断提高自我的一种有效途径。

2 系统分析

2.1 设计概述

基于C#的网络嗅探器的设计与实现,首先就是要设定好实现的目标,确定开发的环境。有个合理的设计目标使得在设计过程中不茫然,思路更清楚。而一个好的开发环境对提高开发的效率同样起着很重要的作用。

2.1.1 实现目标

实现一个简单的网络嗅探器。具备以下功能:

1、实现一个简洁的易操作的计算机操作用户界面

2、实现抓取数据包的功能

3、实现暂停抓取数据包的功能

4、实现清空列表的功能

5、实现显示数据包详细信息的显示功能

2.1.2 开发环境

Microsoft Visual Studio 2005,Windows XP

2.2 开发相关技术简介

本节将对本设计中用到的一些主要技术进行简单的介绍。

2.2.1 C#语言简介

C#(C Sharp)是微软于2000年提出的一种源于C++、类似于Java的面向对象编程语言,适合于分布式环境中的组件开发。C# 是专门为.NET设计的,也是.NET编程的首选语言。C#的产生是因为微软在.NET上需要一种类Java的语言,而Java本身却不能胜任这一需求。C#太像C++了,以至于它很难给人带来体验新事物时的那种兴奋。不过,绝大部分的C++开发者将会因为C#保留了C++中大部分其喜欢的、强大的、令人激动的功能而选择使用它。C#通过避免一般的编程错误和自动资源管理,使得C#的稳定性得到了极大的增强。另外,

C#语言功能强大且可以实现对象之间的转换,轻松实现各种对象转换成字符串。鉴于以上种种,我选用C#作为我本次设计的开发语言。[2]

2.2.2 嗅探技术简介

数据在网络上是以很小的称为帧(Frame)的单位传输的,帧由几部分组成,不同的部分执行不同的功能。帧通过特定的称为网络驱动程序的软件进行成型,然后通过网卡发送到网线上,通过网线到达它们的目的机器,在目的机器的一端执行相反的过程。接收端机器的以太网卡捕获到这些帧,并告诉操作系统帧已到达,然后对其进行存储。就是在这个传输和接收的过程中,存在着安全方面的问题。

每一个在局域网(LAN)上的工作站都有其硬件地址,这些地址唯一地表示了网络上的机器(这一点与Internet地址系统比较相似)。当用户发送一个数据包时,这些数据包就会发送到LAN上所有可用的机器。[3]

图示:一个简单的局域网组成

在一般情况下,网络上所有的机器都可以“听”到通过的流量,但对不属于自己的数据包则不予响应(换句话说,工作站A不会捕获只属于工作站B的数据,而是简单地忽略这些数据)。

嗅探器工作在网络的底层,在网络上监听数据包来获取敏感信息。从原理上来说,在一个实际的系统中,数据的收发是由网卡来完成的,网卡接收到传输来的数据,其内的单片程序接收数据帧的目的MAC地址,根据计算机上的网卡驱动程序设置的接收模式判断该不该接收,认为该接收就接收后产生中断信号通知CPU,认为不该接收就丢掉不管,所以不该接收的数据网卡就截断了,计算机根本就不知道。对于网卡来说一般有四种接收模式:

a)广播方式:该模式下的网卡能够接收网络中的广播信息。

b)组播方式:设置在该模式下的网卡能够接收组播数据。

c)直接方式:在这种模式下,只有目的网卡才能接收该数据。

d)混杂模式:在这种模式下的网卡能够接收一切通过它的数据,而不管该数据是否是传给它的。

首先,在以太网中是基于广播方式传送数据的,也就是说,所有的物理信号都要经过我的机器。其次,如果某个工作站的网络接口处于混杂模式,那么它就可以捕获网络上所有的数据。

嗅探程序是一种利用以太网的特性把网络适配卡(NIC,一般为以太网卡)置为混杂模式状态的工具,一旦网卡设置为这种模式,它就能接收传输在网络上的每一个信息包,而不管该数据是否传给它的。[4]

2.2.3 TCP/IP协议

因特网是一个发展非常活跃的领域。在1968年,它的早期研究成果开始崭露头角,后来便出现了它的前身ARPANET,ARPANET为表现因特网特性的试验平台做出了重大贡献,1973年,因特网正式面世。从那时起,关于因特网的研究和努力就一直没有间断过,其中大部分努力都是围绕着被称为网络的一个新型赛博空间所需要的标准而进行的。因特网协议及其标准与世界上任何其他事物的结构不同,它总是由一些机构或专业人士中的个人首先提出的。为了了解新的协议是如何出现并最终成为标准的,应该首先熟悉缩写词RFC,即Request for Comment。它的发展变迁过程要追溯到1969年,起因是由于因特网的成员过于分散。正如这个词的字面意思所示,这些文档是一些实用文档、方法、测试结果、模型甚至完整的规范。因特网社会的成员可以阅读,也可以把意见反馈给RFC,如果这些想法(或基本原理)被社会接受,就有可能成为标准。在因特网社会中关于RFC的用法以及如何操作并没有太大的变化。1969年,当时只有一个网络,整个社会不超过一百位专业人员;随着因特网的飞速发展,因特网不但需要一个机构来集中和协调这些成果,并且需要制定一个最低要求的准则,至少能在成员之间进行有效的通信并取得相互了解。1974年前后,摆在ARPANET面前的形势很清晰了,通信联络需要进一步扩展,它需要的不仅是要能容纳成倍增加的通信媒体,而且要了解早已存在于群组中的许多领域的意义。这个领域需要一个管理者。大约在1977年,随着作为因特网实验备忘录(IEN)一部分的许多实验的进行,著名的TCP/IP协议获得了发展的动力。没过多久(1986年),为了RFC讨论的需要,需要建立一个由工程技术人员组成

的、对标准的发展负责的工作机构,以便有效地引导因特网的发展成长,这样,因特网工程工作组(INENG)成立了。今天,因特网工程部(IETF)和因特网研究部(TRTF)成为对因特网近期工程需求和远期研究目标负责、并担负重任的两个工作组。这两个组织曾直接隶属于国际网络执行委员会(IAB),现在属于因特网协会(1992年成立),这个协会最终也是为因特网技术的发展负责的。

但是,如果你是一个因特网上的常客,可能对缩略词IAB并不满意,的确,在IAB的逐步发展并走向成熟过程中,IAB将它的名字改为“Internet Architecture Board”(由“Activities”改为“Architecture”),因为I A B在因特网发展的运作方面并没起多大作用。谈到RFC标准,那么首先考虑到的应该是RFC733。如果有关于标准的想法或对因特网有益的新技术,可以把它作为RFC提交给因特网社会。作为IAB成员之一的RFC编辑,决定着RFC的发表,对任一正式文档,RFC都有一种确定的风格和格式。[5]

现今因特网上用到的主要协议有:用户数据报协议(UDP),次要文件传输协议(TFTP),网际协议(IP),因特网控制报文协议(ICMP),传输控制协议(TCP),地址转换协议(ARP),虚终端协议(Telnet),反向地址转换协议(RARP),外部网关协议(EGP)版本2,引导协议(BootP),路由信息协议(RIP),距离向量多播路由协议(DVMRP)。下面对其中的4个协议做一些简单的介绍:

① IP :网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。IP层接收由更低层(网络接口层,例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层--TCP 或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。

高层的TCP和UDP服务在接收数据包时,通常假设包中的源地址是有效的。也可以这样说,IP地址形成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送来的。IP确认包含一个选项,叫作IP Source Routing,可以用来指定一条源地址和目的地址之间的直接路径。对于一些TCP和UDP的服务来说,使用了该选项的IP包好象是从路径上的最后一个系统传递过来的,而不是来自于它的真实地点。这个选项是为了测试而存在的,说明了它可以被用来欺骗系统来进行平常是被禁止的连接。那么,许多依靠IP源地址做确认的服务将产生问题并且会被非法入侵。

② TCP:如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向‘上’传送到TCP层。TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。

TCP将它的信息送到更高层的应用程序,例如Telnet的服务程序和客户程序。应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层,设备驱动程序和物理介质,最后到接收方。

面向连接的服务(例如Telnet、FTP、Rlogin、X Windows和SMTP)需要高度的可靠性,所以它们使用了TCP。DNS在某些情况下使用TCP(发送和接收域名数据库),但使用UDP传送有关单个主机的信息。

③ UDP:UDP与TCP位于同一层,但对于数据包的顺序错误或重发。因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询---应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。使用UDP的服务包括NTP(网落时间协议)和DNS(DNS也使用TCP)。欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立初始化连接(也可以称为握手)(因为在两个系统间没有虚电路),也就是说,与UDP相关的服务面临着更大的危险。

④ ICMP: ICMP与IP位于同一层,它被用来传送IP的的控制信息。它主要是用来提供有关通向目的地址的路径信息。ICMP的‘Redirect’信息通知主机通向其他系统的更准确的路径,而‘Unreachable’信息则指出路径有问题。另外,如果路径不可用了,ICMP可以使TCP连接‘体面地’终止。PING是最常用的基于ICMP的服务。[6]

2.2.4 数据包简介

“包”(Packet)是TCP/IP协议通信传输中的数据单位,一般也称“数据包”。有人说,局域网中传输的不是“帧”(Frame)吗?没错,但是TCP/IP协议是工作在OSI模型第三层(网络层)、第四层(传输层)上的,而帧是工作在第二层(数据链路层)。上一层的内容由下一层的内容来传输,所以在局域网中,“包”是包含在“帧”里的。OSI(Open System Interconnection,开放系统互联)模型是由国际标准化组织(ISO)定义的标准,它定义了一种分层体系结构,在其中的每一层定义了针对不同通信级别的协议。OSI模型有5层,1到5层分别是:物理层、数据链路层、网络层、传输层、应用层。OSI模型在逻辑上可分为两个部分:低层的1至3层关注的是原始数据的传输;高层的4至5层关注的是网络下的应用

程序。我们可以用一个形象一些的例子对数据包的概念加以说明:我们在邮局邮寄产品时,虽然产品本身带有自己的包装盒,但是在邮寄的时候只用产品原包装盒来包装显然是不行的。必须把内装产品的包装盒放到一个邮局指定的专用纸箱里,这样才能够邮寄。这里,产品包装盒相当于数据包,里面放着的产品相当于可用的数据,而专用纸箱就相当于帧,且一个帧中只有一个数据包。“包”听起来非常抽象,那么是不是不可见的呢?通过一定技术手段,是可以感知到数据包的存在的。比如在Windows 2000 Server中,把鼠标移动到任务栏右下角的网卡图标上(网卡需要接好双绞线、连入网络),就可以看到“发送:××包,收到:××包”的提示,如下图所示:

通过数据包捕获软件,也可以将数据包捕获并加以分析。就是用网络嗅探器捕获数据包,可以查看捕获到的数据包的MAC地址、IP地址、协议类型端口号等细节。通过分析这些数据,网管员就可以知道网络中到底有什么样的数据包在活动了。数据包的结构非常复杂,不是三言两语能够说清的,在这里主要了解一下它的关键构成就可以了,这对于理解TCP/IP 协议的通信原理是非常重要的。数据包主要由“目的IP地址”、“源IP地址”、“净载数据”等部分构成。数据包的结构与我们平常写信非常类似,目的IP地址是说明这个数据包是要发给谁的,相当于收信人地址;源IP地址是说明这个数据包是发自哪里的,相当于发信人地址;而净载数据相当于信件的内容。正是因为数据包具有这样的结构,安装了TCP/IP 协议的计算机之间才能相互通信。我们在使用基于TCP/IP协议的网络时,网络中其实传递的就是数据包。比如说当你上网时打开某个网页,这个简单的动作,就是你先发送数据包给那个网站,它接收到了之后,根据你发送的数据包的IP地址,返回给你网页的数据包,也就是说,网页的浏览,实际上就是数据包的交换。理解数据包,对于网络管理的网络安全具有至关重要的意义。

2.3 可行性分析

可行性研究(Feasibility Study)是通过对项目的主要内容和配套条件,如市场需求、资源供应、建设规模、工艺路线、设备选型、环境影响、资金筹措、盈利能力等,从技术、经济、工程等方面进行调查研究和分析比较,并对项目建成以后可能取得的财务、经济效益及社会环境影响进行预测,从而提出该项目是否值得投资和如何进行建设的咨询意见,为项目决策提供依据的一种综合性的系统分析方法。可行性研究应具有预见性、公正性、可靠性、科学性的特点。[7]

当然这次论文的可行性研究并没有上述的如此意义重大,只是理清整个系统分析和设计的大致过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。它的目的不是解决问题,而是确定问题是否值得去解决。当然在现阶段这样的信息安全背景下,网络嗅探器的研究与使用的价值是毋庸置疑的。不仅可以有效地诊断网络状况,更可以为信息安全战打攻坚战。它是广大的网络技术人员不可或缺的工具之一。

3 详细设计

3.1 设计原理

嗅探器是如何工作的?如何窃听网络上的信息?网络的一个特点就是数据总是在流动中,从一处到另外一处,而互联网是由错综复杂的各种网络交汇而成的,也就是说:当你的数据从网络的一台电脑到另一台电脑的时候,通常会经过大量不同的网络设备,(我们用tracert命令就可以看到这种路径是如何进行的)。如果传输过程中,有人看到了传输中的数据,那么问题就出现了——这就好比我们用手机给人发了一条短信,结果除了发送对象以外,还发到别人的手机上了一样,这样说或许还不是很可怕,要是传送的数据是企业的机密文件呢,或是用户的信用卡帐号和密码呢?[8]

嗅探侦听主要有两种途径,一种是将侦听工具软件放到网络连接的设备或者放到可以控制网络连接设备的电脑上,(比如网关服务器,路由器)——当然要实现这样的效果可能也需要通过其他黑客技术来实现:比如通过木马方式将嗅探器发给某个网络管理员,使其不自觉的为攻击者进行了安装。另外一种是针对不安全的局域网(采用交换HUB实现),放到个人电脑上就可以实现对整个局域网的侦听,这里的原理是这样的:共享HUB获得一个子网内需要接收的数据时,并不是直接发送到指定主机,而是通过广播方式发送到每个电脑,对于处于接受者地位的电脑就会处理该数据,而其他非接受者的电脑就会过滤这些数据,这些操作与电脑操作者无关,是系统自动完成的,但是电脑操作者如果有意的话,就可以将那些原本不属于他的数据打开,这就是安全隐患!

以太网的数据传输是基于“共享”原理的:所有的同一本地网范围内的计算机共同接收到相同的数据包。这意味着计算机直接的通讯都是透明可见的。正是因为这样的原因,以太网卡都构造了硬件的“过滤器”。这个过滤器将忽略掉一切和自己无关的网络信息。事实上是忽略掉了与自身MAC地址不符合的信息。

嗅探程序正是利用了这个特点,它主动的关闭了这个过滤器,也就是前面提到的设置网卡“混杂模式”。因此,嗅探程序就能够接收到整个以太网内的网络数据了信息了。[9]什么是以太网的MAC地址(MAC:Media Access Control),由于大量的计算机在以太网内“共享“数据流,所以必须有一个统一的办法用来区分传递给不同计算机的数据流的。这种问题不会发生在拨号用户身上,因为计算机会假定一切数据都由你发送给MODEM,然后通过电话线传送出去。可是,当你发送数据到以太网上的时候,你必须弄清楚,哪台计算机是你发送数据的对象。的确,现在有大量的双向通讯程序出现了,看上去,他们好像只会在两台机器内交换信息,可是你要明白,以太网的信息是共享的,其他用户,其实一样接收到了你发送的数据,只不过是被过滤器给忽略掉了。[10]

举例一下,很多的小型局域网计算机用户都为实现文件和打印共享,安装了“NetBEUI”

因为它不是基于TCP/IP协议的,所以来自于网络的黑客一样无法得知他们的设备情况。基于Raw协议,传输和接收都在以太网里起着支配作用。你不能直接发送一个Raw数据给以太网,你必须先做一些事情,让以太网能够理解你的意思。这有点类似于发短信的方法,你不可能直接把一条短信直接发送出去,你还要输入对方的手机号码才可以发送,同样的网络上的传输数据也是一个道理。[11]

以下是一个帮助我们理解数据传送的简单图示:

_________

/.........\

/..Internet.\

+-----+ +----+.............+-----+

用户A ----- 路由............. 用户B

+-----+ ^ +----+.............+-----+

\.........../

\---------/

+------+

嗅探器

+------+

用户A IP 地址: 192.168.1.10

用户B IP 地址: 192.168.1.1

现在知道用户A要于用户B进行计算机通讯,用户A需要为192.168.1.10到用户B 192.168.1.1的通讯建立一个IP包。这个IP包在网络上传输,它必须能够穿透路由器。因此,用户A必须首先提交这个包给路由器。由每个路由器考查目地IP地址然后决定传送路径。

用户A 所知道的只是本地与路由连接和用户B的IP地址。用户A并不清楚网络的结构情况和路由走向。用户A必须告诉路由器准备发送数据包的情况,以太网数据传输结构大概是这样的:

+--+--+--+--+--+--+

目标 MAC

+--+--+--+--+--+--+

源 MAC

+--+--+--+--+--+--+

0x0800

+--+--+-----------+

IP 包

+--+--+--+--+-----+

CRC校验

+--+--+--+--+

理解一下这个结构,用户A的计算机建立了一个数据包假设它由100个字节的长度(假设一下,20 个字节是IP信息,20个字节是TCP信息,还有60个字节为传送的数据)。现在把这个数据包发送给以太网,放14个字节在目的MAC地址之前,源MAC地址还要置一个

0x0800的标记,他指示出了TCP/IP栈后的数据结构。同时,也附加了4个字节用于做CRC 校验(CRC校验用来检查传输数据的正确性)。

现在发送数据到网络,所有在局域网内的计算机通过适配器都能够发现这个数据包,其中也包括路由适配器,嗅探器和其他一些机器。通常,适配器都具有一块芯片用来做结构比较的,检查结构中的目地MAC地址和自己的MAC地址,如果不相同,则适配器会丢弃这个结构。这个操作会由硬件来完成,所以,对于计算机内的程序来说,整个过程时毫无察觉的。

当路由器的以太网适配器发现这个结构后,它会读取网络信息,并且去掉前14个字节,跟踪4个字节。查找0x0800标记,然后对这个结构进行处理(它将根据网络状况推测出下一个最快路由节点,从而最快传送数据到预定的目标地址)。

设想,只有路由机器能够检查这个结构,并且所有其他的机器都忽略这个结构,则嗅探器无论如何也无法检测到这个结构的。

MAC地址的格式是什么?以太网卡的MAC地址是一组48比特的数字,这48比特分为两个部分组成,前面的24比特用于表示以太网卡的厂商ID,后面的24比特是一组序列号,是由厂商进行分派的,就像我们身份证上的号码一样具有全球唯一性。这样可以担保没有任何两块网卡的MAC地址是相同的(当然可以通过特殊的方法实现)。如果出现相同的地址,将发生问题,所有这一点是非常重要的。这24比特被称之为OUI(Organizationally Unique Identifier)。

可是,OUI的真实长度只有22比特,还有两个比特用于其他:一个比特用来校验是否是广播或者多播地址,另一个比特用来分配本地执行地址(一些网络允许管理员针对具体情况再分配MAC地址)。

举个例子,你的MAC地址在网络中表示为 03 00 00 00 00 01 。第一个字节所包含的值二进制表示方法为00000011。可以看到,最后两个比特都被置为真值。他指定了一个多播模式,向所有的计算机进行广播,使用了“NetBEUI”协议(一般的,在Windows计算机的网络中,文件共享传输等是不使用TCP/IP协议的)。[12]

3.2 功能说明

本次论文我们只对抓取到的本机在网络中的通信数据(如协议类型,源、目的地址和端

口、数据包的大小等)加以分析,实现一个简单的网络嗅探器。一个窗体显示主页面,另一个页面显示详细的包信息。

详细信息页面,显示的信息如下:

开始时间:嗅探器抓取数据包的时间;

源端口:源目的IP地址+端口号;

目的端口:目的IP地址+端口号;

协议类型:只分析一下常见的类型,如ICMP, IGMP,IP, TCP,UDP;

版本信息:协议的版本;

生存时间:数据包的生命周期;

报头大小:报文报首部大小;

报文总长:整个数据报的大小;

优先级别:提供七个级别,分别是Routine = 0,Priority = 1,Immediate = 2,Flash = 3,FlashOverride = 4,CRITICECP = 5,InternetworkControl = 6,NetworkControl = 7;

延迟:NormalDelay = 0、 LowDelay = 1;

吞吐量:NormalThroughput = 0,HighThroughput = 1;

可靠性:NormalReliability = 0,HighReliability = 1;[13]

3.3 系统实施

(1) Microsoft Visual Studio 2005中新建项目Windows应用程序PackerMonitor。

(2)添加窗体文件和类文件,分别命名PacketForm.cs、PacketMonitorForm.cs和Packet.cs、PacketMonitor.cs。PacketForm.cs实现详细信息页面,PacketMonitorForm.cs 实现主页面。[14]

(3)编码,当使用C#系统类提供的接口取到数据包的比特流时,然后对流的初始化处理如下:

public Packet(byte[] raw, DateTime time)

{

if (raw == null)

throw new ArgumentNullException();

if (raw.Length < 20)

throw new ArgumentException();

m_Raw = raw;

m_Time = time;

m_Version = (raw[0] & 0xF0) >> 4;

m_HeaderLength = (raw[0] & 0x0F) * 4;

if ((raw[0] & 0x0F) < 5)

throw new ArgumentException(); // 无效的报头

m_Precedence = (Precedence)((raw[1] & 0xE0) >> 5);

m_Delay = (Delay)((raw[1] & 0x10) >> 4);

m_Throughput = (Throughput)((raw[1] & 0x8) >> 3);

m_Reliability = (Reliability)((raw[1] & 0x4) >> 2);

m_TotalLength = raw[2] * 256 + raw[3];

if (m_TotalLength != raw.Length)

throw new ArgumentException(); // 无效的数据包大小

m_Identification = raw[4] * 256 + raw[5];

m_TimeToLive = raw[8];

if (Enum.IsDefined(typeof(Protocol), (int)raw[9]))

m_Protocol = (Protocol)raw[9];

else

m_Protocol = Protocol.Other;

m_Checksum = new byte[2];

m_Checksum[0] = raw[11];

m_Checksum[1] = raw[10];

m_SourceAddress = new IPAddress(BitConverter.ToUInt32(raw, 12));

m_DestinationAddress = new IPAddress(BitConverter.ToUInt32(raw, 16));

if (m_Protocol == Protocol.Tcp || m_Protocol == Protocol.Udp) {

m_SourcePort = raw[m_HeaderLength] * 256 + raw[m_HeaderLength + 1];

m_DestinationPort = raw[m_HeaderLength + 2] * 256 + raw[m_HeaderLength + 3];

}

else {

m_SourcePort = -1;

m_DestinationPort = -1;

}

}[15]

3.4 系统测试

网络嗅探器运行后的界面:

点击绿色按钮,开始抓取以太网中与本机通信的IP数据包。

点击红色按钮,停止监听。抓取到的信息如下图:

从图中可以看出,抓到的有UDP数据报,TCP数据报,ICMP数据报。鼠标双击列表行,分别得到详细的报文信息。

UDP协议详细的报文信息如下:

TCP协议详细的报文信息如下:

ICMP协议详细的报文信息如下:

4 论文总结

网络嗅探器是一把双刃剑,网络安全管理人员利用它可保障网络畅通,防范网络被攻击,以达到维护网络安全的目的,但是到了入侵者手中,嗅探器成了捕获网络传输的机密、敏感数据的厉害武器。所以,作为网络安全管理人员,应该在技术上把握优势,挥舞这把双刃剑,在与入侵者的斗争中取得胜利。单纯的嗅探器的功能始终是局限的,例如无法穿过交换机、路由器,所以在大多数的情况下,嗅探器往往和其他手段结合起来使用,嗅探器和spoof(欺骗)以及其他技术手段结合在一起对网络构成的危害是巨大的。例如结合ARPSpoof(ARP欺骗)、MAC Flooding、Fake the MAC Address(欺骗MAC地址)、ICMP Router Advertisements、ICMP Redirect(ICMP重定向)等技术手段就可以跨交换机、路由器实施嗅探了。其实嗅探器的目的说穿了只有一个,就是抓包,从抓包这个概念上引伸下去,所有为了能够抓到网络上的信息包而采用的技术都可以归入嗅探,单纯的嗅探是没有什么效率的。嗅探器技术被广泛应用于网络维护和管理方面,它工作的时候就像一部被动声纳,默默的接收看来自网络的各种信息,通过对这些数据的分析,网络管理员可以深入了解网络当前的运行状况,以便找出网络中的漏洞。在网络安全日益被注意的今天,我们不但要正确使用嗅探器,还要合理防范嗅探器的危害,嗅探器能够造成很大的安全危害,主要是因为它们不容易被发现。对于一个安全性要求很严格的企业,在使用技术防范的同时安全管理的制度建设也是非常重要的。

基于winpcap的嗅探器设计与实现

基于winpcap的嗅探器设计与实现

计算机与信息学院 《计算机网络系统实践》报告 设计题目:嗅探器的设计与实现 学生姓名:*** 学号:2010**** 专业班级:信息安全****

2013 年9 月25 一、设计要求 1.不限平台,可以使用Libpcap、WinPcap 或 Linux的原始套接字; 2.实现一个功能比较简单的、具有图形界面的Sniffer,主线程响应用户界 面操作,工作线程完成抓包等工作; 3.能够解析出IP层和传输层的协议头,能够过滤TCP、UDP等数据包; 4.能够输出文本方式传送的数据包的内容; 5.能够进行简单的流量统计。 二、开发环境与工具

操作系统:windows7 开发工具:visual studio 开发语言:C++ 附加库:Winpcap 三、设计原理 网络嗅探器是一种常用的监听网络的工具。所谓嗅探器( Sniffer) ,是一种利用计算机网络接口截获网络数据的软件或硬件,可用于网络管理、网络协议分析以及网络安全等众多方面。嗅探器不同于一般的键捕获工具,后者只能捕获当地终端控制台上的按键内容,而嗅探器所“嗅”到的是动态的以信息包形式( 如IP 数据包或者以太网包) 封装的信息流。其中可能携带了重要数据或敏感信息。可以将这些捕获到的信息包存档,以利用相应工具可以作进一步分析。 计算机网络的设计为嗅探器的使用创造了最基本的条件。在目前的网络环境中,所有计算机节点都是共享传输介质,任意节点发出或发往任意节点的数据帧必将经过网内每一个节点的网络接口,此时只需对嗅探节点的网络接口( 网卡) 进行适当的设置便可为实现嗅探的做好准备工作。在计算机网络系统中,网卡是用来接收网络上其他节点发来的数据帧,其内嵌的单片处理程序会检测数据帧来源的MAC 地址,并根据网卡所设置的接收方式来是否接收处理数据,如果认为应该处理,则网卡就会产生中断信号通知中央处理器,接收该数据帧并传输给操作系统处理。否则就简单丢弃,所对应节点的网卡就截断,计算机的中央处理器并不参与。 网卡是网络中节点主机的关键硬件设备。对数据的接收一般有四种设置模式: 广播模式: 接收在网络中进行广播数据信息。组播模式: 接收组播数据信息。单播模式: 只有匹配的目的网卡才能接收数据信息。混杂模式: 网卡能够可以接收一切通过它的数据信息。 四、系统功能描述及软件模块划分 系统功能设计 本系统的基本功能为实现网络数据包的捕获, 并将其数据内容解析显示。网络数据包捕获功能主要负责从网络中捕获和过滤数据,这可以通过调

嵌入式课程设计温度传感器-课程设计(1)

@ 嵌入式系统原理与应用 课程设计 —基于ARM9的温度传感器· 学号:01** 班级:**************1班 姓名:李* 指导教师:邱* 、

课程设计任务书 班级: ************* 姓名: ***** 设计周数: 1 学分: 2 指导教师: 邱选兵 $ 设计题目: 基于ARM9的温度传感器 设计目的及要求: 目的: 1.熟悉手工焊锡的常用工具的使用及其维护与修理。 2.基本掌握手工电烙铁的焊接技术,能够独立的完成简单电子产品的安装与焊 接。熟悉电子产品的安装工艺的生产流程。 3.熟悉印制电路板设计的步骤和方法,熟悉手工制作印制电板的工艺流程,能 够根据电路原理图,元器件实物设计并制作印制电路板。 4.* 5.熟悉常用电子器件的类别、型号、规格、性能及其使用范围,能查阅有关的 电子器件图书。 6.能够正确识别和选用常用的电子器件,并且能够熟练使用普通万用表和数字 万用表。 7.掌握和运用单片机的基本内部结构、功能部件、接口技术以及应用技术。 8.各种外围器件和传感器的应用; 9.了解电子产品的焊接、调试与维修方法。 要求: 1.学生都掌握、单片机的内部结构、功能部件,接口技术等技能; 2.根据题目进行调研,确定实施方案,购买元件,并绘制原理图,焊接电路板, 调试程序; 3.} 4.焊接和写汇编程序及调试,提交课程设计系统(包括硬件和软件);. 5.完成课程设计报告 设计内容和方法:使用温度传感器PT1000,直接感应外部的温度变化。使用恒流源电路,保证通过PT1000的电流相等,根据PT1000的工作原理与对应关系,得到温度与电阻的关系,将得到的电压放大20倍。结合ARM9与LCD,将得到的

个人课程设计报告

个人课程设计报告 个人课程设计之后怎么样写相关的报告呢?各位,我们看看下面的相关范文,大家一起阅读吧! 个人课程设计报告篇一首先我们由衷的感谢老师提供给我们这样一个锻炼自己的机会,经过这四周的学习,本次课程设计即将结束,总的来说,经过这门课的学习收获还是相当大的。回顾这段时间的课程设计,至今我仍感慨万分。的确,从选材到开始制作,从理论到实践,在四周的实训日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。 通过这次课程设计使我们都更加懂得并亲身体会到了理论与实际相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从实践中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到很多问题,可以说是困难重重,并且在设计的过程中发现了自己的很多不足之处,发现自己对之前所学过的知识理解得不够深刻,掌握得不够牢固,有待加强。 生活就是这样,汗水预示着结果但是也见证着收获,劳动是人类生存、生活永恒不变的话题,通过实训,我才真正领略到“艰苦奋斗”这一词的真正含义。我想说,设计确实

有些辛苦,但苦中也有乐,在如今单一的理论学习中,很少有机会能有实践的机会,但我们可以。而且设计也是一个团队的任务,一起的工作可以让我们有说有笑,相互帮助,配合默契,多少欢乐在这里洒下。我想说,之前的时间确实很累,但当我们看到自己所做的劳动成果时,心中也不免产生兴奋。也许有人不喜欢这类的工作,也许有人认为编程的工作有些枯燥,但我们认为无论干什么,只要人生活的有意义就够了,而且这也是最主要的,社会需要我们,我们也可以为社会而工作。 我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神,某个人的离群都可能导致整项工作的失败。实训中只有一个人知道原理是远远不够的,必须让每个人都知道,否则一个人的错误,就有可能导致整个项目失败,团结协作是我们实训成功的一项非常重要的保证。而这次实习也正好锻炼我们这一点,这也是非常宝贵的。 虽然我们的课程设计在规定的时间内按时完成了任务,但是,由于知识和经验的欠缺,整个系统的开发功能还不算太完善,在设计的过程中也遇到了很多困难,比如由于早期的需求分析不充分,给后来系统的具体实现带来了很大的困难,所以中间做了一部分的无用功,但通过我们的不懈努力和老师、同学的帮助,设计才得以圆满按时的完成,所以仅

网络嗅探器的设计与实现

计算机网络课程设计 题目网络嗅探器的设计与实现 系 (部) 姓名 学号 指导教师 2015年7月18日

计算机网络课程设计任务书

网络嗅探器的设计与实现 摘要:网络嗅探器是对网络中的数据帧进行捕获的一种被动监听手段,是一种常用的收集有用数据的方法。本设计是关于网络嗅探器的设计与实现,其功能包括实现网络层抓包,对获得包的源和目的地址、端口、协议等进行分析和实现简单的包嗅探器功能。 关键字:网络嗅探器;数据包捕获; 套接字 引言 由于网络技术的发展,计算机网络的应用越来越广泛,其作用也越来越重要。计算机网络安全问题更加严重,网络破坏所造成的损失越来越大。但是由于计算机系统中软硬件的脆弱性和计算机网络的脆弱性以及地理分布的位置、自然环境、自然破坏以及人为因素的影响,不仅增加了信息存储、处理的风险,也给信息传送带来了新的问题。 嗅探器是一种常用的收集有用数据的方法,可以作为网络数据包的设备。嗅探器是通过对网卡的编程来实现网络通讯的,对网卡的编程是使用通常的套接字(socket)方式来进行。通常的套接字程序只能响应与自己硬件地址相匹配的或是以广播形式发出的数据帧,对于其他形式的数据帧比如已到达网络接口但却不是发给此地址的数据帧,网络接口在验证投递地址并非自身地址之后将不引起响应,也就是说应用程序无法收取到达的数据包。而网络嗅探器的目的恰恰在于从网卡接收所有经过它的数据包,这些数据包即可以是发给它的也可以是发往别处的。 1 基本概念 1.1 嗅探器 每一个在局域网(LAN)上的工作站都有其硬件地址,这些地址唯一地表示了网络上的机器。当用户发送一个数据包时,这些数据包就会发送到LAN上所有可用的机器。在一般情况下,网络上所有的机器都可以“听”到通过的流量,但对不属于自己的数据包则不予响应。嗅探器工作在网络的底层,在网络上监听数据包来获取敏感信息。从原理上来说,在一个实际的系统中,数据的收发是由网卡来完成的,网卡接收到传输来的数据,其内的单片程序接收数据帧的目的MAC地址,根据计算机上的网卡驱动程序设置的接收模式判断该不该接收,认为该接收就接收后产生中断信号通知CPU,认为不该接收就丢掉不管,所以不该接收的数据网卡就截断了,计算机根本就不知道。对于网卡来说一般有四种接收模式: a)广播方式:该模式下的网卡能够接收网络中的广播信息。 b)组播方式:设置在该模式下的网卡能够接收组播数据。 c)直接方式:在这种模式下,只有目的网卡才能接收该数据。

温度传感器课程设计

: 温度传感器课程设计报告 专业:电气化 年级: 13-2 学院:机电院 { 姓名:崔海艳 学号:35 … ^ -- 目录

1 引言 (3) 2 设计要求 (3) 3 工作原理 (3) 4 方案设计 (4) … 5 单元电路的设计和元器件的选择 (6) 微控制器模块 (6) 温度采集模块 (7) 报警模块 (9) 温度显示模块 (9) 其它外围电路 (10) 6 电源模块 (12) 7 程序设计 (13) — 流程图 (13) 程序分析 (16) 8. 实例测试 (18) 总结 (18) 参考文献 (19) \

。 1 引言 传感器是一种有趣的且值得研究的装置,它能通过测量外界的物理量,化学量或生物量来捕捉知识和信息,并能将被测量的非电学量转换成电学量。在生活中它为我们提供了很多方便,在传感器产品中,温度传感器是最主要的需求产品,它被应用在多个方面。总而言之,传感器的出现改变了我们的生活,生活因使用传感器也变得多姿多彩。 温度控制系统广泛应用于社会生活的各个领域,如家电、汽车、材料、电力电子等,常用的控制电路根据应用场合和所要求的性能指标有所不同,在工业企业中,如何提高温度控制对象的运行性能一直以来都是控制人员和现场技术人员努力解决的问题。这类控制对象惯性大,滞后现象严重,存在很多不确定的因素,难以建立精确的数学模型,从而导致控制系统性能不佳,甚至出现控制不稳定、失控现象。传统的继电器调温电路简单实用,但由于继电器动作频繁,可能会因触点不良而影响正常工作。控制领域还大量采用传统的PID控制方式,但PID控制对象的模型难以建立,并且当扰动因素不明确时,参数调整不便仍是普遍存在的问题。而采用数字温度传感器DS18B20,因其内部集成了A/D转换器,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。数字温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。由于DS18B20芯片的小型化,更加可以通过单跳数据线就可以和主电路连接,故可以把数字温度传感器DS18B20做成探头,探入到狭小的地方,增加了实用性。更能串接多个数字温度传感器DS18B20进行范围的温度检测 2 设计要求

个人博客_课程设计报告

目录 第一章概述 (1) 1.1 本课题的研究背景 (1) 1.2 本课题的研究意义 (1) 1.3 现行研究存在的问题及解决办法 (1) 1.3.1 需求分析问题 (1) 1.3.2 代码实现问题 (2) 第二章系统分析 (3) 2.1 系统需求分析 (3) 2.2 采用的关键技术介绍 (3) 2.2.1 https://www.360docs.net/doc/5017578045.html,简介 (3) 2.2.2 Access数据库简介 (4) 2.3 可行性分析 (4) 2.3.1 技术可行性 (4) 2.3.2 操作可行性 (4) 第三章系统概要设计 (6) 3.1 系统总体设计 (6) 3.1.1 运行环境 (6) 3.1.2 系统流程 (6) 3.1.3 系统结构 (7) 3.2 系统接口的概要设计 (8) 3.2.1 用户接口 (8) 3.3 数据库概要设计 (9) 3.3.1 逻辑结构设计 (9) 3.3.2 物理结构设计 (10) 第四章系统详细设计 (11) 4.1 系统界面的详细设计 (11) 4.1.1 普通用户首页的详细设计 (11) 4.1.2 留言界面的详细设计 (11) 4.1.3 后台首页的详细设计 (12) 4.2 数据库详细设计 (13) 4.2.1 表的详细设计 (13) 第五章系统实现 (15) 5.1 系统开发环境 (15) 5.2 系统实现 (15) 5.2.1 客户端系统实现 (15) 5.2.2 后台管理系统实现 (17)

5.3 系统运行环境要求 (17) 5.3.1 服务器端要求 (17) 5.3.2 客户端要求 (18) 5.4 系统部署 (18) 5.4.1数据库设置 (18) 5.4.2 服务器端运行设置步骤 (18) 第六章性能测试与分析 (19) 6.1 测试实例(测试集)的研究与选择 (19) 第七章课程设计总结 (20) 7.1 课程设计心得体会 (20) 参考文献 (21)

课程设计实施方案

《动态网页设计》课程设计实施方案 一、课程设计的目的 课程设计是工科各专业的主要实践性教学环节之一,是围绕一门主要基础课或专业课,运用所学课程的知识,结合实际应用设计而进行的一次综合分析设计能力的训练。 《动态网页设计》是针对网站建设程序员岗位能力进行培养的一门核心课程。本课程构建于计算机文化基础、Dreamweavr网页设计、SQL数据库设计、C#程序设计、管理信息系统等课程的基础之上,主要培养学生对网站项目的初步分析、并利用Visual Studio 2008开发平台进行网站建设、建设完成后能对网站进行初步测试的能力,同时注重培养学生的社会能力和方法能力。 本次课程设计旨在培养学生在本课程范围内,初步掌握解决实际应用问题时所应具备的查阅资料、综合运用所学知识的能力,为毕业设计及今后从事专业工作打下基础。 二、课程设计的任务、内容及要求 任务: 学生根据老师给定或者学生自己拟订经老师认可后的课题进行课程设计,最终完成并提交解决方案以及课程设计报告书。 内容:课程设计参考题目(详见课程设计任务书) 1.网上考试系统 2.网上求职招聘系统 3.人事工资管理系统 4.房屋资讯信息网 5.网上订票系统 6.干洗店管理 7.停车场管理系统 8.多功能教室预约系统 9.车辆维修管理系统 10.游船计时收费管理系统 要求: 1.设计方案正确 2.数据与功能分析详细 3.网站界面美观大方、风格统一 4.网站使用方便,交互性较好; 5.编码简洁、规范、稳定、高效 6.独立查阅资料 7.认真撰写课程设计报告

三、课程设计进程安排 课程设计时间为二周,分五个阶段完成: 1. 设计准备阶段: 指导教师准备参考题目,方案论证,软硬件环境准备。这一阶段在两周内完成。 2. 分析设计阶段: 指导教师引导下,学生积极自主学习和钻研问题,明确设计要求,找出实现方法,按照需求分析、总体设计、详细设计这几个步骤进行。这一阶段1~2天完成。 3. 编码调试阶段: 根据设计分析方案编写动态网页部分代码,然后调试该代码,实现课题要求的功能。 这一阶段在3~5天内完成。 4. 测试阶段 这一阶段在1~2天内完成。 5. 总结报告阶段: 总结设计工作,写出课程设计说明书,要求学生写出需求分析、总体设计、详细设计、编码、测试的步骤和内容。这一阶段在2~3天完成。 6.考核评分阶段: 依据任务书对所完成的程序进行功能检验、提问、相关学生集体汇报等。这一阶段在1~2天内完成。 四、课程设计地点 .NET实验室。 五、组织管理 分组领取任务,按每小组3-4人的标准进行分组。 课程设计期间,严格按照作息时间表进行考勤,做好出勤记录。 课程设计期间,制定值日表,轮流做好机房卫生工作。 六、考核评估说明(附表格) 通过老师考核、小组互评的方式,结合学生的动手能力,独立分析解决问题的能力和创新精神,总结报告和作品水平以及学习态度综合评价。成绩分为优、良、及格和不及格四等。 考核标准包括: 1.职业素养(30%) 包括工作态度(10分)、协作能力(10分)、道德(5分)、自学能力(5分)等,该部分评分由组长和老师共同评定。

(2020年编辑)网络嗅探器的设计与实现

《网络与信息安全》课程设计报告 班级学号:姓名: 题目: 评阅: 成绩: 2011年1月

目录 一、开发背景 1、网络安全现状。 2、开发意义。 二、设计分析 1、实现目标。 2、开发技术简介。 三、详细设计 1、嗅探原理。 2、代码设计。 四、测试运行 五、总结 六、参考文献

摘要 网络嗅探器是作用在网络上的一种监听程序,它是系统管理员的一个得力助手,管理员可以用它来分析网络。例如当网络繁忙时可利用它来查找是哪一段网络繁忙,数据报文是属于哪一种协议,这样可以计算出哪种业务受欢迎。但是当有黑客使用它时,它又变得很可怕。它可以非法获取一些保密性信息,如帐号、密码等,它带来的负面破坏是非常大的。作为从事网络安全技术方面的人员来说,要想有效地利用它、防范它就得深入地学习、分析网络嗅探技术。 1、本设计的基本任务是设计一个嗅探软件,实现对常用网络数据包抓取、分析。 2、软件所要完成对本机在网络中的通信数据,比如协议类型,源、目的地址和端口、数据包 的大小等加以分析的功能。 3、本设计用到的开发工具为Microsoft Visual Studio 2010 开发环境为Windows 7。 4、程序由韩瑞彬同学和我共同完成,本人主要负责主界面的设计和网络数据包的抓取,韩 瑞彬同学负责对数据包的解析设计。 关键字:嗅探器,安全,黑客,数据报文 一、开发背景

1、网络安全现状 随着各种新的网络技术的不断出现、应用和发展,计算机网络的应用越来越广泛,其作用也越来越重要。但是由于计算机系统中软硬件的脆弱性和计算机网络的脆弱性以及地理分布的位置、自然环境、自然破坏以及人为因素的影响,不仅增加了信息存储、处理的风险,也给信息传送带来了新的问题。计算机网络安全问题越来越严重,网络破坏所造成的损失越来越大。Internet 的安全已经成为亟待解决的问题。多数黑客入侵成功并植入后门后的第一件事就是选择一个合适当前网络的嗅探器,以获得更多的受侵者的信息。嗅探器是一种常用的收集有用数据的方法,可以作为分析网络数据包的设备。网络嗅探器就是利用计算机的网络接口截获其他计算机的数据报文的一种工具,而且它与一般的键盘捕获程序不同。键盘捕获程序捕获在终端上输入的键值,而嗅探器捕获的则是真实的网络报文.如果把网络嗅探器放置于网络节点处,对网络中的数据帧进行捕获的一种被动监听手段,是一种常用的收集有用数据的方法,可以分析各种信息包并描述出网络的结构和使用的机器,由于它接收任何一个在同一网段上传输的数据包,所以也就存在着捕获密码、各种信息、秘密文档等一些没有加密的信息的可能性。这成为黑客们常用的扩大战果的方法,用来夺取其他主机的控制权。当然嗅探器的正当用处主要是网络管理人员分析网络的流量,以便找出所关心的网络中潜在的问题。例如,假设网络的某一段运行得不是很好,报文的发送比较慢,而我们又不知道问题出在什么地方,此时就可以用嗅探器截获网络中的数据包,分析问题的所在。 2、开发意义 本次设计只是对抓取到的本机在网络中的通信数据,比如说协议类型,源、目的地址和端口、数据包的大小等加以分析,而无法做到像Sniffer 或者影音神探那种成熟的嗅探器所拥有的强大功能。作为从事网络技术方面的人员来说,要想有效地利用它、防范它,就得深入地学习、分析网络嗅探技术。最为重要的是,对于网络嗅探器的设计与实现,使我对网络通信,数据传输和网络信息安全等有了切身的体会与融入,同时也是对网络安全技术这门课的学以致用,不断提高自我的一种有效途径。 二、设计分析 1、实现目标 (1)实现网络嗅探器的界面。 (2)实现抓取数据包的功能。

我的课程设计报告心得体会(大全)

我的课程设计报告心得体会(大全) 我的课程设计报告心得体会(大全) 一 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。 回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说三极管PNP管脚不懂怎么放置,不懂分得二极管的正负极,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。

这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在梁强老师的辛勤指导下,终于游逆而解。同时,在梁强老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢! 二 课程设计的心得体会 做了两周的课程设计,有很多的心得体会,有关于单片机方面的,更多的是关于人与人之间关系方面的。 我们组一共有三个人,但其他两个人是真的神龙见首不见尾,除了在最后答辩的时候他们一起坐在了我旁边,冠冕堂皇的指着我画了几遍的图说了几嘴,我想可能他们自己都不知道自己在说怎么,虽然有的东西他们也答出来了。我佩服他们的勇气,羡慕他们的运气(我见到的很多做了10 天的人最后的成绩都有不如他们的),但是鄙视他们的做法。 所幸的是,我得到了很多同学的帮助。我想没有他们我可能都要放弃了,因为我本人对单片机也并不是很熟悉,学的东西好像它是它,我是我似的,理论联系不了实际。以前的汇编语言没学好,一开始的程序这块儿就要令我抓狂了。后来请教我们班的一个男生,每次跟他一起到试验室调试程序(他们组也只有他一个人动手),看他边做边给我讲解。最后在开发机上做出来的时候,虽然不是我自己

2015教师招聘考试教育学第5章第6节:课程设计与实施

课程设计与实施一、课程设计(一)课程设计的概念课程设计是有目的、有计划地产生课程计划、课程标准以及教科书等的系统化活动。课程设计的实质是人们根据一定的价值取向,按照一定的课程理念,以特定的方式组织安排课程中的各种要素,从而形成特殊课程结构的过程。(二)课程设计的主要模式★1.目标模式泰勒是美国著名的课程理论家,他于1944年出版了《课程与教学的基本原理》,提出了关于课程编制的四个问题。(1)学校应当追求哪些目标?(学校应当追求的目标)泰勒认为应根据学习者本身的需要、当代校外生活的要求以及专家的建议三方面来提出目标。通过对上述三个教育目标的来源的分析,可以获得大量有关教育目标的资料和普遍的课程目标,然而,学校指向的目标应该是少量的,为此,泰勒认为,需要对教育目标进行哲学、心理学两次过滤。最终剩下的是最有意义和可行的目标,即得到特定的课程目标。(2)怎样选择和形成学习经验?(选择和形成学习经验)泰勒提出了选择学习经验的五条原则:①必须使学生有机会去实践目标中所包含的行为;②必须使学生在实践上述行为时有满足感;③所选择的学习经验应在学生能力所及范围内;④多种经验可用来达到同一目标;⑤同一经验可以产生数种结果。(3)怎样有效地组织学习经验?(有效地组织学习经验)泰勒认为最主要的是必须根据继续性(即在课程设计上要使学生有重复练习和提高所学技能的机会)、序列性(即后一经验在前一经验基础上的泛化与深化)、综合性(即课程的横向联系)的标准来组织学习经验。(4)如何确定这些目标正在得以实现?(课程评价/评价结果)泰勒认为评价是课程编制的一项重要工作。它既要揭示学生获得的经验是否产生了满意的结果,又要发现各种计划的长处与弱点。泰勒原理可概括为:目标、内容、方法、评价,即:(1)确定课程目标;(2)根据目标选择课程内容(经验);(3)根据目标组织课程内容(经验);(4)根据目标评价课程。他认为一个完整的课程编制过程都应包括这四项活动。这种模式的最大特点是通过目标引导教师在教学过程中有据可依,具有很强的可操作性。但由于它只关注预期的目标,忽视了其他方面,如理解力、鉴赏力、情感、态度等同样有教育价值的东西,所以受到了许多批评。2.斯腾豪斯的过程模式针对目标模式过分强调预期行为结果即“目标”而忽视“过程”的缺陷,英国课程论专家斯腾豪斯提出了“过程模式”。所谓的过程模式是指,课程的开发不是为了生产出一套“计划”,然后予以实施和评价的过程,而是一个连续不断的研究过程,并贯穿着对整个过程的评价和修正。而所有这些都集中在课堂实践中,教师是整个过程的核心人物。过程模式把发展学生的主体性与创造性作为教育的目标,尊重并鼓励发展学生的个性,同时强调教师的主导作用,具有一定的理论和实践意义。但是,这只是一种理论模型,它并没有提出明确的方案,也没有一个具体的操作步骤,缺乏可操作性。二、课程实施(一)课程实施的概念课程实施即将已经编定好的课程付诸实践的过程,它是达到预期的课程目标的基本途径。一般来说,课程设计得越好,实施起来就越容易,效果也就越好。课程实施作为一个动态的序列化的实践过程,具有一定的运行结构:1.安排课程表;2.分析教学任务;3.研究学生的学习特点;4.选择并确定教学模式;5.规划教学单元和课;6.组织教学活动;7.评价教学活动的过程与结果。(二)有效实施课程的条件1.课程计划本身的特点(1)合理性(相对优越性),即指课程设计以及课程计划的编写是否具有正确的指导思想和理论基础,是否确实改进了已有的课程;(2)和谐性,即课程计划的制定不仅要考虑未来人和社会的发展,还应考虑当下人和社会的要求;(3)明确性,如果缺乏明确性就容易造成使用者的混淆,以致增加困惑和挫折感;(4)简约性,过于复杂的课程设计可能不易被理解或无法被接受,导致实施困难;(5)可传播性,即课程计划向各地学校推行的难易程度;(6)可操作性,实施、使用的方便程度。2.教师的特征教师对课程实施的影响主要体现在以下几个方面:(1)教师的参与。教师参与课程计划、课程标准的拟定,可以增强其实施课程的自觉性和主动性。(2)教师的态度。采取

网络嗅探器的设计实现

- - -. 《网络与信息安全》课程设计报告

2011年1月 目录 一、开发背景 1、网络安全现状。 2、开发意义。 二、设计分析 1、实现目标。 2、开发技术简介。 三、详细设计 1、嗅探原理。 2、代码设计。 四、测试运行 五、总结

六、参考文献 摘要 网络嗅探器是作用在网络上的一种监听程序,它是系统管理员的一个得力助手,管理员可以用它来分析网络。例如当网络繁忙时可利用它来查找是哪一段网络繁忙,数据报文是属于哪一种协议,这样可以计算出哪种业务受欢迎。但是当有黑客使用它时,它又变得很可怕。它可以非法获取一些XX性信息,如XX、密码等,它带来的负面破坏是非常大的。作为从事网络安全技术方面的人员来说,要想有效地利用它、防X它就得深入地学习、分析网络嗅探技术。 1、本设计的基本任务是设计一个嗅探软件,实现对常用网络数据包抓取、分析。 2、软件所要完成对本机在网络中的通信数据,比如协议类型,源、目的地址和端口、数据包 的大小等加以分析的功能。 3、本设计用到的开发工具为Microsoft Visual Studio 2010 开发环境为Windows 7。 4、程序由韩瑞彬同学和我共同完成,本人主要负责主界面的设计和网络数据包的抓取,韩 瑞彬同学负责对数据包的解析设计。 关键字:嗅探器,安全,黑客,数据报文

一、开发背景 1、网络安全现状 随着各种新的网络技术的不断出现、应用和发展,计算机网络的应用越来越广泛,其作用也越来越重要。但是由于计算机系统中软硬件的脆弱性和计算机网络的脆弱性以及地理分布的位置、自然环境、自然破坏以及人为因素的影响,不仅增加了信息存储、处理的风险,也给信息传送带来了新的问题。计算机网络安全问题越来越严重,网络破坏所造成的损失越来越大。Internet 的安全已经成为亟待解决的问题。多数黑客入侵成功并植入后门后的第一件事就是选择一个合适当前网络的嗅探器,以获得更多的受侵者的信息。嗅探器是一种常用的收集有用数据的方法,可以作为分析网络数据包的设备。网络嗅探器就是利用计算机的网络接口截获其他计算机的数据报文的一种工具,而且它与一般的键盘捕获程序不同。键盘捕获程序捕获在终端上输入的键值,而嗅探器捕获的则是真实的网络报文.如果把网络嗅探器放置于网络节点处,对网络中的数据帧进行捕获的一种被动监听手段,是一种常用的收集有用数据的方法,可以分析各种信息包并描述出网络的结构和使用的机器,由于它接收任何一个在同一网段上传输的数据包,所以也就存在着捕获密码、各种信息、秘密文档等一些没有加密的信息的可能性。这成为黑客们常用的扩大战果的方法,用来夺取其他主机的控制权。当然嗅探器的正当用处主要是网络管理人员分析网络的流量,以便找出所关心的网络中潜在的问题。例如,假设网络的某一段运行得不是很好,报文的发送比较慢,而我们又不知道问题出在什么地方,此时就可以用嗅探器截获网络中的数据包,分析问题

温度传感器课程设计

温度传感器课程设计报告 专业:电气化___________________ 年级:13-2 学院:机电院 姓名:崔海艳 ______________ 学号:8021209235 目录 1弓I言................................................................... ..3

2设计要求................................................................. ..3 3工作原理................................................................. ..3 4 方案设计 ................................................................ ..4 5单元电路的设计和元器件的选择.............................................. ..6 5.1微控制器模块........................................................... .6 5.2温度采集模块...................................................... .. (7) 5.3报警模块.......................................................... .. (9) 5.4 温度显示模块..................................................... .. (9) 5.5其它外围电路........................................................ (10) 6 电源模块 (12) 7程序设计 (13) 7.1流程图............................................................... (13) 7.2程序分析............................................................. ..16 8.实例测试 (18) 总结.................................................................... ..18 参考文献................................................................ ..19

课程设计个人总结

课程设计个人总结 我们完成了为期两周的课程设计,通过这次课程设计我深深体会到,在已度过的大学时间里,我们大多数接触的是专业课.我们在课堂上掌握的仅仅是专业课的理论知识, 如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似的课程设计就为我们提供了良好的实践平台。 虽然在大三开学初我对这门课并没有什么兴趣, 觉得那些程序枯燥乏味, 但在这次课程设计后我发现自己在一点一滴的努力中对它的兴趣也在逐步的增加。我们有四位同学一起合作,我们默契的配合使我们组第一个完成了我们的设计,而且设计达到了我们预期的效果。这次课程设计对我来说学到的不仅是那些知识,更多的是团队和合作。现在想来,也许学校安排的课程设计有着它更深层的意义吧, 它不仅仅让我们综合那些理论知识来运用到设计和创新中, 还让我们知道了一个团队凝聚在一起时所能发挥出的巨大潜能巨大力量!两周来我们一起找资料,选方案,再选方案是大家意见不统一然后我们一起上网进行查阅敲定方案后进行仿真,焊接调试程序,最后我们的篮球电子裁判器设计成功完成。两个星期后的今天我已明白课程设计对我来说的意义, 它不仅仅是让我们把所学的理论知识与实践相结合起来,提高自己的实际动手能力和独立思考的能力,更重要的是同学间的团结,使得我们这次比别的同学节省了时间,。 回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。设计过程中,也对团队精神的进行了考察,让我们在合作起来更加默契,在成功后一起体会喜悦的心情。果然是团结就是力量,只有互相之间默契融洽的配合才能换来最终完美的结果。 在这学期的课程设计中,不仅培养了我们的独立思考、动手操作的能力,在各个其它能力上也都有了提高。更重要的是,在课程设计中,我们学会了很多学习的方法,而这是今后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。就像中国提倡的艰苦奋斗一样,我们在完成这次课程设计后变的更加成熟,能够面对需要面对的事情 ---吴丽娜

《网络嗅探器》课程设计报告

《网络与信息安全技术》课程报告 课题名称:网络嗅探器提交报告时间:2010年12月17 日 网络嗅探器 专业 组号指导老师 [摘要]随着网络技术的飞速发展,网络安全问题越来越被人重视。嗅探技术作为网络安全攻防中最基础的技术,既可以用于获取网络中传输的大量敏感信息,也可以用于网络管理。通过获取网络数据包的流向和内容等信息,可以进行网络安全分析和网络威胁应对。因此对网络嗅探器的研究具有重要意义。 本课程设计通过分析网络上常用的嗅探器软件,在了解其功能和原理的基础上,以VC为开发平台,使用Windows环境下的网络数据包捕获开发库WinPcap,按照软件工程的思想进行设计并实现了一个网络嗅探工具。该嗅探工具的总体架构划分为5部分,分别是最底层的数据缓存和数据访问,中间层的数据捕获,协议过滤,协议分析和最顶层的图形画用户界面。 本嗅探器工具完成了数据包捕获及分析,协议过滤的主要功能,实现了对网络协议,源IP 地址,目标IP地址及端口号等信息的显示,使得程序能够比较全面地分析出相关信息以供用户参考决策。 关键词:网络嗅探;WinPcap编程接口;数据包;网络协议;多线程 (中文摘要在150字左右。摘要正文尽量用纯文字叙述。用五号宋体字。姓名与摘要正文之间空二行。关键词与摘要之间不空行。“摘要”这两个字加粗) 关键词:入侵检测系统;感应器;分析器;分布式入侵检测系统模型 Network sniffer Major: software engineering Group Number: 29 [Abstract] With the rapid development of network technology, network security is increasingly being attention. Sniffing network security technology as the most basic offensive and defensive

温度传感器课程设计报告1

温度传感器的特性及应用设计 集成温度传感器是将作为感温器件的晶体管及其外围电路集成在同一芯片上的集成化温度传感器。这类传感器已在科研,工业和家用电器等方面、广泛用于温度的精确测量和控制。 1、目的要求 1.测量温度传感器的伏安特性及温度特性,了解其应用。 2.利用AD590集成温度传感器,设计制作测量范围20℃~100℃的数字显示测温装置。 3.对设计的测温装置进行定标和标定实验,并测定其温度特性。 4.写出完整的设计实验报告。 2、仪器装置 AD590集成温度传感器、变阻器、导线、数字电压表、数显温度加热设备等。 3、实验原理 AD590 R=1KΩ E=(0-30V) 四、实验内容与步骤 ㈠测量伏安特性――确定其工作电压范围 ⒈按图摆好仪器,并用回路法连接好线路。 ⒉注意,温度传感器内阻比较大,大约为20MΩ左右,电源电 压E基本上都加在了温度传感器两端,即U=E。选择R4=1KΩ,温度传感器的输出电流I=V/R4=V(mV)/1KΩ=│V│(μA)。

⒊在0~100℃的范围内加温,选择0.0 、10.0、20.0……90.0、100.0℃,分别测量在0.0、1.0、2.0……25.0、30.0V时的输出电流大小。填入数据表格。 ⒋根据数据,描绘V~I特性曲线。可以看到从3V到30V,基本是一条水平线,说明在此范围内,温度传感器都能够正常工作。 ⒌根据V~I特性曲线,确定工作电压范围。一般确定在5V~25V为额定工作电压范围。 ㈡测量温度特性――确定其工作温度范围 ⒈按图连接好线路。选择工作电压为10V,输出电流为I=V/R4=V(mV)/1KΩ=│V│(μA)。 ⒉升温测量:在0~100℃的范围内加热,选择0.0 、10.0、 20.0……90.0、100.0℃时,分别同时测量输出电流大小。将数据填入数据表格。 注意:一定要温度稳定时再读输出电流值大小。由于温度传感器的灵敏度很高,大约为k=1μA/℃,所以,温度的改变量基本等于输出电流的改变量。因此,其温度特性曲线是一条斜率为k=1的直线。 ⒊根据数据,描绘I~T温度特性曲线。 ⒋根据I~T温度特性曲线,求出曲线斜率及灵敏度。 ⒌根据I~T温度特性曲线,在线性区域内确定其工作温度范围。 ㈢实验数据: ⒈温度特性

个人信息管理系统毕业课程设计实验报告

(此文档为word格式,下载后您可任意编辑修改!) 山东交通学院 目录 1.系统分析 (2) 1.1系统需求分析 (2) 1.2项目规划 (2) 1.3系统功能结构分析 (3) 1.4设计目的分析 (3) 2.数据库系统设计 (4) 2.1数据表概要设计 (4) 2.2数据库逻辑结构设计 (4) 3.应用程序设计 (5) 3.1界面设置 (5) 3.2关键技术 (15) 4.系统安装 (20) 建立数据源 (20) 5.设计体会 (21) 参考文献 (22)

摘要 随着经济社会的发展,计算机已被应用到社会生活的各个领域。与此同时,互联网作为信息技术的通信桥梁连接着全球的计算机,而网站作为网络信息主要的表现形式而且还是互联网信息的主要承载者,在网络上表现出其及其重要的地位,并发挥着极其重要的作用。无论是在国内还是国外都得以迅速的发展和壮大,并被人们重视和关注。互联网已经彻底的改变了世界,互联网的世界里蕴藏着无限的可能,在这种情况下,各行各业及其个人、单位、工厂、企事业等等在网上构筑属于自己的网络信息平台,保护自己的网络资源并在互联网上开辟自己的市场和消费群体,以及构造自己的数字化世界和加强全球范围内不同地域的人们联系交流等等活动也就显的日益重要。于是各种各样的网站便如雨后春笋般地出现鱼龙混杂且良莠不齐。因此,个人信息的管理就显得尤为重要了。不仅可以更好的保护个人信息,对日常的使用也会提供很大的方便。关键词:个人信息管理系统;数据集;数据库;Visual C++6.0。 1.系统分析 1.1系统需求分析 在做本系统前,我对系统的需求做了如下分析: 1)登录权限:在登录权限的分析上我们规定必须凭借用户名和密码才可登陆,进行管理。 2)使用者功能:首先说明一下,我们的系统用户对象是个人。关于其本系统的功能,大致可分为日记管理,通讯录管理,备忘录管理,以及个人财务管理;日记管理,其中包括用户对日记编号,时间,地点,事件、人物的查询、

课程设计定义

课程定义一. 课程定义: (广义)课程是指所有学科(教学科目)的总和,或学生在教师指导下各种活动的总和(狭义):是指一门学科或一类活动。学科课程也称“分科课程”,是由一系列不同类别的学科或学术领域以及与之相应的各种间接经验组成的课程 二. 学科课程与活动课程的区别:第一,从目的上讲,学科课程主要向学生传递人类长期创造和积累起来的种族经验的精华;活动课程则主要让学生获得包括直接经验和直接感知的新信息在内的个体教育经验。第二,从编排方式上讲,学科课程重视学科知识逻辑的系统性,活动课程则强调各种有意义的学生活动的系统性。第三,从教学方式上讲,学科课程主要是以教师为主导去认识人类种族经验;而活动课课程主要以学生自主的交往为主获取直接经验。第四,在评价方面,学科课程强调终结性评价,侧重考查学生的学习结果;而活动课程则重视过程性评价,侧重考查学生的学习过程。核心课程”既指所有学生都要学习的一部分学科或学科内容,也指对学生有直接意义的学习内容。社会问题课程是核心课程的重要表现形式优点:第一,强调内容的统一性和实用性,以及对学生和社会的适用性;第二,课程内容主要来自周围的社会生活和人类不断出现的问题,学生积极参与学习,具有相当强烈的内在动机;第三,通过积极的方式认识社会和改造社会。缺陷:第一,课程的范围和顺序没有明确地规定,学习的内容可能是零乱的、琐碎的和肤浅的;第二,学习单元可能被搞得支离破碎,知识的逻辑性、系统性和统一性受到影响;第三,由于缺乏有组织的内容,文化遗产不可能得到充分体

现,而且还可能背离家长对课程的期望和高等院校对课程的要求。国家课程也称“国家统一课程”,它是自上而下由中央政府负责编制、实施和评价的课程,地方课程是在国家规定的各个教育阶段的课程计划内,由省一级的教育行政部门或其授权的教育部门依据当地的政治、经济、文化、民族等发展需要而开发的课程。校本课程是由学生所在的学校教师编制、实施和评价的课程。必修课程是指同一学年的所有学生必须修习的公共课程,是为保证所有学生的基本学力而开发的课程。选修课程:是指依据不同学生的发展方向,容许个人选择的课程,是为适应学生的个性差异而开发的课程。二者关系:首先,从课程价值观看,必修课程与选修课程之间的关系可以归结到“公平发展”与“个性发展”之关系的层面;其次,必修课程与选修课程具有等价性,即二者拥有同等的价值;再次,必修课程与选修课程相互渗透、相互作用,二者有机统一, 成为个性化课程体系的有机构成。 三.课程设计的层次:1.宏观层面的课程设计(主要解决课程设计的基本理念问题,包括课程设计的价值取向、课程的根本目的、课程的主要任务、课程的主要结构等等。),2.中观层面的课程设计(以宏观的课程设计为前提和基础,它的主要任务是将宏观的课程设计具体化为各门课程的大纲或标准,并且以教科书或其它形式的教材为物质载体表现出来。),3.微观层面的课程设计,(微观层面的课程设计主要是指教师在实施已有的课程(课程标准、教科书)时,根据教学目标、学生现有的水平和特征,以及课程资源等实际情况对已确定的课程材料进行重新组织设计,以服务于现实的教学。)客观基础:社会发展的要求、学

相关文档
最新文档