1. 什么是封包探嗅器 ?
封包探嗅器是一种类似于窃听器的装置.主要是用来探测网络上他人的封包
内容.就像一个电话窃听器一样,可以让FBI(美国联邦调查局)去监听其它人的谈话内容..而"封包探嗅器"这个程序乃是让你去拦截他人的所有封包信息.
无论如何,计算机之间的对谈包含了许多看似杂乱的二进制编码资料,因此网络封包探嗅器同样提供了一个叫做"通讯协议分析"的功能,它可以将所有计算机之间所传递的封包信息予以译码及分析,以利我们更加?解其封包的内容.
2. 封包探嗅器的用途 ?
封包探嗅器程序有两个主要的使用领域 ..
商业类型的封包探嗅器通常被使用于网管维护网络上的通讯是否是正常,另一种就是地下类型的封包探嗅器,主要是被用来入侵他人计算机之用..典型的封包探嗅器程序特征包括了自动从网络中过滤及转换有用的信息,如使用者名称及密码,让骇客或刽客可用于入侵系统之用.将封包资料转换成人类可易于辨读的格式.网络环境中通讯失效分析,例如为何A电脑无法与B计算机沟通.探测网络环境下的通讯瓶颈.或者是可用来探测有无骇客存在于网络上,以防止其入侵.网络通讯记录,记录下每一笔通讯的资料,此记录可用于?解骇客入侵的路径.
3. 封包探嗅器是如何工作的 ?
由于以太网络是建立在资源共享的概念下,因此所有区域内的计算机都是共享同一条以太网线.这喑喻着所有在这局域网络内的计算机沟通都可以被探知.另外由于以太网络卡内建了一个称之为"封包过滤器Filter"的功能,它会将不属于它的封包讯息给忽略掉,也就是它会忽略掉与它MAC(Media Access Control)地址不同的封包.但封包探嗅器的程序则会把这项硬件功能给关闭,并将以太网络卡设定成"随机处理模式Promiscuous Mode",也就是不做任何封包的过滤,但前提是要在同一个局域网络中.
4. 何谓MAC(Media Access Control)
在多部计算机共同分享同一条以太网络线的环境下,每台计算机都有一个独一无二的身份验证码,这个身份验证码也就是MAC Address(也就是所谓的网络卡实体地址).当每一片网络卡被生产出来时,网络卡生产厂商会付予每片网络卡一个流水编号,这个流水编号是不可能重复的.其格式看起像是MAC:00-40-05-A5-4F-9D(例子而己,每片网络卡的实体地址都是不一样的,除非生产者有特别用途,才会付予同样的MAC编号)
5. 以太网络通讯格式
一个以太网络通讯封包标头格式看起来像是..
Destination MAC -6Bytes
Source MAC-6Bytes
08 00-2Bytes
20Bytes IP Header
20Bytes TCP Header
Packet
CRC-4Bytes
Destination MAC与 Source MAC共有12个字节,也就是每个MAC地址有6Bytes*8Bit=48Bits,..这48个Bits的前24Bits是用来验证以太网卡的生产厂商,另24Bits则是用来存放由网络卡生产厂商所指定的流水编号(也就是MAC编号),这可用来保证世界上没有任何一片网络卡拥有同一流水编号,除非厂商另有用途…因此我们给予后面这24个bits一个专有名称,叫做"Organizationally Unique Identifier",简称OUI,翻成中文就是组织化单一验证码.其实这个OUI真正也只用到了22Bits,另外的2个Bits是被用来做为其它目地的用途.1个Bit用来指示假如它是一个"Broadcast/Multicast"地址,另外1个Bit用来做为假如它的网络卡被重新指定为"Locally Adminis-tered Address".08 00则是指出紧接着的封包格式是TCP/IP型式的封包(不知有无翻译错误,原文为"The ethertype 0x0800 to indicate that the other end’s TCP/IP stack Should process the frame" ,.TCP及IP的标头同样各有20个Bytes存放着IP及TCP层的标头信息.它同样附加了4个Bytes于结尾的Checksun/CRC(一种用来验证封包资料在传输的过程中有无任何资料遗失的方式).然后网络适配卡把上述的资料以位(0与1)的方式传送到网络上,所有在网络上的其它网络硬件(包括路由器Router’s等硬件)看到这个封包时,首先会去比较这个封包中的Destination MAC地址是否为自己所吻合的MAC地址.假如不吻合,则丢弃这个封包.这些动作都己在网络硬件层被执行完成.(也就是你的ISP那边,因为你一上网时,你的ISP主机就会将你的MAC地址给记录下来).当一个Router路由器的以太网络接口收到这个吻合的封包时,它会将封包由网络上读取下来,并且将封包的前14Bytes和封包的后4Bytes给移除掉,它只保留在0x0800后的网络封包格式资料,并决定是否要不要送到下一个Router去做处理或根据TCP/IP内所指定的地址传送到正确的目的地(也就是你的计算机上).上述的这些, 应只有拥有Router的机器才可以看到以太网络上的封包标头资料,其它的机器 应该都会忽略掉(Ignore it).