查看: 20804|回复: 8

Sniffer pro全面了解学习

[复制链接]
发表于 2008-12-19 15:11:03 | 显示全部楼层 |阅读模式
全面介绍sniffer :

  


  与电话电路不同,计算机网络是共享通讯通道的。支持每对通讯计算机独占通道的交换机/集线器仍然过于昂贵。共享意味着计算机能够接收到发送给其它计算机的信息。捕获在网络中传输的数据信息就称为sniffing(窃听)。
  
  以太网是现在应用最广泛的计算机连网方式。以太网协议是在同一回路向所有主机发送数据包信息。数据包头包含有目标主机的正确地址。一般情况下只有具有该地址的主机会接受这个数据包。如果一台主机能够接收所有数据包,而不理会数据包头内容,这种方式通常称为"混杂"模式。
  
  由于在一个普通的网络环境中,帐号和口令信息以明文方式在以太网中传输,一旦入侵者获得其中一台主机的root权限,并将其置于混杂模式以窃听网络数据,从而有可能入侵网络中的所有计算机。
  
  哪里可以得到sniffer
  
  Sniffer是黑客们最常用的入侵手段之一。例如Esniff.c,是一个小巧的工具,运行在SunOS平台,可捕获所有telnet、ftp、rloing会话的前300个字节内容。这个由Phrack开发的程序已成为在黑客中传播最广泛的工具之一。
  
  你可以在经过允许的网络中运行Esniff.c,了解它是如何有效地危及本地机器安全。
  
  以下是一些也被广泛用于调试网络故障的sniffer工具:
  
  * Etherfind on SunOs
  
  * Snoop on Solaris 2.x and SunOs
  
  * Tcpdump
  
  * Packetman, Interman, Etherman, Loadman
  
  商用sniffer:
  
  * Network General.
  
  Network General开发了多种产品。最重要的是Expert Sniffer,它不仅仅可以sniff,还能够通过高性能的专门系统发送/接收数据包,帮助诊断故障。还有一个增强产品"Distrbuted Sniffer System"可以将UNIX工作站作为sniffer控制台,而将sniffer agents(代理)分布到远程主机上。
  
  * Microsoft's Net Monitor
  
  对于某些商业站点,可能同时需要运行多种协议--NetBEUI、IPX/SPX、TCP/IP、802.3和SNA等。这时很难找到一种sniffer帮助解决网络问题,因为许多sniffer往往将某些正确的协议数据包当成了错误数据包。Microsoft的Net Monitor(以前叫Bloodhound)可以解决这个难题。它能够正确区分诸如Netware控制数据包、NT NetBios名字服务广
  
  播等独特的数据包。(etherfind只会将这些数据包标识为类型0000的广播数据包。)这个工具运行在MS Windows平台上。它甚至能够按MAC地址(或主机名)进行网络统计和会话信息监视。只需简单地单击某个会话即可获得tcpdump标准的输出。
  
  过滤器设置也是最为简单的,只要在一个对话框中单击需要监视的主机即可。
  
  如何监测主机正在窃听(sniffed)
  
  要监测只采集数据而不对任何信息进行响应的窃听设备,需要逐个仔细检查以太网上所有物理连接。
  
  不可能通过远程发送数据包或ping就可以检查计算机是否正在窃听。
  
  一个主机上的sniffer会将网络接口置为混杂模式以接收所有数据包。对于某些UNIX系统,通过监测到混杂模式的网络接口。虽然可以在非混杂模式下运行sniffer,但这样将只能捕获本机会话。入侵者也可能通过在诸如sh、telnet、login、in.telnetd等
  
  程序中捕获会话,并将用户操作记录到其它文件中。这些都可能通过监视tty和kmem等设备轻易发现。只有混杂模式下的sniffing才能捕获以太网中的所有会话,其它模式只能捕获本机会话。
  
  对于SunOS、NetBSD和其它BSD Unix系统,如下命令:
  
  "ifconfig -a"
  
  会显示所有网络接口信息和是否在混杂模式。DEC OSF/1和IRIX等系统需要指定设备。要找到系统中有什么网络接口,可以运行如下命令:
  
  # netstat -r
  Routing tables
  Internet:
  Destination Gateway Flags Refs Use Interface
  default iss.net UG 1 24949 le0
  localhost localhost UH 2 83 lo0
  
  
  
  然后通过如下命令检查每个网络接口:
  
  #ifconfig le0
  le0: flags=8863
  inet 127.0.0.1 netmask 0xffffff00 broadcast 255.0.0.1
  
  
  
  入侵者经常会替换ifconfig等命令来避开检查,因此一定要检查命令程序的校验值。
  
  在ftp.cert.org:/pub/tools/的cpm程序(SunOS平台)可以检查接口是否有混杂模式标记。
  
  对于Ultrix系统,使用pfstat和pfconfig命令也可能监测是否有sniffer运行。
  
  pfconfig指定谁有权限运行sniffer。
  
  pfstat显示网络接口是否处于混杂模式。
  
  这些命令只在sniffer与内核存在链接时有效。而在缺省情况,sniffer是没有与内核链接的。大多数的Unix系统,例如Irix、Solaris、SCO等,都没有任何标记来指示是否处于混杂模式,因此入侵者能够窃听整个网络而却无法监测到它。
  
  通常一个sniffer的记录文件会很快增大并填满文件空间。在一个大型网络中,sniffer明显加重机器负荷。这些警告信息往往能够帮助管理员发现sniffer。建议使用lsof程序搜索访问数据包设备(如SunOS的/dev/nit)的程序和记录文件。
  
  阻止sniffer
  
  主动式集线器只向目标地址主机发送数据包,从而使混杂模式sniffer失效。它仅适用于10Base-T以太网。(注:这种现在已在计算机市场消失。)
  
  只有两家厂商曾生产过主动式集线器:   * 3Com   * HP
  
  随着交换机的成本和价格的大幅度降低,交换机已成为非常有效的使sniffer失效的设备。目前最常见的交换机在第三层(网络层)根据数据包目标地址进行转发,而不太采取集线器的广播方式,从而使sniffer失去了用武之地。
  
  加密
  
  目前有许多软件包可用于加密连接,从而使入侵者即使捕获到数据,但无法将数据解密而失去窃听的意义。
  
  以下是以前常用的一些软件包
  
  * deslogin
  
  coast.cs.purdue.edu:/pub/tools/unix/deslogin .
  
  * swIPe
  
  ftp.csua.berkeley.edu:/pub/cypherpunks/swIPe/
  
  * Netlock
  
  Kerberos
  
  Kerberos是另一个加密网络中帐号信息的软件包。它的缺点是所有帐号信息都存放在一台主机中,如果该主机被入侵,则会危及整个网络安全。另外配置它也不是一件简单的事情。Kerberos包括流加密rlogind和流加密telnetd等,它可以防止入侵者捕获用户在登录完成后所进行的操作。
  
  Kerberos FAQ可从ftp站点rtfm.mit.edu中得到:/pub/usenet/comp.protocols/kerberos/Kerberos_Users__Frequently_Asked_Questions_1.11一次性口令技术
  
  S/key和其它一次性口令技术一样,使窃听帐号信息失去意义。S/key的原理是远程主机已得到一个口令(这个口令不会在不安全的网络中传输),当用户连接时会获得一个"挑战"(challenge)信息,用户将这个信息和口令经过某个算法运算,产生正确的"响应"(response)信息(如果通讯双方口令正确的话)。这种验证方式无需在网络中传输口令,而且相同的"挑战/响应"也不会出现两次。S/key可从以下网址得到:
  
  ftp://thumper.bellcore.com/pub/nmh/skey
  
  还有一种一次性口令技术是ID卡系统。每个授权用户都有一个产生用于访问各自帐
  
  号的数字号码的ID卡。如果没有这个ID卡,不可能猜出这个数字号码。
  
  
  
  以下是提供这类解决方案的公司资料:
  
  Secure Net Key (SNK)
  Digital Pathways, Inc.
  201 Ravendale Dr. Mountainview, Ca.
  97703-5216 USA
  Phone: 415-964-0707 Fax: (415) 961-7487
  Secure ID
  Security Dynamics,
  One Alewife Center
  Cambridge, MA 02140-2312
  USA Phone: 617-547-7820
  Fax: (617) 354-8836
  Secure ID uses time slots as authenication rather than challenge/response.
  ArKey and OneTime Pass
  Management Analytics
  PO Box 1480
  Hudson, OH 44236
  Email: fc@all.net
  Tel:US+216-686-0090 Fax: US+216-686-0092
  WatchWord and WatchWord II
  Racal-Guardata
  480 Spring Park Place
  Herndon, VA 22070
  703-471-0892
  1-800-521-6261 ext 217
  CRYPTOCard
  Arnold Consulting, Inc.
  2530 Targhee Street, Madison, Wisconsin
  53711-5491 U.S.A.
  Phone : 608-278-7700 Fax: 608-278-7701
  Email: Stephen.L.Arnold@Arnold.Com
  CRYPTOCard is a modern, SecureID-sized, SNK-compatible device.
  SafeWord
  Enigma Logic, Inc.
  2151 Salvio #301
  Concord, CA 94520
  510-827-5707 Fax: (510)827-2593
  For information about Enigma ftp to: ftp.netcom.com in directory/pub/sa/safeword
  Secure Computing Corporation:
  2675 Long Lake Road
  Roseville, MN 55113
  Tel: (612) 628-2700
  Fax: (612) 628-2701
  debernar@sctc.com
  
  
  
  非混杂模式网络接口设备
  
  以前,大多数IBM DOS兼容机器的网卡都不支持混杂模式,所以无法进行sniffing。
  
  但DOS已退出计算机网络舞台,对于现在计算机市场中的网络接口设备,请向供应商查询
  
  是否为非混杂模式设备(即不支持混杂模式)。



