1.什么是封包探嗅器? 封包探嗅器是一种类似于窃听器的装置.主要是用来探测网络上他人的封包内容.就像一个电话窃听器一样,可以让FBI(美国联邦调查局)去监听其它人的谈话内容..而"封包探嗅器"这个程序乃是让你去拦截他人的所有封包信息. 无论如何,计算机之间的对谈包含了许多看似杂乱的二进制编码资料,因此网络封包探嗅器同样提供了一个叫做"通讯协议分析"的功能,它可以将所有计算机之间所传递的封包信息予以译码及分析,以利我们更加暸解其封包的内容. 2.封包探嗅器的用途? 封包探嗅器程序有两个主要的使用领域.. 商业类型的封包探嗅器通常被使用于网管维护网络上的通讯是否是正常,另一种就是地下类型的封包探嗅器,主要是被用来入侵他人计算机之用..典型的封包探嗅器程序特征包括了<1>自动从网络中过滤及转换有用的信息,如使用者名称及密码,让骇客或刽客可用于入侵系统之用.<2>将封包资料转换成人类可易于辨读的格式.<3>网络环境中通讯失效分析,例如为何A电脑无法与B计算机沟通.<4>探测网络环境下的通讯瓶颈.<5>或者是可用来探测有无骇客存在于网络上,以防止其入侵.<6>网络通讯记录,记录下每一笔通讯的资料,此记录可用于暸解骇客入侵的路径. 3.封包探嗅器是如何工作的? 由于以太网络是建立在资源共享的概念下,因此所有区域内的计算机都是共享同一条以太网线.这喑喻着所有在这局域网络内的计算机沟通都可以被探知.另外由于以太网络卡内建了一个称之为"封包过滤器Filter"的功能,它会将不属于它的封包讯息给忽略掉,也就是它会忽略掉与它MAC(MediaAccessControl)地址不同的封包.但封包探嗅器的程序则会把这项硬件功能给关闭,并将以太网络卡设定成"随机处理模式PromiscuousMode",也就是不做任何封包的过滤,但前提是要在同一个局域网络中. 4.何谓MAC(MediaAccessControl) 在多部计算机共同分享同一条以太网络线的环境下,每台计算机都有一个独一无二的身份验证码,这个身份验证码也就是MACAddress(也就是所谓的网络卡实体地址).当每一片网络卡被生产出来时,网络卡生产厂商会付予每片网络卡一个流水编号,这个流水编号是不可能重复的.其格式看起像是MAC:00-40-05-A5-4F-9D(例子而己,每片网络卡的实体地址都是不一样的,除非生产者有特别用途,才会付予同样的MAC编号) 5.以太网络通讯格式 一个以太网络通讯封包标头格式看起来像是.. DestinationMAC->6Bytes SourceMAC->6Bytes 0800->2Bytes 20BytesIPHeader 20BytesTCPHeader Packet CRC->4Bytes DestinationMAC与SourceMAC共有12个字节,也就是每个MAC地址有6Bytes*8Bit=48Bits,..这48个Bits的前24Bits是用来验证以太网卡的生产厂商,另24Bits则是用来存放由网络卡生产厂商所指定的流水编号(也就 是MAC编号),这可用来保证世界上没有任何一片网络卡拥有同一流水编号,除非厂商另有用途…因此我们给予后面这24个bits一个专有名称,叫做"OrganizationallyUniqueIdentifier",简称OUI,翻成中文就是组织化单一验证码.其实这个OUI真正也只用到了22Bits,另外的2个Bits是被用来做为其它目地的用途.1个Bit用来指示假如它是一个"Broadcast/Multicast"地址,另外1个Bit用来做为假如它的网络卡被重新指定为"LocallyAdminis-teredAddress". 0800则是指出紧接着的封包格式是TCP/IP型式的封包(不知有无翻译错误,原文为"Theethertype0x0800to indicatethattheotherend’sTCP/IPstackShouldprocesstheframe",.TCP及IP的标头同样各有20个Bytes存放着IP及TCP层的标头信息. 它同样附加了4个Bytes于结尾的Checksun/CRC(一种用来验证封包资料在传输的过程中有无任何资料遗失的方式).然后网络适配卡把上述的资料以位(0与1)的方式传送到网络上,所有在网络上的其它网络硬件(包括路由器Router’s等硬件)看到这个封包时,首先会去比较这个封包中的DestinationMAC地址是否为自己所吻合的MAC地址.假如不吻合,则丢弃这个封包.这些动作都己在网络硬件层被执行完成.(也就是你的ISP那边,因为你一上网时,你的ISP主机就会将你的MAC地址给记录下来).当一个Router路由器的以太网络接口收到这个吻合的封包时,它会将封包由网络上读取下来,并且将封包的前14Bytes和封包的后4Bytes给移除掉,它只保留在0x0800后的网络封包格式资料,并决定是否要不要送到下一个Router去做处理或根据TCP/IP内所指定的地址传送到正确的目的地(也就是你的计算机上).上述的这些,应只有拥有Router的机器才可以看到以太网络上的封包标头资料,其它的机器应该都会忽略掉(Ignoreit). 6.何谓通讯协议分析(ProtocolAnalysis)? 通讯协议分析是用来进行截取网络封包并予以解析以得知其封包内容.当一笔封包资料被传输上网络,它是一个己"被封包化"的资料,意思是一笔资料可能被分割成多个封包,并且每个封包都是被单独的传送到网络上,然后由接收端进行封包资料的重组工程.来个范例:你可能从网络上去下载一个档案,假如这个档案有 45000个Bytes(一般典型的封包大小约为1500Bytes左右),因此这个你要下载的档案就会被切割成30个封包,并且一一的传送给你,再由你计算机的网络层予以组 合成一个完整档案. 底下是一个范例,这个封包乃是由封包探嗅器所截取而来的. OffsetHex(16进位值)ASCII值 ---------------------------------------------------------------------- 0000000BA5EBA1100A0C9B05EBD08004500...^......^...E. 01005DC1DE440007F06C26D0A0000020A00....@....m...... 02001C90050077505D000C004AE7DF55010...P.u......}.P. 03070798F270000485454502F312E312032py.’..HTTP/1.1.2 0403030204F4B0D0A5669613A20312E302000.OK..Via:.1.0. 050535452494445520D0A50726F78792D43STRIDER..Proxy- 0606F6E6E656374696F6E3A204B6565702Donnection:.Keep- 070416C6976650D0A436F6E74656E742D4CAlive..Content- 080656E6774683A2032393637340D0A436Fength:.29674..Co 0906E74656E742D547970653A2074657874ntent-Type:.text 0A02F68746D6C0D0A5365727665723A204D/html..Server:.M 0B06963726F736F66742D4949532F342E30icrosoft-IIS/4.0 0C00D0A446174653A2053756E2C20323520..Date:.Sun,.25. 0D04A756C20313939392032313A34353A35Jul.1999.21:45:5 0E03120474D540D0A4163636570742D52611.GMT..Accept-Ra 0F06E6765733A2062797465730D0A4C6173nges:.bytes..Las 100742D4D6F6469666965643A204D6F6E2Ct-Modified:.Mon, 110203139204A756C20313939392030373A.19.Jul.1999.07: 12033393A323620474D540D0A455461673A39:26.GMT..ETag: 13020223038623738643362396431626531."08b78d3b9d1be1 1403A613461220D0A0D0A3C7469746C653E:a4a".... 150536E696666696E6720286E6574776F72Sniffing.(networ 1606B20776972657461702C20736E696666k.wiretap,.sniff 170657229204641513C2F7469746C653E0Der).FAQ. 1800A0D0A3C68313E536E696666696E6720...Sniffing. 190286E6574776F726B2077697265746170(network.wiretap 1A02C20736E696666657229204641513C2F,.sniffer).FAQ 1B068313E0D0A0D0A5468697320646F6375h1>....This.docu 1C06D656E7420616E737765727320717565ment.answers.que 1D07374696F6E732061626F757420746170stions.about.tap 1E040696E6720696E746F200D0A636F6D70ping.into...comp 1F075746572206E6574776F726B7320616Euter.networks.an .... 14Bytes的以太网路标头值(EthernetHeader) 20Bytes的IP标头值(IPHeader) 20Bytes的TCP标头值(TCPHeader) 之后就是档案的内容并用一组换行位代表资料结束(0D0A