Linux系统下Sniffer的实现 下载本文

内容发布更新时间 : 2024/11/20 19:40:28星期一 下面是文章的全部内容请认真阅读。

Linux系统下Sniffer的实现

论文关键词:嗅探器 数据包 协议栈 以太网 论文摘要:Sniffer是一种强大的网络分析工具,它集成了很多可以有力解决网络问题的功能。Sniffer可以实时地列出流经多个网卡的数据包,它还支持基于某些应用的数据包捕捉。通过它,你可以获得你所感兴趣的某个应用的所有网络流量。 今天,Sniffer成为了网络监控器和网络分析器的专用名词,它通常还代表收集数据和信息的方法。ISS把它这样定义:Sniffer是一种利用自身网络接口来对目的地是其它计算机的数据包进行捕捉的一种工具。

本文介绍并研究了Sniffer相关技术,重点是在Linux系统下如何实现Sniffer并获得相关数据包,并且详细介绍了Linux环境下Sniffer的实现过程。通过阅读本论文,您会对Sniffer有大致的了解,还可以得知如何在Linux系统环境下实现一个Sniffer

的详细过程。同时,本文还简略介绍TCP/IP协议栈和Sniffer实现过程的关系,详尽分析了TCP/IP中各个层次。

第一章 Sniffer简介 什么是Sniffer ?

Sniffer又叫“嗅探器”,是一种威胁性极大的被动攻击工具。使用这种工具,可以监视网络的状态、数据流动情况以及网络上传输的信息。当信息以明文的形式在网络上传输时,便可以使用网络监听的方式来进行攻击。黑客们常常利用它来截获用户私人信息,网络管理员也常常用它来监视网络状态,分析网络流量,排除网络故障等。Sniffer分为软件和硬件两种,软件的Sniffer有 NetXray、Packetboy、Net monitor等,其优点是物美价廉,易于学习使用,同时也易于交流;缺点是无法抓取网络上所有的传输,某些情况下也就无法真正了解网络的故障和运行情况。硬件的

Sniffer通常称为协议分析仪,一般都是商业性的,价格也比较贵。 ISS ( Int ernetS ecurityS ystem)为Sniffer这样定

义:Sniffer是利用计算机的网络接口截获目的地为其他计算机的数据报文的一种工具。我们一般认为Sniffer是指在运行以太网协议、TCP/ IP协议、IPX协议或者其他协议的网络上,可以攫取网络信息流的软件或硬件。Sniffer早期主要是分析网络的流量,以便找出所关心的网络中潜在的问题。Sniffer的存在对网络系统管理员是至关重要的,网络系统管理员通过Sniffer可以诊断出大量的不可见模糊问题(如网络瓶颈、错误配置等),监视网络活动,完善网络安全策略,进行行之有效的网络管理。

众所都知,在以太网中,所有的通讯都是广播的,也就是说通常在同一个网段的所有网络接口都可以访问在物理媒体上传输的所有数据,在正常的情况下,一个网络接口应该只响应单播和广播两种数据帧。对于网卡,一般都具备“正常模式”和“混杂模式”两种模式。网卡在“混杂模式”下可以接收非本地址的数据帧。

所以,简单说来,Sniffer就是在网卡处于“混杂模式”下,捕捉流经本网卡的所