sniffer的安装使用

sniffer的安装使用  

我主要以sniffit为例分别介绍在nt和linux下的应用。  

[1] 在linux下的sniffit安装:  

软件的安装  


1、用tarzvfxsniffit.*.*.*.tgz将下载下来的sniffit.*.*.*.tgz解压缩  
到你想要的目的文件夹,如果版本是0.3.7的话,你会看到该目录下出现一个sniffit.0.3.7的目录。  

2、cd sniffit.0.3.7  

3、./configure && make,只要在这个过程中终端上没有意外的error信息出现,你就算编译成功了--可以得到一个二进制的sniffit文件。  

4、makeclean把不用的垃圾扫掉……  


或者sudo apt-get install sniffit命令来自动安装。

使用方法  

1、参数,有如下的命令选项:  
-v显示版本信息  
-t让程序去监听指定流向某IP的数据包  
-s让程序去监听从某IP流出的IP数据包,可以使用@通配符  
-t199.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  

2、图形仿真界面  
就是上面所说的-i选项啦,我们输入sniffit-i会出现一个窗口环境,从中可以看到自己所在的网络中有哪些机器正在连接,使用什么端口号,其中可用的命令如下:  

q退出窗口环境,结束程序  
r刷新屏幕,重新显示正在在连线的机器  
n产生一个小窗口,包括TCP、IP、ICMP、UDP等协议的流量  
g产生数据包,正常情况下只有UDP协议才会产生,执行此命令要回答一些关于数据包的问题  
F1改变来源网域的IP地址,默认为全部  
F2改变目的网域的IP地址,默认为全部  
F3改变来源机器的端口号,默认为全部  
F4改变目的机器的端口号,默认为全部  
一些示例 
假设有以下的设置:在一个子网中有两台主机,一台运行了sniffer,我们称之为sniffit.com,另一台是66.66.66.7,我们称之为target.com。 
<1>你希望检查sniffer是否能运行sniffit:~/#sniffit-d-p7-t66.66.66.7,并且开另一个窗口: 
sniffit:~/$telnettarget.com7,你可以看到sniffer将你telnet到对方7号端口echo服务的包捕获了。 

<2>你希望截获target.com上的用户密码sniffit:~/#sniffit-p23-t66.66.66.7 
<3>target.com主机的根用户声称有奇怪的FTP连接并且希望找出他们的击键sniffit:~/#sniffit-p21-l0-t66.66.66.7 
<4>你希望能阅读所有进出target.com的信件sniffit:~/#sniffit-p25-l0-b-t66.66.66.7&,或者sniffit:~/#sniffit-p25-l0-b-s66.66.66.7& 
<5>你希望使用用户交互界面sniffit:~/#sniffit-i 
<6>有错误发生而且你希望截获控制信息sniffit:~/#sniffit-Picmp-b-s66.66.66.7 
<7>Gowildonscrollingthescreen. sniffit:~/#sniffit-Pip-Picmp-Ptcp-p0-b-a-d-x-s66.66.66.7,与之效果相当的是sniffit:~/#sniffit-Pipicmptcp-p0-b-a-d-x-s66.66.66.7 
<8>你可以用more66*读取下列方式记录下的密码sniffit:~/#sniffit-p23-A.-t66.66.66.7,或者sniffit:~/#sniffit-p23-A^-tdummy.net 
高级应用 
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不行,它们已经被定义过了…… 

[2],在nt下的sniffit 
Sniffit 0.3.7推出了NT版本,也支持WINDOWS2000,这个sniffit需要WinPcap包,就是类似与libpcap的包,支持WIN32平台上可以信息包捕获和网络分析,是基于UNIX的libpcap和BPF(Berkeley 分帧过滤器)模型的包。它包括内核级的包过滤驱动程序,低级动态连接库(packet.dll),和高级系统无关性库(libpcap,基于0.4a6版本)。 
这个WinPcap信息包捕获启动程序可把设备驱动增加在Windows 95, Windows 98, Windows NT 和 Windows 2000 上,可以有能力捕获和发送通过原始套接口的信息包(raw packets),Packet.dll是一个能用来直接访问BPF驱动程序的API。 
WinPcap在http://netgroup-serv.polito.it/windump和http://netgroup-serv.polito.it/analyzer这两个工具中成功应用。最新的WinPcap是版本2.02,修补了2.01版本中的一些缺陷,并且支持WIN2000。具体信息和源代码可以在下面这个站点找到: 
http://netgroup-serv.polito.it/winpcap/ 

下面是在WIN2K中安装的步骤: 
1)先下载packet.exe这个程序后展开安装 
2)打开WINDOWS2000的控制面板 
3)从控制面板中双击"网络和拨号连接"图标,在打开"本地连接"图标,并选择属性选项 
4)在显示的对话框中选择"安装",安装网络组件 
5)再在出现的对话框中选择"协议",点击"增加" 
6)在出现的对话框中选择"从磁盘安装",选择正确路径,就是刚才你解压的网络设备驱动程序(这个文件夹中必须包含packet.inf和packet.sys)的地方,在选择确定 
7)在选择"Packet capture Driver v X.XX ",并按照指示来完成安装,往往要你WINDOWS2000的安装光盘 
8)查看网络组件中有没有 Packet capture Driver v X.XX 这一行,有的话说明这个驱动程序已经建立并绑定了网络接口 
再重新启动机器 