闻名业界的Sniffer网络管理解决方案 :

  


  ----作为被誉为业界降低网络故障的首选解决方案,Sniffer网络分析仪为用户提供了屡获大奖的网络管理工具,凭借先进的性能,Sniffer可以帮助用户主动监测网络,在瓶颈造成故障之前,将其完满解决。Sniffer网络分析仪是一个排除网络故障和对网络性能进行有效管理的可靠工具,它能够自动帮助网络专业人员维护网络,查找故障,协助扩展多拓朴结构、多协议的网络,极大地简化了发现及解决网络问题的过程。
  
  ----Sniffer网络分析仪作为业界用于企业网络故障和性能管理领域最为智能和强大的工具系列,目前,已在世界上得到了广泛的应用,《财富》排名前1000家企业中有80%选择其作为网络信息安全解决方案,分析、维护、开发他们的网络产品,其中包括Cisco、3COM、Lucent及AT&T。伴随着1998年NAI进入中国,Sniffer也来到了广大中国用户面前。现在,越来越多的中国企事业单位采用了Sniffer的安全解决方案,其中包括:中国人民银行、中国建设银行、中国工商银行等。
  
  Sniffer网络分析仪的基本性能
  
  ----专家分析系统 Sniffer能够监视并捕获所有网络上的信息数据包,同时建立一个特有网络环境下的目标知识库。经过将问题分离、分析和归类,Sniffer可实时、自动地发出警告,解释问题的性质并提出解决方案。Sniffer与其他网络协议分析仪最大的差别在于它的人工智能专家系统(Expert System),有了Sniffer的专家系统,用户无需知道那些数据包构成的网络问题,也不必熟悉网络协议,更不用去了解这些数据包的内容,便能轻松解决问题。此外,Sniffer 还提供了专家配制功能,用户可以自已设定专家系统判断故障发生的触发条件。Sniffer能够自动实时监视网络、捕捉数据、识别网络配置,自动发现网络故障并进行告警,它能指出网络故障发生的位置,出现在OSI的第几层,网络故障的性质,产生故障的可能原因以及为解决故障建议采取的行动。
  
  ----Sniffer可进行全OSI七层解码 Sniffer可以在全部七层OSI协议上进行解码,目前其他厂商还没有任何一个系统可以做到对协议如此透彻的分析。Sniffer采用类似剥洋葱的方式,从最低层开始,一直到第七层,甚至对ORACAL与SYBASE的数据库都可以进行协议分析,每一层使用不同的颜色加以区别。Sniffer对每一层都提供了Summary(解码主要规程要素)、Detail(解码全部规程要素)及Hex(十六进制码)等几种解码窗口。在同一时间,用户最多可以打开六个观察窗口。此外,Sniffer还可以实施强制解码功能,如果网络线路上运行的是非标准协议,Sniffer可以使用一个现有标准协议样板去尝试解释捕获的数据。
  
  ----实时监控统计和报警功能 根据用户习惯,Sniffer可提供实时数据或图表方式显示统计结果,统计内容包括如下几个方面。网络统计:如当前和平均网络利用率、总的和当前的帧数及字节数、总站数和激活的站数、协议类型、当前和总的平均帧长等;协议统计:如协议的网络利用率、协议个数、协议的字节数以及每种协议中各种不同类型的帧统计等;差错统计:如错误的CRC校验数、发生的碰撞数、错误帧数等;站统计:如接收和发送的帧数、开始时间、停止时间、消耗时间、站状态等,Sniffer最多可统计1024个站;帧长统计:如某一帧长的帧所占百分比、某一帧长的帧数等。此外,当网络某些指标超过规定的级限时,Sniffer可自动显示或采用有声形式的告警。Sniffer还可根据网络管理者的要求,自动将统计结果生成多种统计报告格式,并可存盘或打印输出。
  
  ----Sniffer 报表生成器 Sniffer 报表生成器允许用户创建图形报告,该报告建立在Sniffer所收集的RMON和类似于RMON2的数据基础之上。那些经预先存储的、易于生成的报告可以提供快速显示受监测网段的全部统计数据以及网络层主机、矩阵和协议分配。这些报告还可以提供针对用户网络通讯趋势的重要信息,例如,用户可评估哪种资源、哪种协议占用了大部分的带宽。这些数据不仅能帮助网络管理者预测额外的带宽需求,还可以帮助用户分配网络资源。Sniffer 报表生成器在网络性能下降发展成为严重的网络故障之前,协助用户预测并更正这些问题。
  
  Sniffer网络分析仪的超强功能
  
  ----故障定位及排除 Sniffer涉及到系统、设备、应用等多个层面,因此将网络性能报告或网络故障准确定位在涉及到(线路、设备、服务器、操作系统、电子邮件)的具体位置,是Sniffer提供的基本功能。
  
  ----预防问题 通过在广域网上对网络设备和网络流量的实施监控和分析,Sniffer有效预防网络故障的发生,即使在系统出现性能抖动时,Sniffer也会及时发现,同时建议系统管理员采用正确的处理方法。
  
  ----优化性能 通过对线路和其他系统进行透视化的管理,用户可利用Sniffer管理系统提供的特殊功能对系统性能进行优化。
  
  ----提供整体网络运行的健康分析及发展趋势分析 Sniffer可对网络系统的整体运行情况作出长期的健康分析与发展趋势报告,分析系统目前的使用情况,以及对新系统的规划作出精确的报告。
  
  Sniffer网络分析仪的优势
  
  ----网络瘫痪时间是衡量现代企业工作效率的一个标准。当用户抱怨"网络太慢"时,可以打开Sniffer,为网段做一次信息捕获。
  
  ---- 作为用于网络故障与性能管理的业界标准分析工具,Sniffer为用户的网络提供了领先于其他解决方案的分析、协议解释、自动化与可见性等功能。Sniffer网络分析仪具有如下优势。快速解决问题:利用自动的问题识别、分析与推荐方案,用户可从根本上精简故障诊断时间;优化投资:利用网络性能降级原因的精确信息,用户可以有效避免因某个偶然问题而草率投入大量资金的错误,利用Sniffer,用户可以明智地根据分析结果作出周密的网络管理计划;提高生产率:通过自动、连续地了解网络配置,Sniffer 减少了网络例行维护时间,由此提高效率和生产率;全方位满足用户需求,Sniffer在网络性能受到影响前会自动地传送预先警告,使用户能够在事件发生之前主动地调整网络,保证终端用户的持续工作。
  
  Sniffer应用实例分析
  
  ----国内某大型企业的网络主干是ATM网络,2001年8月,网络性能突然急剧下降,导致企业的网上应用全部陷于瘫痪。网络管理人员不但无法确定引起网络瘫痪的原因,在甚至连最基本的网络连接也无法恢复。而在这种了无头绪的状态下,Sniffer却显示出强大的网络管理能力。
  
  ----Sniffer工程师采用了ATM专用的Sniffer设备对该公司的ATM主干网络进行了测试,以下为测试的全部过程。
  
  ----工程师首先调用了Sniffer的Dashboard功能对网络的整体流量状况进行了监控,,该监控功能旨在对网络的带宽利用率(总体流量)、网络每秒钟的数据包数,以及网络中每秒钟的错误包数进行监控。从这些监控中,Sniffer的技术人员发现用户的整体网络带宽占用率并不高(如左边的仪表盘所示),只有10%左右,网络中的绝对流量也不大,但工程师同时发现网络中的数据包却非常多(如中间的仪表盘所示),甚至超过了Sniffer缺省定义的警戒值。从详细的数值可以看出,网络中64个字节以下的小包最多,因此,技术人员初步断定,网络中太多的小包可能是引起网络瘫痪的原因。
  
  ----为了确定到底是那些计算机在生成这些数据包,技术人员又调用了Sniffer的另外一个流量监控功能HostTable,HostTable可监控网络中每台计算机的流量状况,包括每台计算机收到的数据包数、数据包字节数、每台计算机发出的数据包数、发出数据包的字节数、总的包数和总的字节数等流量信息。在监控中,技术人员很快发现了用户网络中发包最多的那些计算机的网络流量都有一个共同特点,即他们收到的数据包非常少,有的计算机甚至为零。这些计算机在网络中拼命发数据包,是非常不正常的,而这也正是当时爆发的CodeRed II病毒的特征,感染了CodeRed病毒的计算机会往网络中发送大量的数据包,最终导致网络的瘫痪。通过这些特征,技术人员已经十分确定用户网络的瘫痪原因是由于图三中所示的那些计算机感染了CodeRed病毒引起的。
  
  ----为了进一步确定CodeRed病毒的特征,技术人员用Sniffer的Capture功能进行了抓包,并将数据包进行解码分析,图四就是Sniffer对CodeRed病毒产生的数据包的解码分析报告,从中可以清楚地看到CodeRed就是通过发送特定的Http Get请求,利用微软IIS的漏洞进行传播的,这些请求在传播过程中产生大量的数据包,使网络路由器和交换机陷于瘫痪。
  
  ----正是采用了Sniffer网络分析仪使用户得以迅速地查明了网络瘫痪的原因,并监控到了每个感染CodeRed病毒的计算机情况,从而在很短的时间内将这些计算机中的病毒进行彻底清除,使用户网络得以快速恢复,有效避免了更大的损失。
  
  ----基于出色的性能,Sniffer近年获得的全球性大奖超过45个,在2000年荣获美国知名媒体《NetwWork Computing》"十年来最佳网络产品奖",同获此殊荣的产品包括:MS Windows NT、Novell Netware、Cisco 路由器与Apache Web服务器。《NetwWork Computing》的资深专家一致认为,"随着网络复杂度的日渐增长,使网络保持平稳运作的需求也与日俱增,但Sniffer仍然是该行业的最佳产品"。
    


