为什么要学习抓包和协议分析协议分析工具进行网络管理和网络安全管理,不仅要从宏观上管理网络的性能,还要从微观上分析数据包的内容,这样才能确保网络安全并且正常地运行。使用协议分析工具的目的,就是为了捕获网络中传输的数据包并对数据包中的比特进行统计和分析。宏观上,可以进行统计以确定网络性能的基线。微观上,可以从数据包分析中了解协议的实现情况、是否存在网络攻击行为等,为制定安全策略及进行安全审计提供直接的依据。如果黑客在网络当中使用协议分析工具,就是一种消极的安全攻击。1、故障分析定位2、网络质量评估3、入侵协议分层从网络协议说起协议分层协议体系TCP/IP模型各层的功能协议分析器概述协议分析器就是捕获网络数据包进行协议分析的工具。从广义上可以分为局域网分析器和广域网分析器,也有的分析器既可以用于局域网又可以用于广域网。广域网分析器用以捕获分析PPP、帧中继、ATM和其他链路上的数据,它采用特殊的接口卡来读取从广域网上下载的数据帧。广域网分析器通常用一个“Y”形接头连接到广域网以便于捕获流经的数据流。局域网分析器用来捕获和显示来自局域网的信息数据,这些局域网包括以太网、令牌环网和光纤分布式数据接口(FDDI)等。局域网分析器是通过集线器或者交换机连接到局域网网段上的。将局域网分析器连接到交换机时,需要进行一些特殊的考虑。一般情况下,分析器只能捕获经过它所连接的端口的所有数据。某些交换机可以配置监视端口,把分析器接入到监视端口就可以捕获监视流经所有端口的数据。常见的网络分析器产品有:NetworkAssociates公司的Sniffer、NetXray公司的SnifferBasic,科来协议分析、allot。Sniffer公司目前主推硬件分析还有免费的Ethereal、Wireshark(原Ethereal作者自行开发的)协议分析器等。另外,Windows中自己带的网络监视器也可以抓取数据包进行协议分析。LINNUX中带的TCPDUMP也可以抓取数据包进行协议分析。协议分析器的特点捕获数据包◦进行协议分析的前提是要有捕获的数据包,协议分析器可以捕获所有流经其所控制的媒体的数据。高端的协议分析器还可以制定捕获的计划和触发条件。数据包统计◦协议分析器可以对捕获到的数据包进行统计和分析,根据时间、协议类型和错误率等进行分析,甚至可以打印出各种直观的图表和报表。过滤数据◦大量的数据包的捕获会消耗太多的系统资源,性能很低。协议分析器可以设置过滤,只捕获满足特定条件的数据包。根据大量捕获结果排错的时候,也需要能过滤无关的大量数据包,把最有用的数据包找出来。协议分析器往往有强大的过滤功能。数据包解码◦捕获的数据包的内容就是0/1的比特流,协议分析器可以对这些比特流解码,识别哪些部分是封装的头部信息,哪些是有效净载荷。网络通信协议非常多,好的协议分析器能对各种协议数据包解码。读取其他协议分析器的数据包格式◦大部分协议分析器可以读取显示其他协议分析器捕获的数据包文件。作为嗅探器的协议分析器黑客使用协议分析器的时候,它就成了一种黑客工具,我们可以称之为嗅探器。嗅探器与一般的键盘捕获程序不同。键盘捕获程序捕获在终端上输入的键值,而嗅探器则捕获真实的网络报文。嗅探器工作在网络环境中的底层,它会拦截所有的正在网络上传送的数据,并且通过相应的软件处理,可以实时分析这些数据的内容,进而分析所处的网络状态和整体布局。嗅探是一种安静的、消极的安全攻击。常见的危害有:捕获口令◦这大概是绝大多数非法使用嗅探器的理由,嗅探器可以记录明文传送的用户名和密码。捕获专用的或者机密的信息,比如金融账号◦许多用户很放心在网上使用自己的信用卡或现金账号,然而嗅探器可以很轻松地截获在网上传送的用户姓名、口令、信用卡号码、截止日期、账号和PIN。比如偷窥机密或敏感的信息数据,通过拦截数据包,入侵者可以很方便地记录别人之间敏感的信息传送,或者干脆拦截整个的E-mail会话过程。可以用来危害网络邻居的安全,或者用来获取更高级别的访问权限窥探低层的协议信息抓包接入共享网络-通过Hub连接上网使用集线器(Hub)作为网络中心交换设备的网络即为共享式网络,集线器(Hub)以共享模式工作在OSI层次的物理层。如果您局域网的中心交换设备是集线器(Hub),可将科来网络分析系统可安装在局域网中任意一台主机上,此时科来网络分析系统可以捕获整个网络中所有的数据通讯。抓包接入交换式网络-交换机具备管理功能(端口镜像)使用交换机(Switch)作为网络的中心交换设备的网络即为交换式网络。交换机(Switch)工作在OSI模型的数据链接层,交换机各端口之间能有效地分隔冲突域,由交换机连接的网络会将整个网络分隔成很多小的网域。大多数三层或三层以上交换机以及一部分二层交换机都具备端口镜像功能,当您网络中的交换机具备此功能时,可在交换机上配置好端口镜像(关于交换机镜像端口),再将科来网络分析系统可安装在连接镜像端口的主机上方式抓包接入交换式网络-交换机具备管理功能(端口镜像)使用交换机(Switch)作为网络的中心交换设备的网络即为交换式网络。交换机(Switch)工作在OSI模型的数据链接层,交换机各端口之间能有效地分隔冲突域,由交换机连接的网络会将整个网络分隔成很多小的网域。大多数三层或三层以上交换机以及一部分二层交换机都具备端口镜像功能,当您网络中的交换机具备此功能时,可在交换机上配置好端口镜像(关于交换机镜像端口),再将科来网络分析系统可安装在连接镜像端口的主机上方式抓包接入交换式网络-交换机不具备管理功能(无端口镜像)一般简易型的交换机不具备管理功能,不能通过端口镜像来实现网络的监控分析。如果您的中心交换或网段的交换没有端口镜像功能,一般可采取串接集线器(Hub)或分接器(Tap)的方法进行部署。如图所示:使用网络分接器(Taps)使用Tap时,成本较高,需要安装双网卡,并且在管理机器不能上网,如果要上网,需要再安装另外的网卡。用集线器(Hub)Hub成本低,但网络流量大时,性能不高,Tap即使在网络流量高时,也对网络性能不会造成任何影响,接入方式对比常见的协议分析工具主要功能如下:◦为网络协议分析捕获网络数据包◦分析诊断网络故障◦实时监控网络的活动情况◦收集单个工作站、会话、或者网络中的任何一部分的详细的网络利用情况和错误统计;◦保存网络情况的历史记录和错误信息,建立基线◦当检测到网络故障的时候,生成直观的实时警报并通知网络管理员模拟网络数据来探测网络,衡量响应时间,路由跳数计数,排错MicrosoftNetworkMonitorWindows中自带的组件网络监视器NetworkMonitor,其工作原理类似于其他协议。NetworkMonitor可以捕获所有经过指定的网络接口的数据包,并进行协议分析。使用网络监视器,可以发现网络通信模式和网络问题。例如,可以定位客户端到服务器的连接问题,发现工作请求数目不成比例的计算机,以及发现网络上未经授权的用户。系统自带也可以下载:=4865Ethereal这是个小巧的协议分析器,包含了对许多常用协议的分析解码功能。Ethereal也可以设置过滤器,以便于把真正用户关心的数据捕获并显示出来。已不用了!!!!WireShark简介Wireshark是世界上最流行的网络分析工具。这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息。与很多其他网络工具一样,Wireshark也使用pcapnetworklibrary来进行封包捕捉。wireshark的原名是Ethereal,新名字是2006年起用的。当时Ethereal的主要开发者决定离开他原来供职的公司,并继续开发这个软件。但由于Ethereal这个名称的使用权已经被原来那个公司注册,Wireshark这个新名字也就应运而生了。官方网站:(显示过滤器)显示过滤器用于查找捕捉记录中的内容。请不要将捕捉过滤器和显示过滤器的概念相混淆。请参考Wireshark过滤器中的详细内容。4.PACKETLISTPANE(封包列表)封包列表中显示所有已经捕获的封包。在这里您可以看到发送或接收方的MAC/IP地址,TCP/UDP端口号,协议或者封包的内容。如果捕获的是一个OSIlayer2的封包,您在Source(来源)和Destination(目的地)列中看到的将是MAC地址,当然,此时Port(端口)列将会为空。如果捕获的是一个OSIlayer3或者更高层的封包,您在Source(来源)和Destination(目的地)列中看到的将是IP地址。Port(端口)列仅会在这个封包属于第4或者更高层时才会显示。您可以在这里添加/删除列或者改变各列的颜色:Editmenu-PreferencesPACKETDETAILSPANE(封包详细信息)这里显示的是在封包列表中被选中项目的详细信息。信息按照不同的OSIlayer进行了分组,您可以展开每个项目查看。下面截图中展开的是HTTP信息。6.DISSECTORPANE(16进制数据)“解析器”在Wireshark中也被叫做“16进制数据查看面板”。这里显示的内容与“封包详细信息”中相同,只是改为以16进制的格式表述。在上面的例子里,我们在“封包详细信息”中选择查看TCP端口(80),其对应的16进制数据将自动显示在下面的面板中(0050)。MISCELLANOUS(杂项)在程序的最下端,您可以获得如下信息:-正在进行捕捉的网络设备。-捕捉是否已经开始或已经停止。-捕捉结果的保存位置。-已捕捉的数据量。-已捕捉封包的数量。(P)-显示的封包数量。(D)(经过显示过滤器过滤后仍然显示的封包)-被标记的封包数量。(M)非混杂模式及混杂模式下抓包非混杂模式指:WireShark只抓取指定网卡上的发出与接收的数据包,与指定网卡无关的数据包将被忽略。混杂模式指:WireShark能够抓取主机所在局域网内的全部网络包,即接收所有经过网卡的数据包,包括不是发给本机的包。过滤器捕捉过滤器(CaptureFilters):用于决定将什么样的信息记录在捕捉结果中。需要在开始捕捉前设置。显示过滤器(DisplayFilters):在捕捉结果中进行详细查找。他们可以在得到捕捉结果后随意修改。那么我应该使用哪一种过滤器呢?两种过滤器的目的是不同的。捕捉过滤器是数据经过的第一层过滤器,它用于控制捕捉数据的数量,以避免产生过大的日志文件。显示过滤器是一种更为强大(复杂)的过滤器。它允许您在日志文件中迅速准确地找到所需要的记录。两种过滤器使用的语法是完全不同的。1.捕捉过滤器捕捉过滤器的语法与其它使用Lipcap(Linux)或者Winpcap(Windows)库开发的软件一样,比如著名的TCPdump。捕捉过滤器必须在开始捕捉前设置完毕,这一点跟显示过滤器是不同的。•设置捕捉过滤器的步骤是:–选择capture-options。–填写“capturefilter”栏或者点击“capturefilter”按钮为您的过滤器起一个名字并保存,以便在今后的捕捉中继续使用这个过滤器。–点击开始(Start)进行捕捉。捕捉过滤器语法Protocol(协议):可能的值:ether,fddi,ip,arp,rarp,decnet,lat,sca,moprc,mopdl,tcpandudp.如果没有特别指明是什么协议,则默认使用所有支持的协议。Direction(方向):可能的值:src,dst,srcanddst,srcordst如果没有特别指明来源或目的地,则默认使用“srcordst”作为关键字。例如,“host10.2.2.2”与“srcordsthost10.2.2.2”是一样的。语法ProtocolDirectionHost(s)ValueLogicalOperationsOtherexpression_