然后解压sniffit_nt.0.3.7.beta,再使用命令行模式,我简单的使用了一个命令行,刚开始是使用sniffit -t 192.168.0.1 -p 21,想监视下21 FTP端口的密码捕获成不成功,但出现"Automatic network device lookup not yet supported in Win32、version... use -F DevicePacket_{31BB7ED2-125E-11D4-8F11-D79985727802} 、to force the choice,Read the README.FIRST on how to force network devices. 的提示,于是我按照其提示所示,使用了sniffit -F Devicepacket_{31BB7ED2-125E-11D4-8F11-D79985727、802} -t 192.168.0.1 -p 21命令,这时出现下面的提示: 
Forcing device to Devicepacket_{31BB7ED2-125E-11D4-8F1 quested)... 
Make sure you have read the docs carefully. 
Sniffit.0.3.7 Beta is up and running.... (192.168.0.1) 

这就表明sniffit在工作了,于是在FTP到NT的端口,输入密码,随即就可以在刚才SNIFFIT的目录下看到一个关于192.168.0.2.1281-192.168.0.1.21的文件,打开后查看里面的内容如下所示: 
USER xundi 
PASS xxxxxxx-------->我隐藏了 
SYST 
PORT 192,168,0,2,5,2 
LIST 
PORT 192,168,0,2,5,3 
LIST 
CWD g: 
CWD c 
PORT 192,168,0,2,5,26 
LIST 
CWD hack 
PORT 192,168,0,2,5,88 
LIST 

看,是不是很整洁啊,至于文件名为何是这样192.168.0.2.1281-192.168.0.1.21,那是应该是一个客户/服务器模式,客户端的连接是随意开一个1281端口地址和192.168.0.1的21口连接。 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
P2P文件共享 前面有人文嗅探器的问题,我在这里做个详细的解释: 嗅探器(snifffer)就是能够捕获网络报文的设备。嗅探器的正当用处在于分析网络的流量,以便找出所关心的网络中潜在的问题。例如,假设网络的某一段运行得不是很好,报文的发送比较慢,而我们又不知道问题出在什么地方,此时就可以用嗅探器来作出精确的问题判断。 嗅探器在功能和设计方面有很多不同。有些只能分析一种协议,而另一些可能能够分析几百种协议。一般情况下,大多数的嗅探器至少能够分析下面的协议: ■标准以太网 ■TCP/IP ■IPX ■DECNet 嗅探器通常是软硬件的结合。专用的嗅探器价格非常昂贵。另一方面,免费的嗅探器虽然不需要花什么钱,但得不到什么支持。 嗅探器与一般的键盘捕获程序不同。键盘捕获程序捕获在终端上输入的键值,而嗅探器则捕获真实的网络报文。嗅探器通过将其置身于网络接口来达到这个目的——例如将以太网卡设置成杂收模式。(为了理解杂收模式是怎么回事,先解释局域网是怎么工作的)。 数据在网络上是以很小的称为帧(Ftame)的单位传输的帧由好几部分组成,不同的部分执行不同的功能。(例如,以太网的前12个字节存放的是源和目的的地址,这些位告诉网络:数据的来源和去处。以太网帧的其他部分存放实际的用户数据、TCP/IP的报文头或IPX报文头等等)。 帧通过特定的称为网络驱动程序的软件进行成型,然后通过网卡发送到网线上。通过网线到达它们的目的机器,在目的机器的一端执行相反的过程。接收端机器的以太网卡捕获到这些帧,并告诉操作系统帧的到达,然后对其进行存储。就是在这个传输和接收的过程中,嗅探器会造成安全方面的问题。 每一个在LAN上的工作站都有其硬件地址。这些地址唯一地表示着网络上的机器(这一点于Internet地址系统比较相似)。当用户发送一个报文时,这些报文就会发送到LAN上所有可用的机器。 在一般情况下,网络上所有的机器都可以“听”到通过的流量,但对不属于自己的报文则不予响应(换句话说,工作站A不会捕获属于工作站B的数据,而是简单的忽略这些数据)。 如果某在工作站的网络接口处于杂收模式,那么它就可以捕获网络上所有的报文和帧,如果一个工作站被配置成这样的方式,它(包括其软件)就是一个嗅探器。 嗅探器可能造成的危害: ■嗅探器能够捕获口令 ■能够捕获专用的或者机密的信息 ■可以用来危害网络邻居的安全,或者用来获取更高级别的访问权限 事实上,如果你在网络上存在非授权的嗅探器就以为着你的系统已经暴露在别人面前了。(大家可以试试天行2的嗅探功能) 一般我们只嗅探每个报文的前200到300个字节。用户名和口令都包含在这一部分中,这是我们关心的真正部分。工人,也可以嗅探给定接口上的所有报文,如果有足够的空间进行存储,有足够的那里进行处理的话,将会发现另一些非常有趣的东西…… 简单的放置一个嗅探器宾将其放到随便什么地方将不会起到什么作用。将嗅探器放置于被攻击机器或网络附近,这样将捕获到很多口令,还有一个比较好的方法就是放在网关上。如果这样的话就能捕获网络和其他网络进行身份鉴别的过程。这样的方式将成倍地增加我们能够攻击的范围。 关于怎么抵御嗅探器的攻击我就不说了,那是网管们的事儿,有三种方法可能会有所作用: ■检测和消灭嗅探器 ■将数据隐藏,使嗅探器无法发现。 ■会话加密
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值