Sniffer 常见问题集(FAQ) :

  


   本文是ISS公司在几年前发布的一份Sniffer FAQ。虽然里面涉及的技术可能相对陈旧了一些,但仍然可作为入门级文档。希望这份Sniffer FAQ能够帮助管理员们对网络监听及解决方法有一个较为清楚的认识。Sniffer已成为当今互联网上最常见的主机入侵手段之一。
   在绿盟网络安全月刊中,我还将陆续介绍Sniffer、Sniffer的克星——Anti-Sniffer和Anti-Sniffer的克星——Anti Anti-Sniffer。希望对这方面有兴趣的朋友如果有些什么好资料或建议,请与我联系。
  
  
  FAQ目录:
  
   * 什么是sniffer及其工作原理
   * 哪里可以得到sniffer
   * 如何监测主机正在窃听(sniffed)
   * 阻止sniffer
   o 主动集线器
   o 加密
   o Kerberos
   o 一次性口令技术
   o 非混杂模式网络接口设备
  
  
  什么是sniffer及其工作原理
  
   与电话电路不同,计算机网络是共享通讯通道的。支持每对通讯计算机独占通道的交换机/集线器仍然过于昂贵。共享意味着计算机能够接收到发送给其它计算机的信息。捕获在网络中传输的数据信息就称为sniffing(窃听)。
  
   以太网是现在应用最广泛的计算机连网方式。以太网协议是在同一回路向所有主机发送数据包信息。数据包头包含有目标主机的正确地址。一般情况下只有具有该地址的主机会接受这个数据包。如果一台主机能够接收所有数据包,而不理会数据包头内容,这种方式通常称为“混杂”模式。
  
   由于在一个普通的网络环境中,帐号和口令信息以明文方式在以太网中传输,一旦入侵者获得其中一台主机的root权限,并将其置于混杂模式以窃听网络数据,从而有可能入侵网络中的所有计算机。
  
  
  
  哪里可以得到sniffer
  
   Sniffer是黑客们最常用的入侵手段之一。例如Esniff.c,是一个小巧的工具,运行在SunOS平台,可捕获所有telnet、ftp、rloing会话的前300个字节内容。这个由Phrack开发的程序已成为在黑客中传播最广泛的工具之一。
  
   你可以在经过允许的网络中运行Esniff.c,了解它是如何有效地危及本地机器安全。
  
   以下是一些也被广泛用于调试网络故障的sniffer工具:
  
   * Etherfind on SunOs
   * Snoop on Solaris 2.x and SunOs
   * Tcpdump
   * Packetman, Interman, Etherman, Loadman
  
   商用sniffer:
  
   * Network General.
  
   Network General开发了多种产品。最重要的是Expert Sniffer,
   它不仅仅可以sniff,还能够通过高性能的专门系统发送/接收数
   据包,帮助诊断故障。还有一个增强产品"Distrbuted Sniffer
   System"可以将UNIX工作站作为sniffer控制台,而将sniffer
   agents(代理)分布到远程主机上。
  
   * Microsoft's Net Monitor
  
   对于某些商业站点,可能同时需要运行多种协议——NetBEUI、
   IPX/SPX、TCP/IP、802.3和SNA等。这时很难找到一种sniffer帮助
   解决网络问题,因为许多sniffer往往将某些正确的协议数据包当
   成了错误数据包。Microsoft的Net Monitor(以前叫Bloodhound)
   可以解决这个难题。它能够正确区分诸如Netware控制数据包、NT
   NetBios名字服务广播等独特的数据包。(etherfind只会将这些数
   据包标识为类型0000的广播数据包。)这个工具运行在MS Windows
   平台上。它甚至能够按MAC地址(或主机名)进行网络统计和会话
   信息监视。只需简单地单击某个会话即可获得tcpdump标准的输出。
   过滤器设置也是最为简单的,只要在一个对话框中单击需要监视的
   主机即可。
  
  
  
  如何监测主机正在窃听(sniffed)
  
   要监测只采集数据而不对任何信息进行响应的窃听设备,需要逐个仔细检查以太网上所有物理连接。
  
   不可能通过远程发送数据包或ping就可以检查计算机是否正在窃听。
  
   一个主机上的sniffer会将网络接口置为混杂模式以接收所有数据包。对于某些UNIX系统,通过监测到混杂模式的网络接口。虽然可以在非混杂模式下运行sniffer,但这样将只能捕获本机会话。入侵者也可能通过在诸如sh、telnet、rlogin、in.telnetd等程序中捕获会话,并将用户操作记录到其它文件中。这些都可能通过监视tty和kmem等设备轻易发现。只有混杂模式下的sniffing才能捕获以太网中的所有会话,其它模式只能捕获本机会话。
  
   对于SunOS、NetBSD和其它BSD Unix系统,如下命令:
  
   "ifconfig -a"
  
   会显示所有网络接口信息和是否在混杂模式。DEC OSF/1和IRIX等系统需要指定设备。要找到系统中有什么网络接口,可以运行如下命令:
  
   # netstat -r
   Routing tables
  
   Internet:
   Destination Gateway Flags Refs Use Interface
   default iss.net UG 1 24949 le0
   localhost localhost UH 2 83 lo0
  
   然后通过如下命令检查每个网络接口:
  
   #ifconfig le0
   le0: flags=8863
   inet 127.0.0.1 netmask 0xffffff00 broadcast 255.0.0.1
  
   入侵者经常会替换ifconfig等命令来避开检查,因此一定要检查命令程序的校验值。
  
   在ftp.cert.org:/pub/tools/的cpm程序(SunOS平台)可以检查接口是否有混杂模式标记。
  
   对于Ultrix系统,使用pfstat和pfconfig命令也可能监测是否有sniffer运行。
  
   pfconfig指定谁有权限运行sniffer。
   pfstat显示网络接口是否处于混杂模式。
  
   这些命令只在sniffer与内核存在链接时有效。而在缺省情况,sniffer是没有与内核链接的。大多数的Unix系统,例如Irix、Solaris、SCO等,都没有任何标记来指示是否处于混杂模式,因此入侵者能够窃听整个网络而却无法监测到它。
  
   通常一个sniffer的记录文件会很快增大并填满文件空间。在一个大型网络中,sniffer明显加重机器负荷。这些警告信息往往能够帮助管理员发现sniffer。建议使用lsof程序搜索访问数据包设备(如SunOS的/dev/nit)的程序和记录文件。
  
  
  
  阻止sniffer
  
   主动式集线器只向目标地址主机发送数据包,从而使混杂模式sniffer失效。它仅适用于10Base-T以太网。(注:这种现在已在计算机市场消失。)
  
   只有两家厂商曾生产过主动式集线器:
  
   * 3Com
   * HP
  
  随着交换机的成本和价格的大幅度降低,交换机已成为非常有效的使sniffer失效的设备。目前最常见的交换机在第三层(网络层)根据数据包目标地址进行转发,而不太采取集线器的广播方式,从而使sniffer失去了用武之地。
  
  加密
  
   目前有许多软件包可用于加密连接,从而使入侵者即使捕获到数据,但无法将数据解密而失去窃听的意义。
  
   以下是以前常用的一些软件包
  
   * deslogin
   coast.cs.purdue.edu:/pub/tools/unix/deslogin .
  
   * swIPe
   ftp.csua.berkeley.edu:/pub/cypherpunks/swIPe/
  
   * Netlock
  
  
  
  Kerberos
  
   Kerberos是另一个加密网络中帐号信息的软件包。它的缺点是所有帐号信息都存放在一台主机中,如果该主机被入侵,则会危及整个网络安全。另外配置它也不是一件简单的事情。Kerberos包括流加密rlogind和流加密telnetd等,它可以防止入侵者捕获用户在登录完成后所进行的操作。
  
   Kerberos FAQ可从ftp站点rtfm.mit.edu中得到:
  /pub/usenet/comp.protocols/kerberos/Kerberos_Users__Frequently_Asked_Questions_1.11
  
  
  一次性口令技术
  
   S/key和其它一次性口令技术一样,使窃听帐号信息失去意义。S/key的原理是远程主机已得到一个口令(这个口令不会在不安全的网络中传输),当用户连接时会获得一个“挑战”(challenge)信息,用户将这个信息和口令经过某个算法运算,产生正确的“响应”(response)信息(如果通讯双方口令正确的话)。这种验证方式无需在网络中传输口令,而且相同的“挑战/响应”也不会出现两次。S/key可从以下网址得到:ftp://thumper.bellcore.com/pub/nmh/skey
  
   还有一种一次性口令技术是ID卡系统。每个授权用户都有一个产生用于访问各自帐号的数字号码的ID卡。如果没有这个ID卡,不可能猜出这个数字号码。
  
   以下是提供这类解决方案的公司资料:
  
  Secure Net Key (SNK)
  
  Digital Pathways, Inc.
  201 Ravendale Dr. Mountainview, Ca.
  97703-5216 USA
  
  Phone: 415-964-0707 Fax: (415) 961-7487
  
  Secure ID
  
  Security Dynamics,
  One Alewife Center
  Cambridge, MA 02140-2312
  USA Phone: 617-547-7820
  Fax: (617) 354-8836
  Secure ID uses time slots as authenication rather than challenge/response.
  
  ArKey and OneTime Pass
  
  Management Analytics
  PO Box 1480
  Hudson, OH 44236
  Email: fc@all.net
  Tel:US+216-686-0090 Fax: US+216-686-0092
  
  WatchWord and WatchWord II
  
  Racal-Guardata
  480 Spring Park Place
  Herndon, VA 22070
  703-471-0892
  1-800-521-6261 ext 217
  
  CRYPTOCard
  
  Arnold Consulting, Inc.
  2530 Targhee Street, Madison, Wisconsin
  53711-5491 U.S.A.
  Phone : 608-278-7700 Fax: 608-278-7701
  Email: Stephen.L.Arnold@Arnold.Com
  CRYPTOCard is a modern, SecureID-sized, SNK-compatible device.
  
  SafeWord
  
  Enigma Logic, Inc.
  2151 Salvio #301
  Concord, CA 94520
  510-827-5707 Fax: (510)827-2593
  For information about Enigma ftp to: ftp.netcom.com in directory
  /pub/sa/safeword
  
  Secure Computing Corporation:
  
  2675 Long Lake Road
  Roseville, MN 55113
  Tel: (612) 628-2700
  Fax: (612) 628-2701
  debernar@sctc.com
  
  
  非混杂模式网络接口设备
  
   以前,大多数IBM DOS兼容机器的网卡都不支持混杂模式,所以无法进行sniffing。但DOS已退出计算机网络舞台,对于现在计算机市场中的网络接口设备,请向供应商查询是否为非混杂模式设备(即不支持混杂模式)。  


