Linux下嗅探器Sniffit的下载安装及使用图解.docx
- 文档编号:9341829
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:20
- 大小:1.90MB
Linux下嗅探器Sniffit的下载安装及使用图解.docx
《Linux下嗅探器Sniffit的下载安装及使用图解.docx》由会员分享,可在线阅读,更多相关《Linux下嗅探器Sniffit的下载安装及使用图解.docx(20页珍藏版)》请在冰豆网上搜索。
Linux下嗅探器Sniffit的下载安装及使用图解
Linux下嗅探器Sniffit的下载安装及使用图解
1、sniffitforlinux简介
计算机网络是共享通讯通道的。
共享意味着计算机能够接收到发送给其它计算机的信息。
捕获在网络中传输的数据信息就称为sniffing(窃听)。
在如今众多的黑客技术中,嗅探器(sniffer)是最常见,也是最重要的技术之一。
用过windows平台上的sniffer工具(例如,netxray和snifferpro软件)的朋友可能都知道,在共享式的局域网中,采用sniffer工具简直可以对网络中的所有流量一览无余!
Sniffer工具实际上就是一个网络上的抓包工具,同时还可以对抓到的包进行分析。
由于在共享式的网络中,信息包是会广播到网络中所有主机的网络接口,只不过在没有使用sniffer工具之前,主机的网络设备会判断该信息包是否应该接收,这样它就会抛弃不应该接收的信息包,sniffer工具却使主机的网络设备接收所有到达的信息包,这样就达到了网络监听的效果。
其实,sniffer工具既可以适合于黑客的使用,也同样有利于网络管理员和网络程序员。
对于网络管理人员来说,使用嗅探器可以随时掌握网络的实际情况,在网络性能急剧下降的时候,可以通过sniffer工具来分析原因,找出造成网络阻塞的来源。
对于网络程序员来说,通过sniffer工具来调试程序。
由于Sniffit安装简便、功能强大,目前已成为黑客在UNIX中的首选Sniffer.
2、Sniffit下载地址
选择下面的最新版本Sniffit0.3.7beta下载。
3、软件的安装
a.将该压缩包上传到被监视的linux服务器上,我这使用的是UltraEdit工具中的FTP功能。
b.上传成功后,解压该压缩包得到sniffit.0.3.7.beta.tar.gz,再用命令tar-xvfsniffit.0.3.7.beta.tar.gz.
c.进入目录cdsniffit.0.3.7.beta,打开文件README.FIRST,查询如何编译和安装该软件
编译并安装:
$./configure
$make
如果没有报错信息,则在该目录下生成一个sniffit文件。
如果提示权限拒绝,改变configure文件的权限chmod741configure
注意:
我在编译和安装完毕后,并没有看到sniffit可执行文件,于是再一次编译和安装,结果成功了。
4、运行软件
可以先查看帮助。
同样是查看文件README.FIRST。
./sniffit参数
注意用root身份运行。
下面再讲解下如何使用该工具。
一.有关sniffer及sniffer的含义
sniffers(嗅探器)几乎和internet有一样久的历史了.Sniffer是一种常用的收集有用数据方法,这些数据可以是用户的帐号和密码,可以是一些商用机密数据等等。
随着Internet及电子商务的日益普及,Internet的安全也越来越受到重视。
在Internet安全隐患中扮演重要角色之一的Sniffer以受到越来越大的关注,所以今天我要向大家介绍一下介绍Sniffer以及如何阻止sniffer。
大多数的黑客仅仅为了探测内部网上的主机并取得控制权,只有那些"雄心勃勃"的黑客,为了控制整个网络才会安装特洛伊木马和后门程序,并清除记录。
他们经常使用的手法是安装sniffer。
在内部网上,黑客要想迅速获得大量的账号(包括用户名和密码),最为有效的手段是使用"sniffer"程序。
这种方法要求运行Sniffer程序的主机和被监听的主机必须在同一个以太网段上,故而在外部主机上运行sniffer是没有效果的。
再者,必须以root的身份使用sniffer程序,才能够监听到以太网段上的数据流。
谈到以太网sniffer,就必须谈到以太网sniffing。
那么什么是以太网sniffer呢?
以太网sniffing是指对以太网设备上传送的数据包进行侦听,发现感兴趣的包。
如果发现符合条件的包,就把它存到一个log文件中去。
通常设置的这些条件是包含字"username"或"passWord"的包。
它的目的是将网络层放到promiscuous模式,从而能干些事情。
Promiscuous模式是指网络上的所有设备都对总线上传送的数据进行侦听,并不仅仅是它们自己的数据。
根据第二章中有关对以太网的工作原理的基本介绍,可以知道:
一个设备要向某一目标发送数据时,它是对以太网进行广播的。
一个连到以太网总线上的设备在任何时间里都在接受数据。
不过只是将属于自己的数据传给该计算机上的应用程序。
利用这一点,可以将一台计算机的网络连接设置为接受所有以太网总线上的数据,从而实现sniffer。
sniffer通常运行在路由器,或有路由器功能的主机上。
这样就能对大量的数据进行监控。
sniffer属第二层次的攻击。
通常是攻击者已经进入了目标系统,然后使用sniffer这种攻击手段,以便得到更多的信息。
sniffer除了能得到口令或用户名外,还能得到更多的其他信息,比如一个其他重要的信息,在网上传送的金融信息等等。
sniffer几乎能得到任何以太网上的传送的数据包。
黑客会使用各种方法,获得系统的控制权并留下再次侵入的后门,以保证sniffer能够执行。
在Solaris2.x平台上,sniffer程序通常被安装在/usr/bin或/dev目录下。
黑客还会巧妙的修改时间,使得sniffer程序看上去是和其它系统程序同时安装的。
大多数以太网sniffer程序在后台运行,将结果输出到某个记录文件中。
黑客常常会修改ps程序,使得系统管理员很难发现运行的sniffer程序。
以太网sniffer程序将系统的网络接口设定为混合模式。
这样,它就可以监听到所有流经同一以太网网段的数据包,不管它的接受者或发送者是不是运行sniffer的主机。
程序将用户名、密码和其它黑客感兴趣的数据存入log文件。
黑客会等待一段时间-----比如一周后,再回到这里下载记录文件。
讲了这么多,那么到底我们可以用什么通俗的话来介绍sniffer呢?
计算机网络与电话电路不同,计算机网络是共享通讯通道的。
共享意味着计算机能够接收到发送给其它计算机的信息。
捕获在网络中传输的数据信息就称为sniffing(窃听)。
以太网是现在应用最广泛的计算机连网方式。
以太网协议是在同一回路向所有主机发送数据包信息。
数据包头包含有目标主机的正确地址。
一般情况下只有具有该地址的主机会接受这个数据包。
如果一台主机能够接收所有数据包,而不理会数据包头内容,这种方式通常称为"混杂"模式。
由于在一个普通的网络环境中,帐号和口令信息以明文方式在以太网中传输,一旦入侵者获得其中一台主机的root权限,并将其置于混杂模式以窃听网络数据,从而有可能入侵网络中的所有计算机。
一句话,sniffer就是一个用来窃听的黑客手段和工具。
二、sniffer的工作原理
通常在同一个网段的所有网络接口都有访问在物理媒体上传输的所有数据的能力,而每个网络接口都还应该有一个硬件地址,该硬件地址不同于网络中存在的其他网络接口的硬件地址,同时,每个网络至少还要一个广播地址。
(代表所有的接口地址),在正常情况下,一个合法的网络接口应该只响应这样的两种数据帧:
1、帧的目标区域具有和本地网络接口相匹配的硬件地址。
2、帧的目标区域具有"广播地址"。
在接受到上面两种情况的数据包时,nc通过cpu产生一个硬件中断,该中断能引起操作系统注意,然后将帧中所包含的数据传送给系统进一步处理。
而sniffer就是一种能将本地nc状态设成(promiscuous)状态的软件,当nc处于这种"混杂"方式时,该nc具备"广播地址",它对所有遭遇到的每一个帧都产生一个硬件中断以便提醒操作系统处理流经该物理媒体上的每一个报文包。
(绝大多数的nc具备置成promiscuous方式的能力)
可见,sniffer工作在网络环境中的底层,它会拦截所有的正在网络上传送的数据,并且通过相应的软件处理,可以实时分析这些数据的内容,进而分析所处的网络状态和整体布局。
值得注意的是:
sniffer是极其安静的,它是一种消极的安全攻击。
通常sniffer所要关心的内容可以分成这样几类:
1、口令
我想这是绝大多数非法使用sniffer的理由,sniffer可以记录到明文传送的userid和passwd.就算你在网络传送过程中使用了加密的数据,sniffer记录的数据一样有可能使入侵者在家里边吃肉串边想办法算出你的算法。
2、金融帐号
许多用户很放心在网上使用自己的信用卡或现金帐号,然而sniffer可以很轻松截获在网上传送的用户姓名、口令、信用卡号码、截止日期、帐号和pin.
3、偷窥机密或敏感的信息数据
通过拦截数据包,入侵者可以很方便记录别人之间敏感的信息传送,或者干脆拦截整个的email会话过程。
4、窥探低级的协议信息。
这是很可怕的事,我认为,通过对底层的信息协议记录,比如记录两台主机之间的网络接口地址、远程网络接口ip地址、ip路由信息和tcp连接的字节顺序号码等。
这些信息由非法入侵的人掌握后将对网络安全构成极大的危害,通常有人用sniffer收集这些信息只有一个原因:
他正在进行一次欺诈,(通常的ip地址欺诈就要求你准确插入tcp连接的字节顺序号,这将在以后整理的文章中指出)如果某人很关心这个问题,那么sniffer对他来说只是前奏,今后的问题要大得多。
(对于高级的hacker而言,我想这是使用sniffer的唯一理由吧)
二.sniffer的工作环境
snifffer就是能够捕获网络报文的设备。
嗅探器的正当用处在于分析网络的流量,以便找出所关心的网络中潜在的问题。
例如,假设网络的某一段运行得不是很好,报文的发送比较慢,而我们又不知道问题出在什么地方,此时就可以用嗅探器来作出精确的问题判断。
嗅探器在功能和设计方面有很多不同。
有些只能分析一种协议,而另一些可能能够分析几百种协议。
一般情况下,大多数的嗅探器至少能够分析下面的协议:
1.标准以太网
2.TCP/IP
3.IPX
4.DECNet
嗅探器通常是软硬件的结合。
专用的嗅探器价格非常昂贵。
另一方面,免费的嗅探器虽然不需要花什么钱,但得不到什么支持。
嗅探器与一般的键盘捕获程序不同。
键盘捕获程序捕获在终端上输入的键值,而嗅探器则捕获真实的网络报文。
嗅探器通过将其置身于网络接口来达到这个目的——例如将以太网卡设置成杂收模式。
(为了理解杂收模式是怎么回事,先解释局域网是怎么工作的)。
数据在网络上是以很小的称为帧(Ftame)的单位传输的帧由好几部分组成,不同的部分执行不同的功能。
(例如,以太网的前12个字节存放的是源和目的的地址,这些位告诉网络:
数据的来源和去处。
以太网帧的其他部分存放实际的用户数据、TCP/IP的报文头或IPX报文头等等)。
帧通过特定的称为网络驱动程序的软件进行成型,然后通过网卡发送到网线上。
通过网线到达它们的目的机器,在目的机器的一端执行相反的过程。
接收端机器的以太网卡捕获到这些帧,并告诉操作系统帧的到达,然后对其进行存储。
就是在这个传输和接收的过程中,嗅探器会造成安全方面的问题。
每一个在LAN上的工作站都有其硬件地址。
这些地址唯一地表示着网络上的机器(这一点于Internet地址系统比较相似)。
当用户发送一个报文时,这些报文就会发送到LAN上所有可用的机器。
在一般情况下,网络上所有的机器都可以“听”到通过的流量,但对不属于自己的报文则不予响应(换句话说,工作站A不会捕获属于工作站B的数据,而是简单的忽略这些数据)。
如果某在工作站的网络接口处于杂收模式,那么它就可以捕获网络上所有的报文和帧,如果一个工作站被配置成这样的方式,它(包括其软件)就是一个嗅探器。
嗅探器可能造成的危害:
1.嗅探器能够捕获口令
2.能够捕获专用的或者机密的信息
3.可以用来危害网络邻居的安全,或者用来获取更高级别的访问权限
事实上,如果你在网络上存在非授权的嗅探器就以为着你的系统已经暴露在别人面前了。
(大家可以试试天行2的嗅探功能)
一般我们只嗅探每个报文的前200到300个字节。
用户名和口令都包含在这一部分中,这是我们关心的真正部分。
工人,也可以嗅探给定接口上的所有报文,如果有足够的空间进行存储,有足够的那里进行处理的话,将会发现另一些非常有趣的东西……
简单的放置一个嗅探器宾将其放到随便什么地方将不会起到什么作用。
将嗅探器放置于被攻击机器或网络附近,这样将捕获到很多口令,还有一个比较好的方法就是放在网关上。
如果这样的话就能捕获网络和其他网络进行身份鉴别的过程。
这样的方式将成倍地增加我们能够攻击的范围。
三.谁会使用sniffers
可能谁都回知道谁会使用sniffer,但是并不是每个使用它的人都是网络高手,因为现在有很多的sniffer都成了傻瓜似的了,前段时间用的最多的不外乎oicqsniffer。
我想那些喜欢查好友ip的朋友都应该记得它吧。
呵呵,我都使用过它,现在当然不用了啊!
当然系统管理员使用sniffer来分析网络信息交通并且找出网络上何处发生问题。
一个安全管理员可以同时用多种sniffer,将它们放置在网络的各处,形成一个入侵警报系统。
对于系统管理员来说sniffer是一个非常好的工具,但是它同样是一个经常被黑客使用的工具.骇客安装sniffer以获得用户名和账号,信用卡号码,个人信息,和其他的信息可以导致对你或是你的公司的极大危害如果向坏的方面发展。
当它们得到这些信息后,骇客将使用密码来进攻其他的internet站点甚至倒卖信用卡号码。
Sniffit常见问题及防范策略深入分析
1.sniffit既是个优秀的管理工具也是个危险的侵入工具。
可被管理员用来检查网络中到底传输了些什么,学习各种tcp/ip协议的工作方法,也能被攻击者利用,主要是记录密码。
2.工作原理:
为什么能检查密码和不是传送给自己的数据呢?
在典型的LAN环境中,(指共享式HUB上连接的两个用户A和B),基于共享式HUB的工作原理,用户A发出的所有tcp/ip请求在HUB的每个端口上广播,正常情况下,B不接收这些目标地址不是自己的数据,但是一旦我们在B机上运行sniffit一类的监听工具,就能置网卡于第三种叫混杂模式的状态下(前两种为tcp,udp模式),在该状态下,网卡接受所有的数据,不管是发给自己的,还是不发给自己的,都被网卡接收并直接传给最上层应用层,交由相应的软件如sniffit处理。
3。
常见用法
a.检测telnet/FTP/pop3密码:
#sniffit-a-A.-p23-b-t192.168.11.@
#sniffit-a-A.-p110-b-t192.168.11.1(pop3server)
b.查看http头信息
#sniffit-a-A.-p80-b-s1.2.3.4(1.2.3.4是防火墙外部地址)
c.记录输出到文件
#sniffit-p21-l0-b-s192.168.11.2&
d.查看icmp消息
#sniffit-picmp-b-s192.168.1.2
e.交互式界面
#sniffit-i
f.检查本网段内发出名字广播的机器
#sniffit-a-A.-Pudp-p137-b-s192.168.11.255
g.注意防火墙的情况
若要检查防火墙内部网卡上的包eth1,可能你要设置-Feth1参数,因为默认地sniffit假设为eth0
4.哪些信息是敏感的和易被检测的?
telnet/ftp/pop3的密码都是明文传送的,都是易被检测的,apache的基本方式的用户名/密码认证也是UU编码后的口令,也是易被检测的。
5.怎样阻止?
硬件:
不要用普通的共享式HUB,用交换机来代替它,目前只有交换机和路由器能阻止sniffit的作用
软件:
用带加密功能的tcp/ip连接,象ssh/scp全面代替telnet/ftp/pop3,用MD5方式的apache认证
6。
作用范围:
仅在逻辑子网内有效,不能跨子网,因为广播不被路由器传递,但若是在服务器上运行sniffit,则任何方法均无效,对防火墙来说,通常sniffit攻击是第二层攻击,就是先得到一个普通帐号进入再探寻更多的口令。
7.怎样判断是否有人在用sniffit?
可检测网络接口(ifconfig)看是否处于混杂模式来确认是否被侵入并安装了sniffit,只限本机。
Sniffit是由LawrenceBerkeleyLaboratory开发的,可以在Linux、Solaris、SGI等各种平台运行的网络监听软件,它主要是针对TCP/IP协议的不安全性对运行该协议的机器进行监听——当然,数据包必须经过运行sniffit的机器才能进行监听,因此它只能够监听在同一个网段上的机器。
而且还能够自由地为其增加某些插件以实现额外功能。
一、安装软件的安装很简单:
1、用tarzvfxsniffit.*.*.*.tgz将下载下来的sniffit.*.*.*.tgz解压缩到你想要的目的文件夹,如果版本是0.3.7的话(应该是最新版本吧,我不敢确定……),你会看到该目录下出现一个sniffit.0.3.7的目录。
2、cdsniffit.0.3.7
3、./configure&&make,只要在这个过程中终端上没有意外的error信息出现,你就算编译成功了——可以得到一个二进制的sniffit文件。
4、makeclean把不用的垃圾扫掉……
二、使用方法
1、参数
这个东东具有如下的命令选项:
-v显示版本信息
-t让程序去监听指定流向某IP的数据包
-s让程序去监听从某IP流出的IP数据包,可以使用@通配符,如-t
199.145.@
-i显示出窗口界面,能察看当前在你所属网络上进行连接的机器
-I扩展的交互模式,忽略所有其它选项,比-i强大得多……
-c利用脚本来运行程序
-F强制使程序使用网络硬盘
-n显示出假的数据包。
象使用ARP、RARP或者其他不是IP的数据包也会显示出来
-N只运行plugin时的选项,使其它选项失效
在-i模式下无法工作的参数:
-b同时做-t和-s的工作……
-d将监听所得内容显示在当前终端——以十六进制表示
-a将监听所得内容显示在当前终端——以ASCII字符表示
-x打印TCP包的扩展信息(SEQ,ACK,Flags),可以与'-a','-d','-s','-t',
'-b'一起运作,注意——它是输出在标准输出的,如果只用-t,-s,-b而没有其它参数配合的话不会被写入文件。
-R将所有通信记录在文件中
-r这一选项将记录文件送往sniffit,它需要-F的参数配合指明设备,假设你用'eth0'(第一块网卡)来记录文件,你必须在命令行里面加上'-Feth0'或者'或者'或者'或者'或者'-Feth'-A遇到不认识的字符时用指定的字符代替
-P定义监听的协议,DEFAULT为TCP——也可以选IP、ICMP、UDP……
-p定义监听端口,默认为全部
-l设定数据包大小,default是300字节。
-M激活插件
-I,-i模式下的参数
-D所有的记录会被送到这个磁盘上。
-c模式下的参数
-L
其中logparam可以是如下的内容:
raw:
轻度
norm:
常规
telnet:
记录口令(端口23)
ftp:
记录口令(端口21)
mail:
记录信件内容(端口25)
比如说"ftpmailnorm"就是一个合法的logparam
三、高级应用
1、用脚本执行
这是配合选项-c的,其执行方法也很简单,比如以如下方式编辑一个叫sh的文件
selectfromhost180.180.180.1
selecttohost180.180.180.10
selectbothport21
然后执行:
sniffit-csh
说明:
监听从180.180.180.1送往180.180.180.10的数据包,端口为FTP口。
这里不做更多说明,你可以自己去看里面的README。
2、插件
要获取一个插件是很简单的,你将它放入sniffit的目录下,并且象如下方式编辑sn_plugin.h文件:
#definePLUGIN1_NAME"Myplugin"
#definePLUGIN1(x)main_plugin_function(x)
#include"my_plugin.plug"
注意:
a)你可以让plugin从0-9,所以从PLUGIN0_NAME到PLUGIN1_NAME……不必是连续的d)#include"my_plugin.plug"这是我的插件源代码放置的地方。
如果想详细了解的话,还是看看里面的plugin.howto吧。
3、介绍tod
这东东便是sniffit最有名的一个插件了,为什么叫TOD呢——touchofdeath,它可以轻易地切断一个TCP连接,原理是向一个TCP连接中的一台主机发送一个断开连接的IP包,这个IP包的RST位置1,便可以了。
将下载下来的tod.tar.gz拷贝到sniffit所在目录下,解压安装后ln-stodsniffit_key5
就可以将这相程序与F5键连接起来,想切断哪台机器的话,只要在窗口中将光标指到需要断线的机器上按下F5键就可以了。
你可以自由地定义成其它的F功能键——F1~F4不行,它们已经被定义过了……
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 下嗅探器 Sniffit 下载 安装 使用 图解