浅议网络侦听技术——sniffer

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:linux_secway
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:该文介绍了一种利用计算机网络接口进行侦听的网络新技术——sniffer。首先介绍了sniffer实施侦听的工作原理,其次介绍了目前常见的免费sniffer工具及其实现步骤,最后对sniffer用于网络入侵的危害及其局限性进行了阐述。
  关键词:sniffer;网络侦听;网络安全
  中图分类号:TP393.08文献标识码:A文章编号:1009-3044(2008)33-1321-01
  
  Research on Network Interception Technology about Sniffer
  WANG Mei-hua
  (Zhejiang Provincial Tongxiang Puyuan Central Hospital, Tongxiang 314502, China)
  Abstract: The paper introduced one kind carries on the interception using the computer network connection network new technology about sniffer. First, introduced the sniffer implementation interception principle of work, then introduced the present common free sniffer tool and the realization step, finally used in the network invasion to sniffer the harm and the limitation has carried on the elaboration.
  Key Words: sniffer; network interception; network security
  
  1 sniffer及其工作原理
  sniffer是利用计算机的网络接口截获目的地为其他计算机的数据报文的一种工具。sniffer(侦听仪)的通用意义是网络协议分析仪。在合理的网络中,sniffer的存在对系统管理员是致关重要的,系统管理员通过sniffer可以诊断出大量的不可见模糊问题,这些问题涉及两台乃至多台计算机之间的异常通讯,有些甚至牵涉到各种的协议,借助于sniffer,系统管理员可以方便的确定出多少的通讯量属于哪个网络协议、占主要通讯协议的主机是哪一台、大多数通讯目的地是哪台主机、报文发送占用多少时间、或者相互主机的报文传送间隔时间等等,这些信息为管理员判断网络问题、管理网络区域提供了非常宝贵的信息。但同时,如果有心之人(非系统管理员)使用了sniffer,那么,他同样也可以获得和管理员一样多的信息,同样也可以对整个的网络做出判断。
  sniffer是如何在网络上实施的呢?在共享媒体(共享媒体指示这样一种网络:在组成其网络段的物理媒体上广播所有帧)的网络中(例如Ethemet),在同一个网段的所有网络接口都有访问在物理媒体上传输的所有数据的能力,而每个网络接口都还应该有一个硬件地址,该硬件地址不同于网络中存在的其他网络接口的硬件地址,同时,每个网络至少还要一个广播地址(代表所有的接口地址)。在正常情况下,一个合法的网络接口应该只响应这样的两种数据帧:
  第一,帧的目标区域具有和本地网络接口相匹配的硬件地址;
  第二,帧的目标区域具有“广播地址”。
  在接受到上面两种情况的数据包时,网卡通过CPU产生一个硬件中断,该中断能引起操作系统注意,然后将帧中所包含的数据传送给系统进一步处理。
  而sniffer就是一种能将本地网卡状态设成混杂模式(promiscuous)状态的软件,当网卡处于这种“混杂”方式时,该网卡对遭遇到的每一个帧都产生一个硬件中断以便提醒操作系统处理流经该物理媒体上的每一个报文包。可见,sniffer工作在网络环境中的底层,它会拦截所有的正在网络上传送的数据,并且通过相应的软件处理,可以实时分析这些数据的内容,进而分析所处的网络状态和整体布局。值得注意的是:sniffer是极其安静的,当它用来攻击时,是一种消极的安全攻击。
  2 常见sniffer与sniffer的实现
  sniffer网络分析仪有专用硬件和软件的产品,尖端的网络分析仪产品可以找出一般网络接口检测不出的错误;中等商业市场的分析仪产品往往是带有特定软件的普通便携计算机;而基于各个平台的很多普通的网络侦听软件则在Internet上可以自由下载。比较知名的被广泛用于调试网络故障的免费sniffer工具有:
  Tcpdump(运行在FreeBSD,Linux,DEC Unix,Irix,SunOS等)
  Nfswatch(运行在HP-UX,Irix,SunOS等)
  Etherfind,Snooper(SunOS)
  Ipman,Etherload,Gobbler(运行在DOS,Windows等)
  Ethereal(运行在Linux,Windows等)
  Netman系列(Pachetman,Interman,Etherman,Loadman),Lanwatch,Lanpatrol
  在Linux下侦听器基本实现过程是通过Socket实现的。Linux中支持一种特殊的套接字,即SOCK-PACKET型套接字。在这种套接字下,应用程序可以读到网卡传递给系统内核的所有报文。一般情况下,网卡只将那些目的地址为自身的报文传送给系统内核。因此,需要将网卡的工作方式设定为混杂模式。这样,系统内核就可以读到网卡侦听到的所有报文,从而侦听器应用程序也就可以读到这些报文了。侦听器的实现步骤如下:
  
  1) 打开套接字。使用socket函数打开SOCK-PACKET型套接字;
  2) 设置混杂模式。使用ioctl函数将网卡设置为混杂模式;
  3) 读取报文。使用读取函数将报文读入缓冲区中;
  4) 处理报文。该部分由过滤子模块和处理子模块组成,过滤子模块用用户事先定好的规则对读到的报文进行过滤,只将用户关心的报文交由处理子模块作进一步处理。
  3 sniffer用于网络入侵的危害及其局限性
  网络侦听是很高级别的危险,可以导致几类严重的信息泄漏。通常sniffer所要关心的内容可以分成这样几类:
  1) 口令
  这是绝大多数非法使用sniffer的理由,sniffer可以记录到明文传送的userid和passwd。就算你在网络传送过程中使用了加密的数据,sniffer记录的数据一样有可能使入侵者在家里悠闲地想办法算出你的算法。
  2) 金融帐号
  许多用户很放心在网上使用自己的信用卡或现金帐号,然而,sniffer可以很轻松截获在网上使用明文传送的用户姓名、口令、信用卡号码、截至日期、帐号和PIN。
  3) 偷窥机密或敏感的信息数据
  通过拦截数据包,入侵者可以很方便记录别人之间敏感的信息传送,或者干脆拦截整个的会话过程。
  4) 窥探低级的协议信息
  这是很可怕的事,通过对底层的信息协议记录,比如记录两台主机之间的网络接口地址、远程网络接口IP地址、IP路由信息和TCP连接的字节顺序号码等。这些信息由非法入侵的人掌握后将对网络安全构成极大的危害,通常有人用sniffer收集这些信息只有一个原因:他正在进行一次欺诈,(通常的IP地址欺诈就要求你准确插入TCP连接的字节顺序号)。如果某人(例如高级入侵者)很关心这个问题,那么sniffer对他来说只是前奏,今后的问题要多得多。
  sniffer工作的前提是同一冲突域的共享媒体,但考虑此类广播型网的协议工作方式,即向同一子网的所有网络接口轮询,会不可避免的造成广播风暴和碰撞,占用带宽,因此经常将同一子网的机器适当分成几个网段(冲突域),在网段间用Switch相连.这也是为什么用HUB相连的同一以太网段可编程实现监听(raw socket方式,windows下Vpacket的VXD),但如果用Switch连接不同的冲突域则从理论上无法监听。
  那么,通过交换设备(网桥、交换机、路由等)所形成的网络边界外是否完全没有sniffer存在的空间呢?并非全然如此,能形成网络边界的交换设备并不是把来自一边的所有的帧都丢到另一边的。他们通常允许某些报文通过边界而阻止某些报文(特别是网络广播)通过边界。因此从理论上讲,通过交换设备对网络进行分段后,sniffer将无法透过边界而窥探另一边的数据包。但是,请注意,这是在边界设备不转发广播包的情况下,这也是通常的网络情况。某些交换机会有特殊的状态会转发数据包,比如很多10M/100M的交换机有将所有10M端口数据包复制到100M端口的功能。同时对于级连的交换机,如果在上出口处进行监听,仍然可以截获所有上行数据。因此必须对于网络拓扑和交换机进行小心的设置和管理。
  
  参考文献:
  [1] David A. Solomon, Mark E. Russinovich. Inside Microsoft Windows 2000. Microsoft Press. 2000.
  [2] 樊宸丰,林东.网络信息安全与数据加密[M].北京:清华大学出版社,2002.
  [3] 许治坤,王伟,郭添森,杨翼龙.网络渗透技术[M].北京:电子工业出版社,2005.