Sniffer深入分析网络 :

  


   Sniffer(嗅探器)是利用计算机的网络接口,截获目的地是其他计算机的数据报文的一种技术。该技术被广泛应用于网络维护和管理方面,它工作的时候就像一部被动声纳,默默地接收着来自网络的各种信息,通过对这些数据的分析,网络管理员可以深入了解网络当前的运行状况,以便找出所关心的网络中潜在的问题。
  
   Sniffer技术简介
   数据在网络上是以很小的称为“帧”的单位传输的,帧由多个部分组成,不同的部分对应不同的信息以实现相应的功能,例如,以太网的前12个字节存放的是源地址和目的地址,这些数据告诉网络该帧的来源和去处。其余的部分存放实际用户数据、TCP/IP的报头或IPX报头等等。帧是根据通信所使用的协议,由网络驱动程序按照一定规则生成,然后通过网卡发送到网络中,通过网线传送到它们的目的主机,在目的主机的一端按照同样的通信协议执行相反的过程。接收端机器的网卡捕获到这些帧,并告诉操作系统有新的帧到达,然后对其进行存储。在正常情况下,网卡读入一帧并进行检查,如果帧中携带的目的地址(这里的目的地址是指物理地址而非IP地址,该地址是网络设备的唯一性标志)和自己的物理地址一致或者是广播地址(就是被设定为一次性发送到网络所有主机的特殊地址,当目标地址为该地址时,所有的网卡都会接收该帧),网卡通过产生一个硬件中断引起操作系统注意,然后将帧中所包含的数据传送给系统进一步处理,否则就将这个帧丢弃。
   我们可以想象到这样一种特别的情况:如果网络中某个网卡的物理地址不确定(这可以通过本地网卡设置成“混杂”状态来实现),网卡会如何处理收到的帧呢?实际的情况是该网卡将接收所有在网络中传输的帧,无论该帧是广播的还是发向某一指定地址的,这就形成了监听。如果某一台主机被设置成这种监听模式,它就成了一个Sniffer。
   鉴于Sniffer的工作原理,我们知道:如果一个帧没有发送到你的网卡上,那么你将无法监听到该帧。所以Sniffer所能监听到的信息仅限于在同一物理网络内传送的数据,在使用了交换(路由)设备的网络中,由于其数据是根据目的地址进行分发的,单个网卡将无法监听到所有正在传输的信息。
   不同传输介质网络的可监听性是不同的。一般来说,以太网被监听的可能性比较高,因为以太网是一个广播型的网络;FDDI Token被监听的可能性也比较高,尽管它并不是一个广播型网络,但带有令牌的那些帧在传输过程中,平均要经过网络上一半的计算机;电话线监听的可能性中等,但在实际中,高速的调制解调器比低速的调制解调器搭线困难的多,因为高速调制解调器引入了更高的频率;微波和无线网被监听的可能性同样比较高,因为无线电本身是一个广播型的传输媒介,弥散在空中的无线电信号可以被很轻易地被截获。所以,Sniffer可以应用于大部分的网络类型中。
   Sniffer本来是网络工程师常用的工具,也是网络管理员的好帮手,但由于网络中的数据传送往往是以明文方式进行的,所以Sniffer也常常被某些人用于“特殊”的用途。
  
   Sniffer的应用
   Sniffer工具在功能和设计上有很多不同。有些只能分析一种协议,而另一些可能能够分析几百种协议。一般情况下,大多数的嗅探器至少能够分析如下的协议:标准的以太网、TCP/IP、IPX、DECNet等。
   实际应用中的Sniffer还分软、硬两种。软件Sniffer的优点在于比较便宜,易于学习使用,同时也易于交流,缺点是往往无法抓取网络上所有的传输(比如碎片),某些情况下也就可能无法真正了解网络的故障和运行情况;硬件的Sniffer通常称为协议分析仪,一般都比较昂贵,它的优点恰恰是软件Sniffer所欠缺的,但是昂贵是它致命的缺点。因此目前流行的Sniffer工具都是软件的。网上有不少免费的Sniffer工具可下载使用(有些甚至提供源码),但是这些免费的软件往往功能单一,稳定性和技术支持方面也无法和商业软件相比;目前在商业网管软件中,NAI的Sniffer TNV套件是非常典型的协议分析仪。
   Sniffer TNV主要包括两部分:便携式套件和分布式套件。便携式套件主要包括Sniffer Basic、Sniffer Pro LAN、Sniffer Pro WAN、Sniffer Pro High Speed等组件,它是一种便携式的网络故障与性能分析的解决方案,是能够为全部七层OSI网络模型提供全面性能管理的工具包,它使得网络专职人员能够主动维护多拓扑结构和多协议的网络,并显著降低其网络操作成本。同时,它还具备出色的监测和分辨能力,智能的专家技术扫描从网络上捕获的信息以检测网络异常现象,并应用用户定义的试探式程序自动对每种异常现象进行归类,并给出一份警告、解释问题和提出建议的解决方案;同时Sniffer 的网络分析器还可以监视所有类型的网络硬件和拓扑结构,包括交换网络和运行ATM OC-12和千兆以太网的高速骨干网在内;它能够支持400多种协议解释和强大的专家分析功能,可以对网络传输进行分析,找出故障和响应缓慢的原因,从而能够确保整个LAN和WAN拓扑网络的最高性能。
   分布式套件主要包括Distributed Sniffer System/RMON Basic和Distributed Sniffer System/RMON Pro组件。通过结合中央控制台与分布全网的网络分析器,网络管理员可以全天候地监控整个网络运行情况,这是符合RMON 1/ RMON 2 的基于专家系统的网络和应用程序管理系统,能够适应各种拓扑结构、速度和不同介质类型的网络,将有助于排除故障和生成报告。同时该软件包中还集成了SiteMinder Security Manager,这是一个基于NT的服务器,支持多个身份验证和授权选项,允许您检查用户访问,并选择对网络设备进行访问的相应级别,如此可以保护通过Distributed Sniffer System显示的敏感信息。
回复

使用道具 举报

 楼主| 发表于 2008-12-19 15:11:58 | 显示全部楼层
