网络嗅探器怎么用啊?
Iris网络嗅探器使用与技巧
(以下内容部分翻译自iris自带的帮助文件
1.【Iris简介】
一款性能不错的嗅探器。嗅探器的英文是Sniff,它就是一个装在电脑上的窃听器,监视通过电脑的数据。
2.【Iris的安装位置】
作为一个嗅探器,它只能捕捉通过所在机器的数据包,因此如果要使它能捕捉尽可能多的信息,安装前应该对所处网络的结构有所了解。例如,在环形拓扑结构的网络中,安装在其中任一台机都可以捕捉到其它机器的信息包(当然不是全部),而对于使用交换机连接的交换网络,很有可能就无法捕捉到其它两台机器间通讯的数据,而只能捕捉到与本机有关的信息;又例如,如果想检测一个防火墙的过滤效果,可以在防火墙的内外安装Iris,捕捉信息,进行比较。
3.【配置Iris】
Capture(捕获)
Run continuously :当存储数据缓冲区不够时,Iris将覆盖原来的数据包。
Stop capture after filling buffer:当存储数据缓冲区满了时,Iris将停止进行数据包截获,并停止纪录。
Load this filter at startup:捕获功能启动时导入过滤文件并应用,这样可以进行命令行方式的调试。
Scroll packets list to ensure last packet visible:一般要选中,就是将新捕获的数据包附在以前捕获结果的后面并向前滚动。
Use Address Book:使用Address Book来保存mac地址,并记住mac地址和网络主机名。而Ip也会被用netbios名字显示。
Decode(解码)
Use DNS:使用域名解析
Edit DNS file:使用这个选项可以编辑本地解析文件(host)。
HTTP proxy:使用http使用代理服务器,编辑端口号。默认为80端口
Decode UDP Datagrams:解码UDP协议
Scroll sessions list to ensure last session visible:使新截获的数据包显示在捕获窗口的最上。
Use Address Book:同Capture中的Use Address Book
Adapters(网络配置器)
选择从哪个网络配置器(网卡)中截获数据。
Guard(警报和日志选项)
Enable alarm sound:当发现合乎规则的数据包发出提示声音
Play this wave file:选择警报声音路径,声音格式是.wav
Log to file:启动日志文件。如果选中后,当符合规则的数据包被截获后将被记录在日志文件中。
Ignore all LAN connections:Iris可以通过本地的ip地址和子网掩码识别地址是否是本地的地址。当这个选项被不选中后,Iris会接受所有的数据包(包括本机收发出的)。如果选中,将不接受本地网络的数据包。
Ignore connections on these>>:过滤指定端口(port),在列表中可以选择。
Use software filter:软件过滤方案生效。当没有被选中后,软件将会接受所有的数据。另外只有当Apply filter to incoming packets 被选中后Use software filter才能使用。
Miscellaneous(杂项功能)
选项 功能描述
Packet buffer:设置用来保存捕获数据包最多个数(默认值是2000个)
Stop when free disk space drops :当磁盘空间低于指定值时,Iris将会停止捕获和记录数据。
Enable CPU overload protection 当Cpu的占用率连续4秒钟达到100%时,Iris会停止运行。等到恢复正常后才开始纪录。
Start automatically with Windows:点击这里可以把Iris加入到启动组中。
Check update when program start:是否启动时检查本软件的更新情况。
4【任务】
Schedule:配置Iris指定的时间捕获数据包,蓝色代表捕获,白色代表停止捕获。
5.【建立过滤条件】
a.硬件过滤器(HardWare Filter):
Promiscuous (噪音模式):使得网卡处于杂收状态,这个是默认状态。
Directed (直接连接):只接受发给本网络配置器的数据包,而其他的则不予接受。
Multicast (多目标):捕获多点传送的数据包
All multicast (所有多目标):捕获所有的多目标数据包
Broadcast (广播) 只捕获广播桢,这样的真都具有相同的特点,目的MAC地址都是FF:FF:FF:FF:FF:FF
b.数据包捕获类型匹配(Layer 2,3):
这个过滤设置位于DoD模型(四层)中的第二、三层——网络层和运输层。
利用这个过滤设置,可以过滤不同协议类型的数据。
include:表示包括此种协议类型的数据将被捕获;
exclude:表示包括此种协议类型的数据将被忽略;
也可以自定义协议类型,方法是配置proto.dat文件。Layer 2的协议编辑[PROTOCOL],而layer 3则编辑相应的[IP PROTOCOL]。我们用记事本打开proto.dat,在这里很多的协议可以被修改和添加。
c.字符匹配(Words Filter)
加入你想过滤的关键字符到列表。列表下面有All和ANY两个选项(有的是AND和OR),其中ANY是指数据包至少要匹配列表中的一个关键字符,而ALL选项是指所有列表中的数据都要匹配才会显示出来。
Apply filter to packets是指显示带有关键字的数据帧,而其他的数据帧则会被抛弃。
Mark sessions containing words是指所有的数据帧都会被截获,只不过带有指定字符的数据帧会加上标志。
d.MAC地址匹配(MAC Address Filter)
第一个窗口是IRIS可是识别出来的硬件地址。你可以点击这些地址把他们加到下边的Address 1或Address 2,如果你不这样做也可以自己输入地址到窗口二中;
e.IP地址匹配层(IP address)
和MAC地址匹配(MAC Address Filter)选项相类似,这个是IP地址匹配层。
f.端口匹配层(Ports)
CP和UDP采用16 bit的端口号来识别应用程序的。FTP服务器的TCP端口号是2 1,Telnet服务器的TCP端口号是23,TFTP(简单文件传送协议)服务器的UDP端口号是69。任何TCP/IP实现所提供的服务都用知名的1~1023之间的端口号.例如我们想截获telnet中的用户名和密码这里我们就应该选择23 Port。
g.高级选项配置(Advanced)
数据大小匹配选项(Size):可以选择指定接收的数据包的大小。
十六进制数据匹配(Data):指定数据包中所包含数据的十六进制字符相匹配。
6【截获数据包】
在数据包编辑区内,显示着完整的数据包。窗口分两部分组成,左边的数据是以十六进制数字显示,右边则对应着ASCII。点击十六进制码的任何部分,右边都会显示出相应的ASCII代码,便于分析。
十六进制码是允许进行编辑再生的,可以重写已经存在的的数据包。新的数据包可以被发送,或者保存到磁盘中。
7.【数据包编辑】
Capture > Show Packet Editor点击显示出来
利用工具条的选项可以进行数据包的保存,更改,加入到列表和发送等操作。
例如想生成一系列TCP数据包,首先点击生成一个空数据包,参照数据包格式,使得每一部分都用十六进制表示法来表示。建立了一个包假设它由100个字节的长度(假设一下,20 个字节是IP信息,20个字节是TCP信息,还有60个字节为传送的数据)。现在把这个包发给以太网,放14个字节在目地MAC地址之前,源MAC地址,还要置一个0x0800的标记,它指示出了TCP/IP栈后的数据结构。同时,也附加了4个字节用于做CRC校验 (CRC校验用来检查传输数据的正确性),之后我们点击发送按钮。
关于sniffer的疑问
一、前言
Sniffer真是一个古老的话题,关于在网络上采用Sniffer来获取敏感信息已经不是什么新鲜事,也不乏很多成功的案例,那么,Sniffer究竟是什么呢?Sniffer就是嗅探器,就是窃听器,Sniffer静悄悄的工作在网络的底层,把你的秘密全部记录下来。看过威尔史密斯演的《全民公敌》吗?Sniffer就象里面精巧的窃听器一样,让你防不胜防。
Sniffer可以是软件,也可以是硬件,既然是软件那就要分平台,有WINDOWS下的、Unix下的等,硬件的Sniffer称为网络分析仪,反正不管硬件软件,目标只有一个,就是获取在网络上传输的各种信息。本文仅仅介绍软件的Sniffer。
当你舒适的坐在家里,惬意的享受网络给你带来的便利,收取你的EMAIL,购买你喜欢的物品的时候,你是否会想到你的朋友给你的信件,你的信用卡帐号变成了一个又一个的信息包在网络上不停的传送着,你是否曾经这些信息包会通过网络流入别人的机器呢?你的担忧不是没有道理的,因为Sniffer可以让你的担忧变成实实在在的危险。就好象一个人躲在你身后偷看一样。。。。。。
二、网络基础知识
“网络基础知识”,是不是听起来有点跑题了?虽然听起来这和我们要谈的Sniffer没什么
关系,可是还是要说一说的,万丈高楼平地起,如果连地基都没打好,怎么盖楼?!如果你
对网络还不是十分清楚的话,最好能静下心来好好看看,要知道,这是基础的基础,在这里
我只是简单的说一下,免得到时候有人迷糊,详细的最好能够自己去找书看看。
(1)TCP/IP体系结构
开放系统互连(OSI)模型将网络划分为七层模型,分别用以在各层上实现不同的功能,
这七层分别为:应用层、表示层、会话层、传输层、网络层、数据链路层及物理层。而TCP/IP
体系也同样遵循这七层标准,只不过在某些OSI功能上进行了压缩,将表示层及会话层合并入
应用层中,所以实际上我们打交道的TCP/IP仅仅有5层而已,网络上的分层结构决定了在各层
上的协议分布及功能实现,从而决定了各层上网络设备的使用。实际上很多成功的系统都是基
于OSI模型的,如:如帧中继、ATM、ISDN等。
TCP/IP的网络体系结构(部分)
从上面的图中我们可以看出,第一层物理层和第二层数据链路层是TCP/IP的基础,而
TCP/IP本身并不十分关心低层,因为处在数据链路层的网络设备驱动程序将上层的协议和
实际的物理接口隔离开来。网络设备驱动程序位于介质访问子层(MAC)。
(2)网络上的设备
中继器:中继器的主要功能是终结一个网段的信号并在另一个网段再生该信号,一句话,
就是简单的放大而已,工作在物理层上。
网桥:网桥使用MAC物理地址实现中继功能,可以用来分隔网段或连接部分异种网络,工
作在数据链路层。
路由器:路由器使用网络层地址(IP,X.121,E.164等),主要负责数据包的路由寻径,也能
处理物理层和数据链路层上的工作。
网关:主要工作在网络第四层以上,主要实现收敛功能及协议转换,不过很多时候网关都
被用来描述任何网络互连设备。
(3)TCP/IP与以太网
以太网和TCP/IP可以说是相互相成的,可以说两者的关系几乎是密不可分,以太网在
一二层提供物理上的连线,而TCP/IP工作在上层,使用32位的IP地址,以太网则使用48位
的MAC地址,两者间使用ARP和RARP协议进行相互转换。从我们上面TCP/IP的模型图中可以
清楚的看到两者的关系。
载波监听/冲突检测(CSMA/CD)技术被普遍的使用在以太网中,所谓载波监听是指在以
太网中的每个站点都具有同等的权利,在传输自己的数据时,首先监听信道是否空闲,如
果空闲,就传输自己的数据,如果信道被占用,就等待信道空闲。而冲突检测则是为了防
止发生两个站点同时监测到网络没有被使用时而产生冲突。以太网采用广播机制,所有与
网络连接的工作站都可以看到网络上传递的数据。
为了加深你的理解,我们来看看下面的图,一个典型的在以太网中客户与服务器使用
TCP/IP协议的通信。
唆唆了这么多,有人烦了吧?相信我,这是基础的基础,可以说是说得是很简单拉,
如果需要,拿出个几十万字来说上面的内容,我想也不嫌多,好了,让我们进入下一节,
sniff的原理。
三Sniffer的原理
要知道在以太网中,所有的通讯都是广播的,也就是说通常在同一个网段的所有网络接
口都可以访问在物理媒体上传输的所有数据,而每一个网络接口都有一个唯一的硬件地址,
这个硬件地址也就是网卡的MAC地址,大多数系统使用48比特的地址,这个地址用来表示网
络中的每一个设备,一般来说每一块网卡上的MFC地址都是不同的,每个网卡厂家得到一段
地址,然后用这段地址分配给其生产的每个网卡一个地址。在硬件地址和IP地址间使用ARP
和RARP协议进行相互转换。
在正常的情况下,一个网络接口应该只响应这样的两种数据帧:
1.与自己硬件地址相匹配的数据帧。2.发向所有机器的广播数据帧。
在一个实际的系统中,数据的收发是由网卡来完成的,网卡接收到传输来的数据,网卡
内的单片程序接收数据帧的目的MAC地址,根据计算机上的网卡驱动程序设置的接收模式判
断该不该接收,认为该接收就接收后产生中断信号通知CPU,认为不该接收就丢掉不管,所
以不该接收的数据网卡就截断了,计算机根本就不知道。CPU得到中断信号产生中断,操作
系统就根据网卡的驱动程序设置的网卡中断程序地址调用驱动程序接收数据,驱动程序接收
数据后放入信号堆栈让操作系统处理。而对于网卡来说一般有四种接收模式:
广播方式:该模式下的网卡能够接收网络中的广播信息。
组播方式:设置在该模式下的网卡能够接收组播数据。直接方式:在这种模式下,只有目的网卡才能接收该数据。混杂模式:在这种模式下的网卡能够接收一切通过它的数据,而不管该数据是否是传给它的。
好了,现在我们总结一下,首先,我们知道了在以太网中是基于广播方式传送数据的,也
就是说,所有的物理信号都要经过我的机器,再次,网卡可以置于一种模式叫混杂模式
(promiscuous),在这种模式下工作的网卡能够接收到一切通过它的数据,而不管实际上数
据的目的地址是不是他。这实际上就是我们Sniffer工作的基本原理:让网卡接收一切他所能接
收的数据。
我们来看一个简单的例子,机器A、B、C与集线器HUB相连接,集线器HUB通过路由器Router访问外部网络。这是一个很简单也很常见的情况,比如说在公司大楼里,我所在的网络部办公室里的几台机器通过集线器连接,而网络部、开发部、市场部也是同样如此,几个部门的集线器通过路由器连接。还是回到我们的图一上来,值得注意的一点是机器A、B、C使用一个普通的HUB连接的,不是用SWITCH,也不是用ROUTER,使用SWITCH和ROUTER的情况要比这复杂得多。
我们假设一下机器A上的管理员为了维护机器C,使用了一个FTP命令向机器C进行远程登陆,
那么在这个用HUB连接的网络里数据走向过程是这样的。首先机器A上的管理员输入的登陆机
器C的FTP口令经过应用层FTP协议、传输层TCP协议、网络层IP协议、数据链路层上的以太网
驱动程序一层一层的包裹,最后送到了物理层,我们的网线上。接下来数据帧送到了HUB上,
现在由HUB向每一个接点广播由机器A发出的数据帧,机器B接收到由HUB广播发出的数据帧,
并检查在数据帧中的地址是否和自己的地址相匹配,发现不是发向自己的后把这数据帧丢弃,
不予理睬。而机器C也接收到了数据帧,并在比较之后发现是发现自己的,接下来他就对这数
据帧进行分析处理。
在上面这个简单的例子中,机器B上的管理员如果很好奇,他很想知道究竟登陆机器C上FTP
口令是什么?那么他要做的很简单,仅仅需要把自己机器上的网卡置于混杂模式,并对接收到
的数据帧进行分析,从而找到包含在数据帧中的口令信息。
…………