其他文献
摘要:对于高职院校而言,公文处理工作非常重要,随着校园网络技术的发展,越来越多的高职院校都开发专门公文处理平台,关于平台的研究与实现提出了新的需求。高职院校每天要处理很多的公文文件,传统的公文流转方式己不再满足业务工作的实际需求,还停留在纸质的处理模式,导致效率低下、成本高现象。  关键词:高职院校;公文处理系统;B/S  模式中图分类号:TP315 文献标识码:A 文章编号:1009-3044(
摘要:针对当前在线课程教学和在线学习正被人们广泛接受,该文以中山中专《计算机应用基础》课在线课程的设计与应用为例,对在线课程的设计原则与设计步骤进行了探讨,提出了在线课程设计网络平台化,在线课程应用学习模块化的基本思想与应用策略。  关键词:在线课程;网络课程建设平台;教学设计;教学应用  中图分类号:G424 文献标识码:A 文章编号:1009-3044(2014)07-1454-02  近几年
摘要:受韦伯局部描述子和LBP特征的启发,针对Haar特征维度高、冗余度大以及对光照变化适应性差等缺点,提出了一种于显著性的局部二值化Haar特征。首先将8种Haar特征组合形成一个3*3的块,利用局部二值化思想得到二值化Haar特征;然后根据韦伯定律求取该块的显著性因子;最后把显著性因子作为权重将二值化Haar特征统计成直方图而得到SLBH特征。通过在INRIA行人样本库上实验,表明该特征具有较
摘要:目前量子可逆逻辑电路的绘制工作十分复杂。虽然现有的自动绘图工具只能满足基本的绘图需求,但是它们绘制出的是低分辨率的点阵图,而这种点阵图很难满足研究者们在论文发表时对高清图像的要求。因此,用C#对Visio绘图功能进行二次开发,解析并描述用户提供的量子电路TFC文件, C#读取用户对电路多种格式的自定义参数,依次画出所需的量子门,则可自动绘制出符合高清要求的矢量量子电路图。因为可逆逻辑量子电路
摘要:随着在线教育的蓬勃发展和教育大数据时代的来临,一种新型学习支持工具——学习支架应运而生。该文从学习支架的基本概念以及类型出发,分析了学习支架以不同形式在信息技术课堂中的使用情况,并结合案例分析了在教学中应该如何合理使用与教学相匹配的学习支架来提高学习者的学习能力。  关键词: 学习支架;最近发展区;信息技术  中图分类号:G43 文献标识码:A 文章编号:1009-3044(2016)34-
摘要:该文针对利用动态库技术进行通信协议模块化设计进行研究,首先简要地介绍了动态库基本理论,然后给通信协议动态库设计方法和设计要点,最后给出了基于UDP的通信协议动态库开发实例。  关键词:动态库  中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)09-0058-03  在设计通信程序时,在其程序的实现形式上主要分为可执行应用程序和动态链接库。前者能够独立运行,通常
摘要:由于现在科学技术的迅猛发展以及人民生活水平的不断提升,互联网行业在悄无声息的进入大众的生活中,计算机也被应用在各行各业中。从社会网络到蛋白质交互网络等不同的领域产生了大量的数据,而图作为统计这些巨大数据的一个载体不仅能精确的描述出数据的属性,还能说明数据结构的特征,这些优势让以不确定图模型的数据挖掘算法在社会中得到广泛的应用。  关键词:数据;挖掘算法;不确定图  中图分类号:TP391 文
摘要:针对城市公共自行车系统的现状,通过逐步遍历找到每个站点的最优规划方案,然后对站点分类并根据区域内公共自行车站点的分布图,将规划路线问题拟化为TSP问题,并用普里姆算法生成最小生成树解决该问题,对路线进行多次优化,得出最终结果。并用价值模型对优化前后路线进行比较。最后通过实例,验证了所设计的模型和算法取得了预期的效果,证明了所用算法符合该模型的求解,且通过该模型所求得的规划方案是合理的。  关
摘要:通过调查研究,依据政策,扩大招生就业的口径,加强专业内涵建设,校企合作采用多种形式,最终紧跟社会发展的最新脚步,结合本校优势和特色,在发展中求生存,向着特色培育和卓越品质塑立。  关键词:专业内涵建设;特色培育;校企合作多样化  中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2014)30-7114-02  近年来,我国高等教育事业迅速发展,原有的教育体系和学科格局得到了
摘要:技能竞赛的目的是促进学校与行业企业的产教结合,通过竞赛能有效的推进课程内容和教学方法改革,将课程改革与技能竞赛内容和标准紧密结合。该文以WEB程序设计课程为例,论述技能竞赛对其课程改革的启示与影响。  关键词:技能大赛;WEB程序设计;课程改革  中图分类号:G424 文献标识码:A 文章编号:1009-3044(2014)35-8441-02  南通理工学院软件工程系《WEB程序设计》是软