Sniffer、黑客和网络管理 :

  


  Sniffer、黑客和网络管理
  绪论:关于黑客
  史蒂夫·利维在其著名的《黑客电脑史》中指出的“黑客道德准则”(theHackerEthic)包括:通往电脑的路不止一条;所有的信息都应当是免费的;打破电脑集权;在电脑上创造艺术和美;计算机将使生活更美好。
  黑客文化包含了自由不羁的精神,也包含了反传统、反权威、反集权的精神。
  广义的、公众认为的“黑客”就是闯入计算机系统的人。这种观念令有才能的、真正的“黑客”感到难过。《Maximum Security》一书中对黑客和入侵者定义如下:
  ■ “黑客”指对于任何计算机操作系统的奥秘都有强烈兴趣的人。“黑客”大都是程序员,他们具有操作系统和编程语言方面的高级知识,知道系统中的漏洞及其原因所在;他们不断追求更深的知识,并公开他们的发现,与其他人分享;并且从来没有破坏数据的企图。
  ■ “入侵者”是指怀着不良的企图,闯入甚至破坏远程机器系统完整性的人。“入侵者”利用获得的非法访问权,破坏重要数据,拒绝合法用户服务请求,或为了自己的目的制造麻烦。“入侵者”很容易识别,因为他们的行为是恶意的。
  这里黑客的概念源于50、60年代麻省理工学院的实验室里的计算机迷们。他们精力充沛,热衷于解决难题、独立思考并且奉公守法。
  技术本身是没有错的,错误产生于人。网络安全性的分析可以被真正的黑客用于加强安全性、加强网络的自由度,也可以被入侵者用于窥探他人隐私、任意篡改数据、进行网上诈骗活动。
  这里,我们讨论网络嗅探器(sniffer)在广义黑客领域的应用和网络管理中的应用。
  一. 嗅探器(Sniffer)攻击原理
  Sniffer既可以是硬件,也可以是软件,它用来接收在网络上传输的信息。网络可以是运行在各种协议之下的。包括Ethernet、TCP/IP、ZPX等等(也可以是其中几种协议的联合)。放置Sniffer的目的是使网络接口(在这个例子中是以太网适配器)处于杂收模式(promiscuous mode),从而可从截获网络上的内容。
  嗅探器与一般的键盘捕获程序(Key Capture)不同。键盘捕获程序捕获在终端上输入的键值,而嗅探器则捕获真实的网络报文。嗅探器通过将其置身于网络接口来达到这个目的——将以太网卡设置成杂收模式。
  ⒈关于以太网(Ethernet)
  Ethernet是由Xerox的Palo Aito研究中心(有时也称为PARC)发明的。下面简介一下信息在网络(这里为以太网)上的传输形式。
  数据在网络上是以很小的称为帧(Ftame)的单位传输的帧由好几部分组成,不同的部分执行不同的功能。(例如,以太网的前12个字节存放的是源和目的的地址,这些位告诉网络:数据的来源和去处。以太网帧的其他部分存放实际的用户数据、TCP/IP的报文头或IPX报文头等等)。
  帧通过特定的称为网络驱动程序的软件进行成型,然后通过网卡发送到网线上。通过网线到达它们的目的机器,在目的机器的一端执行相反的过程。接收端机器的以太网卡捕获到这些帧,并告诉操作系统帧的到达,然后对其进行存储。就是在这个传输和接收的过程中,嗅探器会造成安全方面的问题。
  每一个在LAN上的工作站都有其硬件地址。这些地址唯一地表示着网络上的机器(这一点于Internet地址系统比较相似)。当用户发送一个报文时,这些报文就会发送到LAN上所有可用的机器。
  在一般情况下,网络上所有的机器都可以“听”到通过的流量,但对不属于自己的报文则不予响应(换句话说,工作站A不会捕获属于工作站B的数据,而是简单的忽略这些数据)。如果某在工作站的网络接口处于杂收模式,那么它就可以捕获网络上所有的报文和帧。
  Sniffer就是这样的硬件或软件,能够“听”到(而不是忽略)在网上传输的所有的信息。在这种意义上,每一个机器,每一个路由器都是一个Sniffer(或者至少可以说它们可以成为一个Sniffer)。这些信息就被储存在介质上,以备日后检查时用。
  Sniffer可以是(而且通常是)软件和硬件的联合体,软件可以是普通的网络分析器带有比较强的debug功能,或者就是一个真正的Sniffer。
  Sniffer必须是位于准备进行Sniffer工作的网络上的,它可以放在网络段中的任何地方。
  Sniffer成为一种很大的危险,因为:
  ■ 它们可以捕获口令;
  ■ 它们可以截获机密的或专有的信息;
  ■ 它们可以被用来攻击相邻的网络或者用来获取更高级别的访问权限。
  二. 用Sniffer获取信息
  下面是利用Windows平台上的sniffer工具EtherPeek进行的信报监听结果。让我们分析一下这些数据(为避免不必要的麻烦,其中数据经修改完成)。
  1. 匿名Ftp信报分析
  Flags: 0x00
  Status: 0x00
  Packet Length:74
  Timestamp: 19:11:21.743000 01/18/2000
  Raw Packet Data(原始信报数据)
  
  .?h.RT*.洲..E. 00 90 ab c0 68 00 52 54 ab 15 d6 de 08 00 45 00 [0-15]
  .8..@. .)R?(1.. 00 38 10 09 40 00 20 06 29 52 a2 69 28 31 ca c8 [16-31]
  *..*...f锚..*?P. 8c 02 04 b3 00 15 00 66 c3 aa 00 04 f0 3f 50 18 [32-47]
  ".+T..USER anony 22 0a 2b 54 00 00 55 53 45 52 20 61 6e 6f 6e 79 [48-63]
  mous...... 6d 6f 75 73 0d 0a 00 00 00 00
  也许这还不够清清楚楚明明白白,下面是该程序作的解码:
  
  Flags: 0x00
  
  Status: 0x00
  
  Packet Length:74
  
  Timestamp: 19:11:21.743000 01/18/2000
  
  Ethernet Header
  
  Destination: 00:90:ab:c0:68:00 [0-5]
  Source: 52:54:ab:15:d6:de [6-11]
  Protocol Type:08-00 IP [12-13]
  IP Header - Internet Protocol Datagram
  Version: 4 [14 Mask 0xf0]
  Header Length: 5 [14 Mask 0xf]
  Precedence: 0 [15 Mask 0xe0]
  Type of Service: %000 [15 Mask 0x1c]
  Unused: %00 [15 Mask 0x3]
  Total Length: 56 [16-17]
  Identifier: 4105 [18-19]
  Fragmentation Flags: %010 Do Not Fragment [20 Mask 0xe0]
  Fragment Offset: 0 [20-22 Mask 0x1fffff]
  Time To Live: 32
  IP Type: 0x06 TCP [23]
  Header Checksum: 0x2952 [24-25]
  Source IP Address: 162.105.40.49 [26-29]
  Dest. IP Address: 202.200.140.2 [30-33]
  No Internet Datagram Options
  TCP - Transport Control Protocol
  Source Port: 1203 [34-35]
  Destination Port: 21 FTP Control - File Transfer Protocol [36-37]
  Sequence Number: 6734762 [38-41]
  Ack Number: 323647 [42-45]
  Offset: 5 [46 Mask 0xf0]
  Reserved: %000000 [46 Mask 0xfc0]
  Code: %011000 [47 Mask 0x3f]
  Ack is valid
  Push Request
  Window: 8714 [48-49]
  Checksum: 0x2b54 [50-51]
  Urgent Pointer: 0 [52-53]
  No TCP Options
  FTP Control - File Transfer Protocol
  FTP Command: 0x55534552 (USER) User Name [54-57]
  User Name:
  20 [58]
  Extra bytes (Padding):
  anonymous.. 61 6e 6f 6e 79 6d 6f 75 73 0d 0a [59-69]
  Frame Check Sequence: 0x00000000
  哦,这是在传输用户名。用户名Name为anonymous。
  下面还有源地址、目的地址相同的信报。
  
  Flags: 0x00
  
  Status: 0x00
  
  Packet Length:71
  
  Timestamp: 19:11:32.149000 01/18/2000
  
  Raw Packet Data
  
  .?h.RT*.洲..E. 00 90 ab c0 68 00 52 54 ab 15 d6 de 08 00 45 00 [0-15]
  .5..@. .'U?(1.. 00 35 12 09 40 00 20 06 27 55 a2 69 28 31 ca c8 [16-31]
  *..*...f煤..*.P. 8c 02 04 b3 00 15 00 66 c3 ba 00 04 f0 87 50 18 [32-47]
  !聕...pass guest 21 c2 7c 00 00 00 70 61 73 73 20 67 75 65 73 74 [48-63]
  @...... 40 0d 0a 00 00 00 00
  这是作什么呢?
  
  Flags: 0x00
  
  Status: 0x00
  
  Packet Length:71
  
  Timestamp: 19:11:32.149000 01/18/2000
  
  Ethernet Header
  
  Destination: 00:90:ab:c0:68:00 [0-5]
  Source: 52:54:ab:15:d6:de [6-11]
  Protocol Type:08-00 IP [12-13]
  IP Header - Internet Protocol Datagram
  Version: 4 [14 Mask 0xf0]
  Header Length: 5 [14 Mask 0xf]
  Precedence: 0 [15 Mask 0xe0]
  Type of Service: %000 [15 Mask 0x1c]
  Unused: %00 [15 Mask 0x3]
  Total Length: 53 [16-17]
  Identifier: 4617 [18-19]
  Fragmentation Flags: %010 Do Not Fragment [20 Mask 0xe0]
  Fragment Offset: 0 [20-22 Mask 0x1fffff]
  Time To Live: 32
  IP Type: 0x06 TCP [23]
  Header Checksum: 0x2755 [24-25]
  Source IP Address: 162.105.40.49 [26-29]
  Dest. IP Address: 202.200.140.2 [30-33]
  No Internet Datagram Options
  TCP - Transport Control Protocol
  Source Port: 1203 [34-35]
  Destination Port: 21 FTP Control - File Transfer Protocol [36-37]
  Sequence Number: 6734778 [38-41]
  Ack Number: 323719 [42-45]
  Offset: 5 [46 Mask 0xf0]
  Reserved: %000000 [46 Mask 0xfc0]
  Code: %011000 [47 Mask 0x3f]
  Ack is valid
  Push Request
  Window: 8642 [48-49]
  Checksum: 0x7c00 [50-51]
  Urgent Pointer: 0 [52-53]
  No TCP Options
  FTP Control - File Transfer Protocol
  FTP Command: 0x70617373 (pass) Password [54-57]
  Password:
  20 [58]
  Extra bytes (Padding):
  guest@.. 67 75 65 73 74 40 0d 0a [59-66]
  Frame Check Sequence: 0x00000000
  哦,这里传输的就是密码啊!
  试想,如果这里不是匿名登录,而是telnet、rlogin或pop3等的用户名与密码,那么……
  2. Http信报分析
  下面是捕获的一个HTTP信报。
  
  Flags: 0x00
  
  Status: 0x00
  
  Packet Length:844
  
  Timestamp: 19:28:09.400000 01/18/2000
  
  Raw Packet Data
  
  .?h.RT*.洲..E. 00 90 ab c0 68 00 52 54 ab 15 d6 de 08 00 45 00 [0-15]
  .:..@. ._堍i(1.. 03 3a f1 0a 40 00 20 06 5f dc a2 69 28 31 a7 d8 [16-31]
  .d.*.P.v?Z..].P. 94 64 04 df 00 50 00 76 80 5a 99 0c 5d 15 50 18 [32-47]
  "87...POST /js/V 22 38 37 a7 00 00 50 4f 53 54 20 2f 6a 73 2f 56 [48-63]
  erifyLogin HTTP/ 65 72 69 66 79 4c 6f 67 69 6e 20 48 54 54 50 2f [64-79]
  1.1..Accept: ima 31 2e 31 0d 0a 41 63 63 65 70 74 3a 20 69 6d 61 [80-95]
  ge/gif, image/x- 67 65 2f 67 69 66 2c 20 69 6d 61 67 65 2f 78 2d [96-111]
  xbitmap, image/j 78 62 69 74 6d 61 70 2c 20 69 6d 61 67 65 2f 6a [112-127]
  peg, image/pjpeg 70 65 67 2c 20 69 6d 61 67 65 2f 70 6a 70 65 67 [128-143]
  , application/ms 2c 20 61 70 70 6c 69 63 61 74 69 6f 6e 2f 6d 73 [144-159]
  word, applicatio 77 6f 72 64 2c 20 61 70 70 6c 69 63 61 74 69 6f [160-175]
  n/vnd.ms-powerpo 6e 2f 76 6e 64 2e 6d 73 2d 70 6f 77 65 72 70 6f [176-191]
  int, application 69 6e 74 2c 20 61 70 70 6c 69 63 61 74 69 6f 6e [192-207]
  /vnd.ms-excel, * 2f 76 6e 64 2e 6d 73 2d 65 78 63 65 6c 2c 20 2a [208-223]
  /*..Referer: htt 2f 2a 0d 0a 52 65 66 65 72 65 72 3a 20 68 74 74 [224-239]
  p://www.renren.c 70 3a 2f 2f 77 77 77 2e 72 65 6e 72 65 6e 2e 63 [240-255]
  om/js/FrontPage. 6f 6d 2f 6a 73 2f 46 72 6f 6e 74 50 61 67 65 0d [256-271]
  .Accept-Language 0a 41 63 63 65 70 74 2d 4c 61 6e 67 75 61 67 65 [272-287]
  : zh-cn..Content 3a 20 7a 68 2d 63 6e 0d 0a 43 6f 6e 74 65 6e 74 [288-303]
  -Type: applicati 2d 54 79 70 65 3a 20 61 70 70 6c 69 63 61 74 69 [304-319]
  on/x-www-form-ur 6f 6e 2f 78 2d 77 77 77 2d 66 6f 72 6d 2d 75 72 [320-335]
  lencoded..Accept 6c 65 6e 63 6f 64 65 64 0d 0a 41 63 63 65 70 74 [336-351]
  -Encoding: gzip, 2d 45 6e 63 6f 64 69 6e 67 3a 20 67 7a 69 70 2c [352-367]
  deflate..User-A 20 64 65 66 6c 61 74 65 0d 0a 55 73 65 72 2d 41 [368-383]
  gent: Mozilla/4. 67 65 6e 74 3a 20 4d 6f 7a 69 6c 6c 61 2f 34 2e [384-399]
  0 (compatible; M 30 20 28 63 6f 6d 70 61 74 69 62 6c 65 3b 20 4d [400-415]
  SIE 4.01; Window 53 49 45 20 34 2e 30 31 3b 20 57 69 6e 64 6f 77 [416-431]
  s 95)..Host: www 73 20 39 35 29 0d 0a 48 6f 73 74 3a 20 77 77 77 [432-447]
  .renren.com..Con 2e 72 65 6e 72 65 6e 2e 63 6f 6d 0d 0a 43 6f 6e [448-463]
  tent-Length: 43. 74 65 6e 74 2d 4c 65 6e 67 74 68 3a 20 34 33 0d [464-479]
  .Connection: Kee 0a 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 4b 65 65 [480-495]
  p-Alive..Cookie: 70 2d 41 6c 69 76 65 0d 0a 43 6f 6f 6b 69 65 3a [496-511]
  lang=cn; COUNTR 20 6c 61 6e 67 3d 63 6e 3b 20 43 4f 55 4e 54 52 [512-527]
  Y=21; timeDiff=2 59 3d 32 31 3b 20 74 69 6d 65 44 69 66 66 3d 32 [528-543]
  7/12/1999_17:56: 37 2f 31 32 2f 31 39 39 39 5f 31 37 3a 35 36 3a [544-559]
  15.476; SESSION= 31 35 2e 34 37 36 3b 20 53 45 53 53 49 4f 4e 3d [560-575]
  9920220612.17233 39 39 32 30 32 32 30 36 31 32 2e 31 37 32 33 33 [576-591]
  6181; AdJump=nul 36 31 38 31 3b 20 41 64 4a 75 6d 70 3d 6e 75 6c [592-607]
  l; engagekey=/re 6c 3b 20 65 6e 67 61 67 65 6b 65 79 3d 2f 72 65 [608-623]
  gion#1/gender#1/ 67 69 6f 6e 23 31 2f 67 65 6e 64 65 72 23 31 2f [624-639]
  age#21/sign#/mar 61 67 65 23 32 31 2f 73 69 67 6e 23 2f 6d 61 72 [640-655]
  ital#1/country#/ 69 74 61 6c 23 31 2f 63 6f 75 6e 74 72 79 23 2f [656-671]
  ethnicity#2/educ 65 74 68 6e 69 63 69 74 79 23 32 2f 65 64 75 63 [672-687]
  ation#5/industry 61 74 69 6f 6e 23 35 2f 69 6e 64 75 73 74 72 79 [688-703]
  #9/interests#; J 23 39 2f 69 6e 74 65 72 65 73 74 73 23 3b 20 4a [704-719]
  ServSessionId=3f 53 65 72 76 53 65 73 73 69 6f 6e 49 64 3d 33 66 [720-735]
  ee9af4c3957f28.6 65 65 39 61 66 34 63 33 39 35 37 66 32 38 2e 36 [736-751]
  30.946465712033; 33 30 2e 39 34 36 34 36 35 37 31 32 30 33 33 3b [752-767]
  AccipiterId=000 20 41 63 63 69 70 69 74 65 72 49 64 3d 30 30 30 [768-783]
  93423*DEF....log 39 33 34 32 33 2a 44 45 46 0d 0a 0d 0a 6c 6f 67 [784-799]
  inid=iaqqxaisc&p 69 6e 69 64 3d 69 61 71 71 78 6a 69 73 63 26 70 [800-815]
  assword=vra7raa& 61 73 73 77 6f 72 64 3d 76 72 61 37 72 61 61 26 [816-831]
  x=41&y=9f.X! 78 3d 34 31 26 79 3d 39 66 c8 58 21
  下面是解码后的结果。
  Flags: 0x00
  Status: 0x00
  Packet Length:844
  Timestamp: 19:28:09.400000 01/18/2000
  Ethernet Header
  Destination: 00:90:ab:c0:68:00 [0-5]
  Source: 52:54:ab:15:d6:de [6-11]
  Protocol Type:08-00 IP [12-13]
  IP Header - Internet Protocol Datagram
  Version: 4 [14 Mask 0xf0]
  Header Length: 5 [14 Mask 0xf]
  Precedence: 0 [15 Mask 0xe0]
  Type of Service: %000 [15 Mask 0x1c]
  Unused: %00 [15 Mask 0x3]
  Total Length: 826 [16-17]
  Identifier: 61706 [18-19]
  Fragmentation Flags: %010 Do Not Fragment [20 Mask 0xe0]
  Fragment Offset: 0 [20-22 Mask 0x1fffff]
  Time To Live: 32
  IP Type: 0x06 TCP [23]
  Header Checksum: 0x5fdc [24-25]
  Source IP Address: 162.105.40.49 [26-29]
  Dest. IP Address: 167.216.148.100 [30-33]
  No Internet Datagram Options
  TCP - Transport Control Protocol
  Source Port: 1247 [34-35]
  Destination Port: 80 World Wide Web HTTP [36-37]
  Sequence Number: 7766106 [38-41]
  Ack Number: 2567724309 [42-45]
  Offset: 5 [46 Mask 0xf0]
  Reserved: %000000 [46 Mask 0xfc0]
  Code: %011000 [47 Mask 0x3f]
  Ack is valid
  Push Request
  Window: 8760 [48-49]
  Checksum: 0x37a7 [50-51]
  Urgent Pointer: 0 [52-53]
  No TCP Options
  HTTP - HyperText Transfer Protocol
  POST /js/VerifyL 50 4f 53 54 20 2f 6a 73 2f 56 65 72 69 66 79 4c [54-69]
  ogin HTTP/1.1.. 6f 67 69 6e 20 48 54 54 50 2f 31 2e 31 0d 0a [70-84]
  Accept: image/gi 41 63 63 65 70 74 3a 20 69 6d 61 67 65 2f 67 69 [85-100]
  f, image/x-xbitm 66 2c 20 69 6d 61 67 65 2f 78 2d 78 62 69 74 6d [101-116]
  ap, image/jpeg, 61 70 2c 20 69 6d 61 67 65 2f 6a 70 65 67 2c 20 [117-132]
  image/pjpeg, app 69 6d 61 67 65 2f 70 6a 70 65 67 2c 20 61 70 70 [133-148]
  lication/msword, 6c 69 63 61 74 69 6f 6e 2f 6d 73 77 6f 72 64 2c [149-164]
  application/vnd 20 61 70 70 6c 69 63 61 74 69 6f 6e 2f 76 6e 64 [165-180]
  .ms-powerpoint, 2e 6d 73 2d 70 6f 77 65 72 70 6f 69 6e 74 2c 20 [181-196]
  application/vnd. 61 70 70 6c 69 63 61 74 69 6f 6e 2f 76 6e 64 2e [197-212]
  ms-excel, */*.. 6d 73 2d 65 78 63 65 6c 2c 20 2a 2f 2a 0d 0a [213-227]
  Referer: http:// 52 65 66 65 72 65 72 3a 20 68 74 74 70 3a 2f 2f [228-243]
  www.renren.com/j 77 77 77 2e 72 65 6e 72 65 6e 2e 63 6f 6d 2f 6a [244-259]
  s/FrontPage.. 73 2f 46 72 6f 6e 74 50 61 67 65 0d 0a [260-272]
  Accept-Language: 41 63 63 65 70 74 2d 4c 61 6e 67 75 61 67 65 3a [273-288]
  zh-cn.. 20 7a 68 2d 63 6e 0d 0a [289-296]
  Content-Type: ap 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a 20 61 70 [297-312]
  plication/x-www- 70 6c 69 63 61 74 69 6f 6e 2f 78 2d 77 77 77 2d [313-328]
  form-urlencoded. 66 6f 72 6d 2d 75 72 6c 65 6e 63 6f 64 65 64 0d [329-344]
  . 0a [345]
  Accept-Encoding: 41 63 63 65 70 74 2d 45 6e 63 6f 64 69 6e 67 3a [346-361]
  gzip, deflate.. 20 67 7a 69 70 2c 20 64 65 66 6c 61 74 65 0d 0a [362-377]
  User-Agent: Mozi 55 73 65 72 2d 41 67 65 6e 74 3a 20 4d 6f 7a 69 [378-393]
  lla/4.0 (compati 6c 6c 61 2f 34 2e 30 20 28 63 6f 6d 70 61 74 69 [394-409]
  ble; MSIE 4.01; 62 6c 65 3b 20 4d 53 49 45 20 34 2e 30 31 3b 20 [410-425]
  Windows 95).. 57 69 6e 64 6f 77 73 20 39 35 29 0d 0a [426-438]
  Host: www.renren 48 6f 73 74 3a 20 77 77 77 2e 72 65 6e 72 65 6e [439-454]
  .com.. 2e 63 6f 6d 0d 0a [455-460]
  Content-Length: 43 6f 6e 74 65 6e 74 2d 4c 65 6e 67 74 68 3a 20 [461-476]
  43.. 34 33 0d 0a [477-480]
  Connection: Keep 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 4b 65 65 70 [481-496]
  -Alive.. 2d 41 6c 69 76 65 0d 0a [497-504]
  Cookie: lang=cn; 43 6f 6f 6b 69 65 3a 20 6c 61 6e 67 3d 63 6e 3b [505-520]
  COUNTRY=21; tim 20 43 4f 55 4e 54 52 59 3d 32 31 3b 20 74 69 6d [521-536]
  eDiff=27/12/1999 65 44 69 66 66 3d 32 37 2f 31 32 2f 31 39 39 39 [537-552]
  _17:56:15.476; S 5f 31 37 3a 35 36 3a 31 35 2e 34 37 36 3b 20 53 [553-568]
  ESSION=992022061 45 53 53 49 4f 4e 3d 39 39 32 30 32 32 30 36 31 [569-584]
  2.172336181; AdJ 32 2e 31 37 32 33 33 36 31 38 31 3b 20 41 64 4a [585-600]
  ump=null; engage 75 6d 70 3d 6e 75 6c 6c 3b 20 65 6e 67 61 67 65 [601-616]
  key=/region#1/ge 6b 65 79 3d 2f 72 65 67 69 6f 6e 23 31 2f 67 65 [617-632]
  nder#1/age#21/si 6e 64 65 72 23 31 2f 61 67 65 23 32 31 2f 73 69 [633-648]
  gn#/marital#1/co 67 6e 23 2f 6d 61 72 69 74 61 6c 23 31 2f 63 6f [649-664]
  untry#/ethnicity 75 6e 74 72 79 23 2f 65 74 68 6e 69 63 69 74 79 [665-680]
  #2/education#5/i 23 32 2f 65 64 75 63 61 74 69 6f 6e 23 35 2f 69 [681-696]
  ndustry#9/intere 6e 64 75 73 74 72 79 23 39 2f 69 6e 74 65 72 65 [697-712]
  sts#; JServSessi 73 74 73 23 3b 20 4a 53 65 72 76 53 65 73 73 69 [713-728]
  onId=3fee9af4c39 6f 6e 49 64 3d 33 66 65 65 39 61 66 34 63 33 39 [729-744]
  57f28.630.946465 35 37 66 32 38 2e 36 33 30 2e 39 34 36 34 36 35 [745-760]
  712033; Accipite 37 31 32 30 33 33 3b 20 41 63 63 69 70 69 74 65 [761-776]
  rId=00093423*DEF 72 49 64 3d 30 30 30 39 33 34 32 33 2a 44 45 46 [777-792]
  .... 0d 0a 0d 0a [793-796]
  loginid=iaqqxais 6c 6f 67 69 6e 69 64 3d 69 61 71 71 78 6a 69 73 [797-812]
  c&password=vra7r 63 26 70 61 73 73 77 6f 72 64 3d 76 72 61 37 72 [813-828]
  aa&x=41&y=9 61 61 26 78 3d 34 31 26 79 3d 39 [829-839]
  Frame Check Sequence: 0x66c85821
  真不幸,刚好包含了帐号eaqqxaisc和密码vra7raa!
  再仔细看看,哇!cookie的信息也是全都一览无遗。推广开去,所有的HTTP页面信息、Email信息等等,没有一点障碍得全被窃取。
  一般的说,Sniffer可以截获的不仅仅是用户的ID和口令。它可以截获敏感的经济数据(如信用卡号)、秘密的信息(E-mail)和专有信息。基于入侵者可利用的资源,一个Sniffer可能截获网络上所有的信息。
  从Sniffer上可以得到所的的信息,只要你有足够的存储空间。为了解决这个问题,入侵者一般只截获每个包的前200-300字节。用户名和口令一般在这部分。当然,如果有足够的存储介质,会得到更多有趣的内容。
  
  三. 挫败Sniffer
  sniffer是一种被动的攻击,不产生任何东西,基本上不留下什么痕迹。所以,在网络上是难以发现sniffer的。
  以下一些工作对于对付sniffer会有些用处。
  首先,检查网络线路,确定不会有硬件接入的sniffer。
  其次,检查每一台机器的每一个通信端口。在sniffer存在时,被窃听机器的端口被改为许诺模式(promiscuous mode),可以通过这一点检测自己是否被窃听(源自参考文献3,笔者未曾实验)。在SunOS中,可以通过ifconfig –a来检测。
  第三,对敏感数据加密。对敏感数据的加密是安全的必要条件。其安全级别取决于加密算法的强度和密钥的强度。
  第四,使用安全的拓朴结构。Sniffer无法穿过交换机、路由器、网桥。网络分段越细,则安全程度越大。
  
  
  四. Sniffer用于网络管理
  Sniffer是被设计来诊断网络的联接情况的。ISS(Internet Security System)的总裁,大二退学自己开了ISS公司,现已成美国信息安全的首席顾问,comp.security的FAQ都由ISS发表。但是ISS的安全工具却全是sniff类型的。
  现在有许多商用的sniffer,例如大大有名的netXray,其功能描述如下:
  Monitoring Network Statistics
  
  NetXRay provides both real time viewing and long term traffic analysis in graphical format. It can monitor multiple network statistics variables concurrently. This allows you to predict future network needs and plan for them accordingly. Alarms are generated whenever preset threshold parameters are exceeded, informing you about network exception conditions that may require immediate attention.
  
  NetXRay monitors and displays a network segment’s packet rate, utilization and error rate in real time. Statistical counters for all network detail parameters are maintained in memory, and may be exported to Excel format for tabulation or charting.
  
  The host table maintains each network node’s traffic statistics in real time. It keeps MAC, IP network, IP application, IPX network, and IPX transport layer information in separate tables, all of which may be viewed in table, bar or pie chart formats. The host table can be sorted by any statistical variable of your choice, in either ascending or descending order.
  
  The matrix table maintains network node pair conversation traffic statistics in real time. It keeps MAC, IP network, IP application, IPX network, and IPX transport layer information in separate tables, all of which may be viewed in traffic map, table, bar or pie chart formats. The matrix table can be sorted by any statistical variable of your choice, in either ascending or descending order.
  
  The traffic map provides the user a birds-eye view of the network traffic patterns in real time. It gives a complete graphical presentation of the traffic pattern between network nodes.
  NetXray就通过硬件地址和ip地址的双向解析可以用来检测ip盗用。同样,消息的重放可以通过引起信报错乱,从而进行一些惩罚,但这一手段同样可以进行其他hack活动。
 


如何防御Sniffer攻击 :

  


  1.怎样发现 Sniffer
   Sniffer最大的危险性就是它很难被发现,在单机情况下发现一个Sniffer还是比较容易的,可以通过查看计算机上当前正在运行的所有程序来实现,当然这不一定可靠。
   在UNIX系统下可以使用下面的命令:ps-aux。这个命令列出当前的所有进程、启动这些进程的用户、它们占用CPU的时间以及占用多少内存等等。
   在Windoos系统下,可以按下Ctrl+Alt+Del键,查看任务列表。不过,编程技巧高的Sniffer即使正在运行,也不会出现在这里。
   另一个方法就是在系统中搜索,查找可怀疑的文件。但人侵者用的可能是他们自己写的程序,所以这给发现Sniffer造成相当大的困难。还有许多工具能用来查看你的系统会不会处于混杂模式,从而发现是否有一个Sniffer正在运行。 但在网络情况下要检测出哪一台主机正在运行Sniffer是非常困难的,因为Sniffer是一种被动攻击软件,它并不对任何主机发出数据包,而只是静静地运行着,等待着要捕获的数据包经过。
  2.抵御 Sniffer
   虽然发现一个Sniffer是非常困难的,但是我们仍然有办法抵御Sniffer的嗅探攻击。既然Sniffer要捕获我们的机密信息,那我们干脆就让它捕获,但事先要对这些信息进行加密,黑客即使捕捉到了我们的机密信息,也无法解密,这样,Sniffer就失去了作用。
   黑客主要用Sniffer来捕获Telnet、FTP、POP3等数据包,因为这些协议以明文在网上传输,我们可以使用一种叫做SSH的安全协议来替代Telnet等容易被Sniffer攻击的协议。
   SSH又叫Secure Shell,它是一个在应用程序中提供安全通信的协议,建立在客户/服务器模型上。SSH服务器分配的端口是22,连接是通过使用一种来自RSA的算法建立的。在授权完成后,接下来的通信数据用IDEA技术来加密。这种加密方法通常是比较强的,适合于任何非秘密和非经典的通信。
   SSH后来发展成为F-SSH,提供了高层次的、军方级别的对通信过程的加密。它为通过TCP/IP的网络通信提供了通用的最强的加密。如果某个站点使用F—SSH,用户名和口令就不再重要了。目前,还没有人突破过这种加密方法。即使是Sniffer,收集到的信息将不再有价值。有兴趣的读者可以参看与SSH相关的书籍。
   另一种抵御Sniffer攻击的方法是使用安全的拓扑结构。因为Sniffer只对以太网、令牌环网等网络起作用,所以尽量使用交换设备的网络可以从最大程度上防止被Sniffer窃听到不属于自己的数据包。还有一个原则用于防止Snther的被动攻击 一个网络段必须有足够的理由才能信任另一网络段。网络段应该从考虑具体的数据之间的信任关系上来设计,而不是从硬件需要上设计。一个网络段仅由能互相信任的计算机组成。通常它们在同一个房间里,或在同一个办公室里,应该固定在建筑的某一部分。注意每台机器是通过硬连接线接到集线器(Hub)的,集线器再接到交换机上。由于网络分段了,数据包只能在这个网段上被捕获,其余的网段将不可能被监听。
   所有的问题都归结到信任上面。计算机为了和其他计算机进行通信,它就必须信任那台计算机。系统管理员的工作就是决定一个方法,使得计算机之间的信任关系很小。这样,就建立了一种框架,告诉你什么时候放置了一个Sniffer,它放在哪里,是谁放的等等。
   如果局域网要和Internet相连,仅仅使用防火墙是不够的。人侵者已经能从一个防火墙后面扫描,并探测正在运行的服务。应该关心的是一旦人侵者进人系统,他能得到些什么。你必须考虑一条这样的路径,即信任关系有多长。举个例子,假设你的Web服务器对计算机A是信任的,那么有多少计算机是A信任的呢?又有多少计算机是受这些计算机信任的呢?一句话,就是确定最小信任关系的那台计算机。在信任关系中,这台计算机之前的任何一台计算机都可能对你的计算机进行攻击并成功。你的任务就是保证一旦出现Sniffer,它只对最小范围有效。
   Sniffr往往是在攻击者侵人系统后使用的,用来收集有用的信息。因此,防止系统被突破很关键。系统安全管理员要定期的对所管理的网络进行安全测试,防止安全隐患。同时要控制拥有相当权限的用户的数量,因为许多攻击往往来自网络内部。
  3.防止 Sniffer的工具 Antisnff
   Antisniff是由著名黑客组织(现在是安全公司了)L0pht开发的工具,用于检测本地网络是否有机器处于混杂模式(即监听模式)。
   一台处于混杂模式的机器意味着它很可能已被入侵并被安装了Sniffer。对于网络管理员来说,了解哪台机器正处于混杂模式以作进一步的调查研究是非常重要的。
   Antisniff 1.X版运行在以太网的WindOWS NT系统中,并提供了简单易用的用户图形界面。该工具以多种方式测试远程系统是否正在捕捉和分析那些并不是发送给它的数据包。这些测试方法与其操作系统本身无关。
   Antisniff运行在本地以太网的一个网段上。如果在非交换式的C类网络中运行,Antisniff能监听整个网络;如果网络交换机按照工作组来隔离,则每个工作组中都需要运行一个Antisniff。原因是某些特殊的测试使用了无效的以太网地址,另外某些测试需要进行混杂模式下的统计(如响应时间、包丢失率等)。
   Antisniff的用法非常简便,在工具的图形界面中选择需要进行检查的机器,并且指定检查频率。对于除网络响应时间检查外的测试,每一台机器会返回一个确定的正值或负值。返回的正值表示该机器正处于混杂模式,这就有可能已经被安装了Sniffer。
   对于网络响应时间测试的返回值,建议根据第一次返回的数值计算标准值,然后再对在flood和非flood两次测试时返回的结果有较大变化的机器进行检查。一旦这些机器退出混杂模式返回到正常操作模式下,Antisniff的下一次测试将会记录到混杂模式和非混杂模式的差值(正值)。
   应该周期性地运行Antisniff,具体周期值根据不同的站点、不同的网络负荷、测试的机器数量和网站策略等而有所不同。
回复

使用道具 举报

 楼主| 发表于 2008-12-19 15:12:56 | 显示全部楼层
建议设置阅读权限
回复

使用道具 举报

发表于 2008-12-19 15:24:10 | 显示全部楼层
做个PDF就更好了
回复

使用道具 举报

 楼主| 发表于 2008-12-19 17:36:49 | 显示全部楼层
今天晚上做好了,看起来就是有点乱
回复

使用道具 举报

发表于 2009-10-22 19:00:20 | 显示全部楼层
十分详细
适合恶补网络知识的人
回复

使用道具 举报

发表于 2009-10-22 20:10:06 | 显示全部楼层
太感谢了,我正需要。
太感谢了
回复

使用道具 举报

发表于 2010-6-9 16:10:19 | 显示全部楼层
太杂乱了。都不想看啊。建议搞的美观点。谢谢合作!
回复

使用道具 举报

发表于 2010-6-22 16:40:13 | 显示全部楼层
xuexizhong,thanks........................
回复

使用道具 举报

您需要登录后才可以回帖 登录 | CSNA会员注册

本版积分规则

快速回复 返回顶部 返回列表