




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
9.网络取证技术目录CONTENTS9.1网络取证概念9.1.1网络取证的特殊性9.1.2常见网络协议介绍9.1.3网络取证的数据来源9.2网络实时取证与分析9.2.1数据包获取方法和途径9.2.2数据包分析的工具9.3网络非实时取证与分析9.3.1网络追踪与网络行为分析9.3.2P2P技术在网络犯罪中的应用9.1Keepongoingnevergiveup.Whateverisworthdoingisworthdoingwell.网络取证概述9.1.1
网络取证的特殊性相对于传统的电子数据取证,网络取证是一个新兴的取证领域,随着互联网技术的的不断发展,网络取证的需求量在不断加大,其重要性不言而喻。同时,由于网络技术不断推陈出新,网络犯罪的表现形式也在不断变化,给我们取证人员带来了较大难度。那么,网络取证自身存在哪些不同点呢?这个问题本章将会从网络取证的概念、特点、难点几个角度来进行阐述。9.1网络取证概述1.网络取证的概念计算机取证是指对存在于计算机及相关外部设备中的计算机犯罪证据进行确定、获取、分析和提取,以及在法庭出示的过程。计算机取证涵盖了法学、计算机科学和刑事侦查学等诸多学科,在取证的过程中,还需要根据取证的标准和方法进行相关的流程控制,这些在前面章节内均已详细阐述。计算机网络取证是计算机取证的一个重要分支,有别于计算机单机取证的是,网络取证是借助于已构建好的网络环境,对存在于本地计算机或网络存储介质中的计算机犯罪证据进行确定、获取、分析和提取。网络取证的内容主要涉及两个方面:一是来源取证,指的是取证目的主要是确定犯罪嫌疑人及其所在位置,取证内容主要包括IP地址、MAC地址、电子邮件信箱、软件帐号等;二是事实取证,指的是取证目的不是为了查明犯罪嫌疑人是谁,而是要确定犯罪实施的过程和具体内容,取证内容主要包括文件内容调查、使用痕迹调查、日志文件分析、网络状态和数据包的分析等。9.1.1
网络取证的特殊性2.网络取证的特点网络电子证据是通过网络进行传输的网络数据,其存在形式是电磁或电子脉冲。与传统证据一样,网络电子证据必须是可信的、准确的、完整的、符合法律法规的证据。但由于网络电子证据的存在形式依赖于网络传输协议,缺乏可见的实体。采用不同的传输协议,网络电子证据的格式及传输方式就会不同。因此,网络电子证据必须通过专门工具和技术来进行正确的提取和分析,使之具备证明案件事实的能力。网络电子证据具有以下特点:9.1.1
网络取证的特殊性(2)存储介质的电子性(4)脆弱性(6)广域性(1)表现形式的多样性(3)准确性(5)海量性9.1.1
网络取证的特殊性(1)表现形式的多样性。虽然网络电子证据均是以二进制数据格式存储、传输,但它超越了所有传统的证据形式,可以以文本、图形、图像、动画、音频、视频等多种信息形式存储于计算机硬件及网络设备等介质中;(2)存储介质的电子性。网络电子证据依据计算机技术和通信技术产生,以电子信息形式存储在特定的电子介质上。离开了高科技含量的技术设备,电子证据就无法保存和传输,同时电子证据必须依赖于相应的设备及软件才能重现;9.1.1
网络取证的特殊性(3)准确性。网络电子证据信息的记录方式为二进制信号,具有非常好的可靠性,不像痕迹、颗粒等物证存在自然衰减、灭失的问题,也不会受到感情、经验等主观因素影响,能准确地反映整个事件的完整过程;(4)脆弱性。网络电子证据同时也是脆弱的。因为它的载体是电磁介质,可以被破坏者以任何手段修改且不易留下痕迹,还容易受到电磁攻击。另外,有些网络电子证据是流动的,会随着时间的推移而消失,不能被重现。网络电子证据的这种特点,使得网络罪犯的作案行为更容易,事后追踪和复原更困难;9.1.1
网络取证的特殊性(5)海量性。随着网络带宽的不断增加,计算机系统和网络中每天产生的数据复杂而庞大,如何在海量的数据中判断出与案件关联的、反映案件客观事实的电子证据是一项艰巨任务;(6)广域性。网络犯罪现场范围一般南犯罪嫌疑人使用网络的大小而决定,小至一问办公室内的局域网,大到可以延伸到世界范围的任何一个角落。网络的便利性使得网络犯罪跨越省界、国界都是很容易做到的,这给网络取证工作带来很大的挑战。9.1.1
网络取证的特殊性3.网络取证的难点随着计算机网络技术的发展,犯罪嫌疑人采用的技术越来越高明,要侦破此类案件,需要依赖特定的技术装备并要求侦查人员具备较高的计算机水平。目前,我国大部分地区还未配备受过专业训练并掌握相关侦破技术的侦查人员,现有办案人员缺乏计算机网络知识。这些因素导致计算机网络取证工作在侦查和取证方面,都存在着一定的困难。9.1.1
网络取证的特殊性计算机网络犯罪主体多种多样,犯罪手段花样翻新,犯罪行为隐蔽性强,而且作案时间短、传播速度快、不易被人发现。由于犯罪现场留下的痕迹是“数字化”痕迹,计算机网络犯罪现场也不像传统犯罪现场那么明确。这些无疑会加大侦查计算机网络犯罪案件的难度。以笔者曾参与的多起侵害公私财产为目的的计算机网络犯罪案件来看,犯罪嫌疑人在虚拟的网络空间中,可以利用计算机网络技术在不同的时间和地点进行犯罪活动,或采用DDOS(分布式拒绝服务)技术对类似网吧这样的公共上网场所实施攻击以致其网络瘫痪;或采用网页挂马技术,在捕获大量肉机(受人非法控制的具有最高管理权限的远程电脑)的同时,窃取了大量个人网银帐号、公司帐务等敏感隐私信息。而有些企业的网络技术人员和负责人在发现网络入侵事件后,担心损害企业在用户心目中的形象,对所受到的网络攻击隐瞒不报或自行重建系统排除故障了事,这样往往破坏了犯罪嫌疑人留下的犯罪证据,延误了侦查破案时机。9.1.1
网络取证的特殊性计算机系统内各种数据资料形态各异,使人不易察觉到计算机系统内发生的变化。侦查人员在计算机网络犯罪现场对本地计算机硬盘或其它网络存储介质进行取证时,可能误入犯罪嫌疑人设计好的圈套,收集到被篡改的证据;另一方面,由于目前计算机网络取证技术尚未成熟,存在局限性,犯罪嫌疑人由此采用了一些反取证技术,如数据擦除、数据隐藏和数据加密,只需敲击几下键盘,在很短时间内就可以销毁犯罪记录,这些都大大增加了对计算机网络犯罪进行调查取证的难度。9.1.1
网络取证的特殊性9.1
网络取证概述9.1.2常见网络协议介绍首先,什么是协议?简单来说,协议就是计算机与计算机之间通过网络实现通信时达成的一种约定。就如两个人对话,双方都必须得听得懂对方的语言,或者两者之间有个某种双方都会意的沟通方式,如两者之间没有这样的约定,那么就会出现“鸡同鸭讲”的情况,如此,则双方无法沟通。计算机通信也是如此,为了能实现计算机之间的通信交互,两者必须有一种共同能理解的约定,这个就是我们所称的“协议”。互联网协议中,比较有代表性的有IP协议、tcp协议、http协议等。计算机信息系统为了能适应不同网络环境的信息交互通畅,专门定义了7层OSI参考模型,用于实现计算机网络通信。在OSI模型中,发送方从应用层到物理层不断按照相应的协议封装数据包,经过电缆传输后,接收方将数据包有自物理层到应用层按照相对应协议以“剥竹笋”方式层层解包。9.1.2
常见网络协议介绍图9-19.1.2
常见网络协议介绍OSI参考模型是学术上和法律上的国际标准,是完整的权威的网络参考模型。而TCP/IP参考模型是事实上的国际标准,即现实生活中被广泛使用的网络参考模型。在TCP/IP模型中,计算机信息系统按照应用程序、操作系统、设备驱动程序与网络接口三个层面进行划分,相关的计算机通讯协议主要分布于TCP/IP模型的应用层、传输层和互联网层,与OSI参考模型的分层上稍有不同,但是各种协议都能对应到OSI参考模型中。9.1.2
常见网络协议介绍图9-29.1.2
常见网络协议介绍数据包在两个模型中都是以报文的形式存在的,数据包的结构可以分成两个部分,报头和内容。数据在发送方顶层至底层的传递过程中,到达相应层会添加一个报头,将原先带有上一层报头的数据包整体作为内容部分存入新的数据包,实现了层层加报头的特点。在接收方,则按照这样的模式自下而上层层解包,最终实现了数据的传输。在TCP/IP分层模型中,数据包也是与OSI参考模型一样,通过分层与分发的方式进行封装传输,如需要传输的数据在传输层中增加了一个TCP的报头,形成TCP中的数据包,传输至网络层;到达网络层后又增加了一个IP的报头,传输至数据链路层,形成以太网的数据包进行传输。9.1.2
常见网络协议介绍图9-39.1.2
常见网络协议介绍1.数据链路层协议解析众所周知,电缆中传输的都时0和1两种信号,但是要区分0和1的各种不同的组合意义,才能将数据传输的语义进行表达,否则就是一片乱码。因此,数据链路层就承担了这样的职能,在电缆传输的上方,确定了0和1的分组方式。9.1.2
常见网络协议介绍由于通信传输发展是个渐变的过程,早期各通讯公司在电信号的分组中,均采用自己的公司标准,没有形成一个国际行业标准,导致不同的厂商之间的通信设备无法通用。为了实现标准统一,“以太网”这种协议逐渐被各厂家接受,并迅速占据了主导的地位。“以太网”规定,一组电信号构成一个数据包,叫做“帧(Frame)””;每一帧分成两个部分:标头(Head)和数据(Data)。因此,数据链路层链路层的数据包就叫“以太网数据包”,他由“标头”和“数据”两部分组成——其中,“标头”包含数据包的一些说明项,比如发送者、接受者、数据类型等等。9.1.2
常见网络协议介绍为了标识“标头”中的发送者和接受者信息,以太网规定,连入网络的所有设备,都必须具有“网卡”接口。数据包必须是从一块网卡,传送到另一块网卡,网卡的地址,就是数据包的发送地址和接受地址,也叫MAC地址。每块网卡出厂的时候,都有全世界独一无二的MAC地址,长度是48位的二进制,通常用12个十六进制数表示。其中,前6个十六进制是厂商编号,后6个是该厂商的网卡流水号,有了MAC地址,就可以定位网卡和数据包的路径了。9.1.2
常见网络协议介绍图9-49.1.2
常见网络协议介绍有了MAC地址以后,为了把数据包准确送到接受者,以太网就采用了一种广播的方式,向本地网络中的所有计算机发送数据包,让每台计算机自己分析是否接收数据包。当计算机收到数据包后,会判断接收者的MAC地址是否为自己的网卡MAC地址,是的话接受传递至上一层,不是的话则直接丢包。这种发送方式就叫“广播”,主要通过分组交换机或者网络交换机进行。9.1.2
常见网络协议介绍2.网络层协议解析根据以太网的协议,没发送一个数据包就广播一次,那么就会出现数据传输阻塞的问题。假设全世界所有的计算机都仅仅依靠MAC地址和广播方式进行数据包传输,每一台计算机发出的数据包都同步广播到全世界其他电脑,再一一比对判断,这样显然是低效、不现实的。为此,将广播设定在发送者所在的局域网内,相对于互联网来说就是一个子网,这样才能提高通信效率。所以,互联网是由一个个子网组成的更大的子网,一级一级组网,最终构成的互联网。9.1.2
常见网络协议介绍既然通过多层组网的方式,那么仅仅MAC地址就无法实现不同子网间数据包的传输。因此,在互联网中设计的传输模式就是:先行判断哪些MAC属于同一个子网,如果是则采用广播方式,不是的话则采用“路由”的方式发送。因此,就需要引用一个新的地址模式,使我们能够区分哪些计算机属于同一个子网,这个套机制就叫做“网络地址”,也就是“IP地址”。在网络层,IP地址是基于IP协议来定义的。IP地址目前有IPV4(InternetProtocolversion4)和IPV6(InternetProtocolversion6)两版,又称“互联网通信协议第四/六版”。目前,主流的IP地址主要是IPV4,网络地址由32个二进制位组成。习惯上,一个IP地址分成四段十进制数表示,从到55。9.1.2
常见网络协议介绍图9-59.1.2
常见网络协议介绍互联网上的每一台计算机,都会被分配到一个IP地址,这个地址由两部分组成,前一部分代表网络,后一部分代表主机。比如,IP地址,这是一个32位的地址,假定它的网络部分是前24位(172.16.254),那么主机部分就是后8位(最后的那个1)。处于同一个子网络的电脑,它们IP地址的网络部分必定是相同的,也就是说应该与处在同一个子网络,而后面的“2”与“1”则是同一子网内两台不同电脑(主机)的编号。目前,IP地址主要分为5大类,根据不同的网络号来进行区分。9.1.2
常见网络协议介绍图9-69.1.2
常见网络协议介绍当然,仅仅一个IP地址,还无法判断网络部分。如10这样一个IP地址,网络部分是前24位,还是前16位,这个无法直接判断,需要我们有一个标识来区分是否在同一个子网。因此,引用了“子网掩码”的概念。所谓"子网掩码",就是表示子网络特征的一个参数。它在形式上等同于IP地址,也是一个32位二进制数字,它的网络部分全部为1,主机部分全部为0。比如,IP地址10,如果已知网络部分是前24位,主机部分是后8位,那么子网络掩码就是11111111.11111111.11111111.00000000,写成十进制就是。在实际的协议解析中,我们可以通过将两个IP地址与子网掩码进行与运算,看结果是否相同,如果相同则为同一子网,否则不是。9.1.2
常见网络协议介绍图9-79.1.2
常见网络协议介绍之前已经提到,计算机在同一个子网中,则采用广播方式传递数据包,不在同一个子网中,则使用路由来实现。顾名思义,路由就是通过网络把信息从源地址传输到目的地址的活动。路由引导分组转送,经过一些中间的节点后,到达目的地。从“路由”的定义中可以看到,“路由”的作用是将信息从原地址传输到目的地址,比较特殊的是,原地址和目标地址是在两个不同的子网中的。为实现跨网段传输,路由定义了从主机到可以将包转发到目的地的网关(子网)间的路径段(或从一个子网到另一个子网),通过多个路由的连接,最终实现数据的完整传输。简单来说,路由器就相当于是一台配备多个网卡的专用电脑,让网卡接入到不同的网络中,实现跨网段的传输。9.1.2
常见网络协议介绍通常,我们把网络层使用的路由器称为网关。路由器上面有MAC地址和MAC地址对应的IP,而网关由于是网络层的概念因此只有IP地址。目前很多局域网采用都是路由来接入网络,因此现在习惯性认为,网关就是路由器的IP。路由器是工作在网络层的设备,虽然路由器上面有MAC地址和IP地址,但并不能仅仅通过MAC地址工作,必须通过IP寻址。9.1.2
常见网络协议介绍相对于路由器,平时也常用网络交换机。网络交换机是一个扩大网络的器材,能为子网中提供更多的连接端口,以便连接更多的电脑。交换机与路由器的区别主要有几个方面。一是工作层次不同,交换机主要工作在数据链路层(第二层),路由器工作在网络层(第三层)。二是转发依据不同,交换机转发所依据的对象是MAC地址,路由转发所依据的对象是IP地址。三是主要功能不同,交换机主要用于组建局域网,连接同属于一个(广播域)子网的所有设备,负责子网内部通信(广播),而路由器主要功能是将由交换机组好的局域网相互连接起来,将他们接入互联网。因此,交换机能实现的功能,路由器均能实现,而且路由器还可以分割广播域(子网),提供防火墙的功能,但路由配置比交换机复杂。9.1.2
常见网络协议介绍图9-89.1.2
常见网络协议介绍如图9所示,图中位于中间位置的路由器有两个接口IP,地址分别为5和。它们分别接入到两个网络:199.165.145和199.165.146。显然,199.165.145和199.165.146是两个不同的子网,他们通过中间的路由器连接节,这个路由器有两个网卡——7和。假如数据包从主机145.17生成,需要发送到主机146.21,则先写好数据包的标头,即写清楚发送者的IP地址(5)和接受者的IP地址(1),145.15会参照自己的路由表(routingtable),里面有两行记录:9.1.2
常见网络协议介绍图9-99.1.2
常见网络协议介绍第一行表示,如果IP目的地是这个网络中的主机,那么说明是在同一个子网中,只需要用自己在eth0上的网卡(MAC地址)通过交换机直接传送,不需要前往router(Gateway=“本地送信”)。第二行表示所有不符合第一行的IP目的地,则应该送往Gateway7这个主机,也就是中间router接入在eth0的网卡IP地址。因为IP包目的地为1,不符合第一行,所以按照第二行,发送到中间的router。主机145.15会在数据包的头部写上7对应的MAC地址,这样,就在199.165.145这个局域网中通过交换机(通过广播MAC地址)广播到7对应的主机(路由器)。9.1.2
常见网络协议介绍中间的router在收到IP包之后,会提取目的地IP地址,然后对照自己的routingtable:图9-109.1.2
常见网络协议介绍从前两行我们看到,由于router横跨eth0和eth1两个网络,它可以直接通过eth0和eth1上的网卡直接传送IP包。第三行表示,如果是前面两行之外的IP地址,则需要通过eth1,送往(右边的router接口IP)。因为目的地符合第二行,所以将IP放入一个新的帧中,在帧的头部写上1的MAC地址,通过199.165.146网中的交换机广播发往主机146.21。9.1.2
常见网络协议介绍通过这样的方式路由,IP包可以进一步接力,到达更远的主机。IP包从主机出发,根据沿途路由器的routingtable指导,在router间接力。IP包最终到达某个router,这个router与目标主机位于一个局域网中,可以直接建立数据链路层的(广播)通信。最后,IP包被送到目标主机。这样一个过程叫做routing。整个过程中,IP包不断被主机和路由封装入帧并拆开,然后借助连接层,在局域网的各个网卡之间传送帧。被传输的IP包的内容保持完整,没有发生变化。最终的效果是一个IP包从一个主机传送到另一个主机。利用IP包传输,不需要去考虑底层(比如数据链路层)发生了什么。9.1.2
常见网络协议介绍在上面的过程中,实际上只是假设了每一台主机和路由都能了解局域网内的IP地址和MAC地址的对应关系,这是实现IP包封装到帧的基本条件。IP地址与MAC地址的对应则是通过ARP协议传播到局域网的每个主机和路由。每一台主机或路由中都有一个ARPcache,用以存储局域网内IP地址和MAC地址如何对应。9.1.2
常见网络协议介绍ARP介于数据链路层和网络层之间,ARP包需要包裹在一个帧中。ARP协议的工作方式如下:主机发出一个ARP包,该ARP包中包含有自己的IP地址和MAC地址。通过ARP包,主机以广播的形式询问局域网上所有的主机和路由:我是IP地址xxxx,我的MAC地址是xxxx,有人知道IP地址xxxx的MAC地址吗?拥有该IP地址的主机会回复发出请求的主机:哦,我知道,这个IP地址属于我的一个网卡,它的MAC地址是xxxxxx。由于发送ARP请求的主机采取的是广播形式,并附带有自己的IP地址和MAC地址,其他的主机和路由会同时检查自己的ARPcache,如果不符合,则更新自己的ARPcache。就这样,经过几次ARP请求之后,ARPcache会达到稳定。如果局域网上设备发生变动,ARP重复上面过程。当然,ARP协议只用于IPv4。IPv6使用NeighborDiscoveryProtocol来替代ARP的功能。9.1.2
常见网络协议介绍3.传输层协议解析依靠MAC地址和IP地址,互联网上的两台计算机之间的通信问题已经解决。但是,我们的应用中发现,服务器的很多程序和进程都会需要网络支持,如网络远程连接,数据库的远程管理等,不同的网络应用假设同时使用,则会在数据包传输的时候需要区分数据包的归属问题,否则,会出现数据包混乱的情况。为了解决这个问题,“端口号”就被引用了。“端口号”就是每一个使用网卡的程序的编号。每个数据包发送到主机特定的端口,所以不同的程序就能取到自己想要的数据包。端口编号是0到65535之间的一个整数,正好16个二进制。0~1023的端口被系统占用,用户只能使用大于1023的端口。不管是浏览网页还是聊天,应用程序都会随机选用一个端口,然后与服务器简历相应的端口关系。因此,“传输层”的功能,就是建立“端口到端口”之间的通信。相比之下,“网络层”的功能是建立“主机到主机"的通信。只要确定主机和端口号,我们就能实现程序之间的交流。9.1.2
常见网络协议介绍很明显,传输层是建立“端口到端口”之间的通信,也可以说是进程间的通信。进程间通信分为两种——一种是主机内部(或终端内部)进程间通信,这个由终端或主机上的操作系统决定,比如在Android系统上面进程间通信就是AIDL;另一种是跨主机进程间通信或者网络进程间通信,也叫“socket通信”(socket又叫套接字)。从编程语言的角度,socket是一个无符号整型变量,用来标识一个通信进程。两个进程通信,需要了解双方的ip地址和端口号,以及通信所采用的协议栈。socket就与这些东西绑定,使用unix提供的接口,也可以使用windows提供的winSock。9.1.2
常见网络协议介绍因此,socket本质是编程接口(API),对TCP/IP的封装。TCP/IP只是一个协议栈,必须要具体实现,同时还要提供对外的操作接口(API),这就是Socket接口。只有通过Socket,才能使用TCP/IP协议,由此有了一系列函数接口——connect、accept、send、read、write等。Socket连接过程分为三个步骤:服务器监听,客户端请求,连接确认。在实际应用中,JDK的包下有两个类:Socket和ServerSocket,在Client和Server建立连接成功后,两端都会产生一个Socket实例,操作这个实例,完成所需的会话,而程序员就通过这些API进行网络编程。9.1.2
常见网络协议介绍在传输层,自然离不开UDP/TCP协议。这两个协议都是传输层的协议,主要作用就是在应用层的数据包标头加上端口号(或者在IP协议的数据包中插入端口号)。UDP协议的优点是比较简单,容易实现,但是缺点是可靠性较差,一旦数据包发出,无法知道对方是否收到。TCP协议可以近似认为是有确认机制的UDP协议。每发出一个数据包都要求确认。如果有一个数据包遗失,就收不到确认,发出方就会重发这个数据包。当然,TCP协议主要的确认机制是"三次握手,四次挥手"。9.1.2
常见网络协议介绍建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(SynchronizeSequenceNumbers)。第一次握手第三次握手客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手,客户端与服务器开始传送数据。第二次握手服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;三次握手的原理在三次握手协议中,服务器数据会维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于SYN_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。9.1.2
常见网络协议介绍四次挥手的原理:对于一个已经建立的连接,TCP使用四次挥手来释放连接(使用一个带有FIN附加标记的报文段)。第一步,当主机A的应用程序通知TCP数据已经发送完毕时,TCP向主机B发送一个带有FIN附加标记的报文段(FIN表示英文finish)。第二步,主机B收到这个FIN报文段之后,并不立即用FIN报文段回复主机A,而是先向主机A发送一个确认序号ACK,同时通知自己相应的应用程序:对方要求关闭连接(先发送ACK的目的是为了防止在这段时间内,对方重传FIN报文段)。第三步,主机B的应用程序告诉TCP:我要彻底的关闭连接,TCP向主机A送一个FIN报文段。第四步,主机A收到这个FIN报文段后,向主机B发送一个ACK表示连接彻底释放。9.1.2
常见网络协议介绍图9-119.1.2
常见网络协议介绍4.应用层协议解析在前面几层的基础上,数据包完成了传递,需要在最终的应用中进行解释。因为互联网是开放架构,数据来源五花八门,具体到不同的设备及不同的操作系统上,数据呈现格式是不同的。因此需要转化成统一的、用户能够感知的声音、图片、文字等信息,这就是应用层做的事情,确保在网络流中数据的格式的标准化。常见的协议主要有FTP、HTTP、Telnet、SMTP等。9.1.2
常见网络协议介绍(1)FTP协议:FTP是FileTransferProtocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。在TCP/IP协议中,FTP标准命令TCP端口号为21,Port方式数据端口为20。FTP的任务是从一台计算机将文件传送到另一台计算机,不受操作系统的限制。9.1.2
常见网络协议介绍一般来说,需要进行远程文件传输的计算机必须安装和运行ftp客户程序。需要启动FTP时,可以在IE地址栏中输入如下格式的URL地址:“ftp://[用户名:口令@]ftp服务器域名:[端口号]”。在CMD命令行下也可以用上述方法连接,通过put命令和get命令达到上传和下载的目的,通过ls命令列出目录,除了上述方法外还可以在cmd下输入ftp回车,然后输入openIP来建立一个连接,此方法还适用于linux下连接FTP服务器。9.1.2
常见网络协议介绍(2)HTTP协议:HTTP是HyperTextTransferProtocol(超文本传输协议)的英文简称,是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准,设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。HTTP是一个客户端和服务器端请求和应答的TCP标准。客户端是终端用户,服务器端是网站。通过使用Web浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认端口为80)的HTTP请求,称为用户代理(useragent)。应答的服务器上存储资源,如HTML文件和图像,称为源服务器(originserver)。9.1.2
常见网络协议介绍在用户代理和源服务器中间可能存在HTTP和其他几种网络协议多个中间层,比如代理,网关,或者隧道(tunnels)。通常,由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,比如"HTTP/1.1200OK",和响应的消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。通过HTTP或者HTTPS协议请求的资源由统一资源标示符(UniformResourceIdentifiers)来标识。9.1.2
常见网络协议介绍(3)Telnet协议:Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。9.1.2
常见网络协议介绍(4)SMTP协议:SMTP是SimpleMailTransferProtocol(简单邮件传输协议)的英文简称,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。它使用由TCP提供的可靠的数据传输服务把邮件消息从发信人的邮件服务器传送到收信人的邮件服务器。跟大多数应用层协议一样,SMTP也存在两个端:在发信人的邮件服务器上执行的客户端和在收信人的邮件服务器上执行的服务器端。9.1.2
常见网络协议介绍SMTP的客户端和服务器端同时运行在每个邮件服务器上。当一个邮件服务器在向其他邮件服务器发送邮件消息时,它是作为SMTP客户在运行。SMTP协议与人们用于面对面交互的礼仪之间有许多相似之处。首先,运行在发送端邮件服务器主机上的SMTP客户,发起建立一个到运行在接收端邮件服务器主机上的SMTP服务器端口号25之间的TCP连接。如果接收邮件服务器当前不在工作,SMTP客户就等待一段时间后再尝试建立该连接。SMTP客户和服务器先执行一些应用层握手操作。就像人们在转手东西之前往往先自我介绍那样,SMTP客户和服务器也在传送信息之前先自我介绍一下。在这个SMTP握手阶段,SMTP客户向服务器分别指出发信人和收信人的电子邮件地址。9.1.2
常见网络协议介绍9.1.3
网络取证的数据来源网络环境是复杂多变的,在任何一起网络取证工作中,证据都有可能存在于不同地方,如路由器、web代理、网络日志等等。针对取证需求,取证人员还要关注案事件的类型、相关设备配置以及网络拓扑结构等情况。当然,不同的网络证据来源肯定是存在重叠的,可以有效进行关联分析,还可以对不同来源的数据相互补充。9.1
网络取证概述物理线路上的数据:物理线路主要是供主机与交换机之间、交换机与路由器之间的连接电缆,支持数字信号传输。需要进行取证时,可以在物理线路上搭接一条电缆,复制并保存通过电缆传输的网络数据流。目前,此类设备已经不再是利用物理电缆的搭线桥接方式,而是通过相应的网络数据接口设备来实现,如光纤传输的分光设备等。值得注意的是,在取证过程中,将电缆信号复制到另一台被动监听的主机上,尽量不要造成原始信号的衰减。9.1.3
网络取证的数据来源交换机和路由器等网络设备上的数据:交换机能把主机连接起来,形成局域网;路由器能将不同的局域网连接起来,形成更广泛的网络。交换机中有一张CAM(connectaddressablememory)表,记录了各个物理端口与各张网卡MAC地址的对应关系。路由器中有一张路由表,记录了路由器端口与其他所连接网络的映射关系。9.1.3
网络取证的数据来源服务器上的数据:网络取证的核心是服务器上的数据,主要的表现形式是日志、配置文件等。一般来说,主要的网络取证对象是各类服务器,如各类DHCP服务器、DNS服务器、认证服务器、应用服务器等。DHCP服务器分配IP地址时,一般会为这个事件创建一条日志,记录分配的IP地址、接收该IP地址的设备MAC地址,以及本次分配或更新的时间等信息,某些服务器还会记录相应系统的主机名等信息。DNS服务器会记录所有对IP地址或域名的查询以及相应的时间。认证服务器主要统一管理登录账号,提供集中式的登录认证服务,会把登录成功或失败以及其他相关的事件记录在日志里。应用服务器主要是数据库服务器、web服务器、电子邮件服务器等相关的网络应用的服务器,会记录相关应用的配置和运行数据。9.1.3
网络取证的数据来源其他辅助设备的数据:除上述的数据来源之外,还有IDS(入侵检测系统)、WAF(防火墙)、web代理等数据在进行电子数据取证的过程中也能发挥较大作用。如防火墙,目前的防火墙均具备详尽的日志功能,有些还有基础设施防护和IDS功能,通过配置,防火墙能在阻止或放行流量,在系统配置发生变化、出错和其他许多事件产生时生成日志,对网络取证具有较高价值。9.1.3
网络取证的数据来源9.2Keepongoingnevergiveup.Whateverisworthdoingisworthdoingwell.网络实时取证与分析9.2.1
数据包获取方法和途径1.ARP协议的抓包:ARP工作流程分两个阶段,一个是ARP请求过程,一个是ARP响应过程。在了解ARP协议的基础上,可以利用wireshark等抓包工具中的ARP捕获器直接捕获ARP的协议包。需要捕获ARP包时,可以在主机上执行ping命令,即可产生ARP包进行获取。9.2
网络实时取证与分析2.IP协议的抓包:TCP/IP协议定义了一个在互联网上传输的包,称为IP数据包。IP数据包时一个与硬件无关的虚拟包,由首部和数据两部分组成。首部主要包括版本、长度、IP地址等信息,数据部分一般用来传送其他协议,如TCP、UDP、ICMP等。在了解TCP/IP协议的基础上,可以利用wireshark等抓包工具的IP数据包捕获器直接捕获IP协议包。如打开一个网页,可以捕获到网页的相关DNS、TCP、HTTP等协议的包。这些包中,均包含了IP的头部信息。9.2.1数据包获取方法和途径3.UDP协议的抓包:UDP协议是一种无连接的协议。该协议用来支持需要在计算机间传输数据的网络应用,包括网络视频会议系统在内的众多C/S模式的网络应用。该协议使用底层的互联网协议来传送报文,同IP一样提供不可靠的无连接服务,也不提供报文到达确认、排序及流量控制等功能。在wireshark中,可以使用UDP数据包捕获器直接捕获UDP协议包。如打开一个QQ应用程序,只需要对QQ简单操作下,便会捕获到大量的UDP数据包。9.2.1数据包获取方法和途径4.TCP协议的抓包:TCP协议是一种面向连接的、可靠的、基于IP的传输层协议。在通信过程中采用了三次握手建立连接,通信结束后还需要断开连接。使用TCP协议传输数据时,每发送一个数据包均需要确认,如果数据包丢失,发送方就收不到确认包,于是便会重发这个数据包。在wireshark中,可以使用TCP数据包捕获器直接捕获TCP协议包。如打开一个网页,系统便会捕获到用于网页服务器通信的TCP数据包。9.2.1数据包获取方法和途径5.ICMP协议的抓包:ICMP协议是互联网控制报文协议。该协议是TCP/IP协议族的一个子协议,用于IP主机、路由器直接传递控制消息。控制消息主要有网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些消息虽然并不传输用户数据,但是对于用户的传递起着非常重要的作用。在wireshark中,可以使用ICMP数据包捕获器直接捕获ICMP协议包。如运行ping命令,系统就可以捕获ICMP包。同理,HTTP、HTTPS、FTP等协议的数据包抓取方式,与上述几种方法类似,可以使用wireshark中相应的协议数据包捕获器,再相关应用的进行数据包的抓取。9.2.1
数据包获取方法和途径9.2.2数据包分析的工具通过对数据包获取方式的介绍,可以了解数据包是基于相应协议的,在具体的抓包过程中,可以利用现有的一些常用软件工具进行抓包分析,从而获取有价值的电子数据。在介绍抓包工具之前,先介绍下谷歌浏览器自带的开发者工具或火狐浏览器的firebug,可以利用该工具进行基础的抓包,一般快捷键为F12。9.2
网络实时取证与分析图9-129.2.2
数据包分析的工具在工具栏中可以清楚当前的网络活动信息,也可以暂停记录网络活动信息。建议每次抓包前先清空原来的数据,然后刷新浏览器页面,当前的网络活动会自动记录到调试期中,包括HTML、CSS、JS、XHR、字体、图像、媒体、WS等内容。9.2.2
数据包分析的工具图9-139.2.2
数据包分析的工具在网络请求列表中可以看到服务器放回的状态码,访问的方式,域名等内容。通过分析后找到一个具体的请求,点击后可以在右侧看到请求头、响应头、cookie、参数、响应内容等信息。9.2.2
数据包分析的工具图9-149.2.2
数据包分析的工具在网络请求列表中可以看到服务器放回的状态码,访问的方式,域名等内容。通过分析后找到一个具体的请求,点击后可以在右侧看到请求头、响应头、cookie、参数、响应内容等信息。同时,也可以对每一个请求进行编辑后重新发送。图9-159.2.2
数据包分析的工具1.WiresharkWireshark是一款免费的网络封包分析软件,它支持在Windows、Linux、MacOS、Solaris、FreeBSD、NETBSD等多个平台运行,支持TCP、UDP、FTP、SMTP、USB等多个协议,是数据包抓取和分析的利器。(1)使用wireshark进行数据包抓取点击菜单栏中的捕获按钮,会跳出本机所有的网卡,选择需要捕获的数据对应的网卡后,点击开始后wireshark就自动开始抓取数据包。9.2.2
数据包分析的工具图9-169.2.2
数据包分析的工具(2)wireshark界面图9-179.2.2
数据包分析的工具Wireshark窗口主要分为以下几个部分:菜单栏包括文件、编辑、视图、跳转、捕获、分析、统计、电话、无线、工具、帮助等项目工具栏主要功能包括开始捕获分组、开始捕获、重新捕获、停止捕获、打开已捕获数据包、保存捕获数据包等功能过滤器默认情况下过滤器是用来过滤我们自定义设置的过滤规则,通过该功能可以快速过滤出我们关注的数据封包,例如http、ftp、tcp等常用协议的过滤,当然我们也可以使用过滤器表达式窗口提供的规则进行快速构造过滤条件。9.2.2
数据包分析的工具通过Ctrl+F可以将过滤器最大化,可以看到Wireshark也支持对十六进制值和字符串的过滤。图9-189.2.2
数据包分析的工具封包列表封包列表中有大量的封包,wireshark会根据抓包的时间自动对每一个封包进行编号,最终以编号、捕获时间、原始ip地址、目的ip地址、协议、封包长度、基本信息的格式一条条呈现在列表中。封包详细信息这里会显示每一个封包的具体信息,信息按照不同的层级进行了分组,通过展开查看可以获取原始设备和目的设备的ip、mac、端口号、传输协议等信息。Frame:物理层信息EthernetII:数据链路层信息InternetProtocolVersion4:互联网层信息TransmissionControlProtocol:传输层信息HypertextTransferProtocol:应用层信息9.2.2
数据包分析的工具图9-199.2.2
数据包分析的工具十六进制数据这里显示的数据是以16进制的形式展示每个封包的详细信息。数据包基本信息图9-209.2.2
数据包分析的工具这里会显示整个数据包的一些基本信息。点击第一个按钮可以使用wireshark的专家模式功能,即通过内置参数对各个封包的传输进行分析,并按照协议分为对话、注意、警告、错误4个等级提供给分析者作为参考。图9-219.2.2
数据包分析的工具9.2.2
数据包分析的工具点击第二个按钮可以分析整个数据包的基本信息,包括数据包文件名、大小、数据包格式、抓取时间、抓取接口、操作系统、封包数量等等。图9-229.2.2
数据包分析的工具(3)wireshark基本使用方法过滤捕获过滤使用wireshark可以设置特定的抓取规则,防止抓取无用的大量封包。具体可以在捕获》捕获过滤器中进行过滤规则的设置。基本语法:<Protocol><Direction><Host(s)><Value><LogicalOperations><Otherexpression>protocol:ip,tcp,udp,ftp,smtp,icmp,arp等direction:src,dst,srcanddst,srcordstHost(s):net,port,host,portrangeLogicalOperations:not,and,or(运算时从左至右,not级别最高,and与or级别相同)9.2.2
数据包分析的工具图9-239.2.2
数据包分析的工具显示过滤Wireshark会抓取所有经过网卡的数据,因此会有大量的数据封包,wireshark不仅可以设置捕获过滤规则,也可以设置显示过滤表达式规则,常用过滤方法举例如下:过滤协议tcporftp过滤出tcp或ftp协议的封包9.2.2
数据包分析的工具图9-249.2.2
数据包分析的工具ip地址过滤ip.src==88过滤出原始ip为88的封包ip.dst==0过滤出目的ip为0的封包端口过滤tcp.port==80过滤出tcp协议端口为80的封包tcp.srcport==80过滤出tcp协议原始端口为80的封包tcp.dstport==80过滤出tcp协议目的端口为80的封包方法过滤http.request.method=="GET"过滤出http协议get方法的封包http.request.method=="POST"过滤出http协议post方法的封包逻辑运算符过滤Wireshark支持not,or,and运算符,其中not优先级大于or,or的优先级等于and,整个运算顺序是从左至右。9.2.2
数据包分析的工具9.2.2
数据包分析的工具数据流追踪通过过滤分析出关键封包后,点击右键追踪tcp流可以找到完整的请求,通过分析发现向20服务器上传了一张jpg,我们将该数据流导出,通过winhex或010editor进行文件格式整理就能获取到这张照片。图9-259.2.2
数据包分析的工具图9-269.2.2
数据包分析的工具通过过滤ftp相关内容和流追踪发现上传了一个rar文件,继续过滤ftp-data后发现rar的十六进制值,将其导出即可还原rar文件。图9-279.2.2
数据包分析的工具图9-289.2.2
数据包分析的工具统计功能在大流量尤其是企业的数据包分析情景时,抓取的数据包往往是几十G到几百G,如何快速的对整个数据包进行概况分析呢?Wireshark为提供了很多的统计方法。协议分级该功能可以对整个数据包各层级的协议进行树形结构展示,通过分析我们可以快速掌握这个数据包中各个协议在各个层级所占比例。9.2.2
数据包分析的工具图9-299.2.2
数据包分析的工具图9-30会话分析该功能可以将每一层的协议分离出来,对会话进行分别统计,快速掌握哪些节点使用什么方式进行通信,特别是服务器遭遇扫描的时候,使用该功能可以快速发现攻击主机。9.2.2
数据包分析的工具IPV4或IPV6统计该功能可以分组统计整个数据包中出现的ip次数,从而发现大量访问的可疑IP作为进行服务器取证的重点分析对象。图9-319.2.2
数据包分析的工具针对HTTP协议的统计PacketCounter针对数据包中的HTTP协议的请求方法和响应情况进行了统计。从图中可以快速判断是否有get或post敏感访问,为下一步分析做好准备。图9-329.2.2
数据包分析的工具Requests则是针对数据包中的域名请求进行分析。图9-339.2.2
数据包分析的工具解密SSL借助wireshark可以对大部分数据进行捕获并分析,然而当碰到的是用SSL/TLS等加密手段加密过的网络数据时,即使抓取到数据包,但是还是不能获得解密的内容。在我们对HTTPS的网站抓包时,抓取的内容只能看到加密的内容,借助wireshark可以对sslSSL协议进行解密。9.2.2
数据包分析的工具图9-349.2.2
数据包分析的工具首先现在环境变量中新增名为SSLKEYLOGFILE的环境变量,并制定具体路径用来保存sslSSL会话的私钥日志。然后关闭当前浏览器,重启浏览器后访问一个https的网站,此时秘钥文件已经保存到本地。9.2.2
数据包分析的工具图9-359.2.2
数据包分析的工具在wireshark中选择编辑—首选项,在协议列表中找到SSL然后配置SSL秘钥日志文件图9-369.2.2
数据包分析的工具图9-379.2.2
数据包分析的工具在Wireshark中设置好配置后,开始抓取数据包,然后过滤出ssl协议后选择一个会话,然后在十六进制数值里面选择解密ssl数据,就可以看到https传输的内容了。图9-389.2.2
数据包分析的工具对象导出Wireshark可以快速导出DICOM、HTTP、SMP、TFTP的对象内容。图9-399.2.2
数据包分析的工具例如这个数据包中通过upload.php上传的文件,通过导出对象可以获取upload.php页面以及上传的文件内容。图9-409.2.2
数据包分析的工具流量包清洗在面对大流量数据包分析的时候,如果直接使用Wireshark打开数据包进行过滤需要消耗大量的时间和性能,因此我们可以使用wireshark自带的工具进行数据清洗.Mergecap:用于将多个数据包合并成为一个数据包。示例一:mergecap-woutput.pcapa.pcapb.pcapc.pcap将a、b、c三个数据包按照时间戳顺序合并成output.pcapmergecap-aoutput.pcapa.pcapb.pcapc.pcap将a、b、c三个数据包按照数据包顺序合并成output.pcap Editcap:用于过滤数据包生成一个新的数据包9.2.2
数据包分析的工具示例二:
editcap-A'2018-05-1216:51:37'-B'2018-05-1217:54:09'origin.pcapfilter.pcap
将origin.pcap中的数据包中时间为'2018-05-1216:51:37'至'2018-05-1217:54:09'的数据包保存成filter.pcap editcap-i30origin.pcapfilter.pcap
将origin.pcap按照每30秒分割数据包Tshark:Tshark是wireshark的命令行版本,通过命令行简便高效的实现过滤功能9.2.2
数据包分析的工具示例三:Tshark-rmail.pcap-Ypop||smtp||http-wresult.pcap读取mail.pcap,使用-Y参数过滤出pop、smtp和http协议的数据包,并保存到result.pcap由此可与看出,wireshark的优点非常明显,支持解析的协议多、统计方法多、支持数据包格式多、抓的是网卡中所有流量、数据流追踪,同时也存在缺点,即导出文件不方便。9.2.2
数据包分析的工具(4)wireshark数据包分析方法网络分析只抓包头在进行网络分析时往往只需要知道两个节点是不是能够联通,具体的传输信息并不重要,所以抓包的时候可以设置只抓包头,这样就大大减少了数据包的大小,有利于数据分析。设置方法:Capture(捕获)—Options(选项)—Snaplen(Snap长度)。将这个值设置200以下就可以抓到所有网络层次的头信息了。另外也可以直接点击任务栏里的快捷键,快速设置。9.2.2
数据包分析的工具图9-419.2.2
数据包分析的工具只抓必要的包。可以设置抓包的filter,只抓一些感兴趣的包。设置方法:Capture(捕获)-->Options(选项)-->CaptureFilter(捕获过滤器)在输入框里输入规则,然后点击开始即可,比如输入dsthost7(捕获目标主机为7的数据包)7是ping的ip地址,不同地理位置ping的ip可能不一样,然后浏览器访问百度就可以看到我们想要的捕获结果。9.2.2
数据包分析的工具图9-429.2.2
数据包分析的工具过滤。使用过滤规则进行数据包筛选是Wireshark最强大的功能之一,比如如果知道问题发生的具体协议就可以以协议名称过滤。使用协议过滤时要注意协议之间的依赖性,比如NFS共享挂载失败,问题可能发生在挂载所用的mount协议,也可能发生在mount之前的portmap协议。然后就是IP+端口的方式,一个比较简单的方法就是可以在感兴趣的数据包上右键然后点击“追踪流”,就可以看到与这对ip和端口的全部通信。也可以在相应的包上右键-->ApplyasFilter(作为过滤器应用)-->Selected(选中),Wireshark就可以自动生成相应的过滤规则。这里给出一些常用的规则。9.2.2
数据包分析的工具图9-439.2.2
数据包分析的工具过滤IP:IP源地址:ip.src==IP目的地址:ip.dst==IP地址(包括源和目的):ip.addr==过滤端口:TCP端口:tcp.port==80TCP目的端口:tcp.dstport==80TCP源端口:tcp.srcport==80UDP端口:udp.porteq15000TCP1-80之间的端口:tcp.port>=1andtcp.port<=809.2.2
数据包分析的工具过滤协议:http、tcp、udp、arp、icmp、http、smtp、ftp、dns等。过滤MAC地址:源MAC地址:eth.src==A0:00:00:04:C5:84目的MAC地址:eth.dst==A0:00:00:04:C5:84MAC地址(包括源和目的):eth.addr==A0:00:00:04:C5:84过滤包长度:整个UDP数据包:udp.length==20TCP数据包中的IP数据包:tcp.len>=20整个IP数据包:ip.len==20整个数据包:frame.len==209.2.2
数据包分析的工具HTTP模式过滤:请求方法为GET:http.request.method==“GET”请求方法为POST:http.request.method==“POST”指定URI:http.request.uri==“/img/logo-edu.gif”请求或相应中包含特定内容:httpcontains“FLAG”9.2.2
数据包分析的工具自动分析。Wireshark有强大的统计分析功能,可以帮助分析人员快速统计出一些基本信息。比如点击Analyze(分析)-->ExpertInfoComposite(专家信息),就可以看到数据包的中的一些不同级别的信息统计,包含重传次数、链接建立次数、网络错误等,在分析网络性能时这个功能很有作用。9.2.2
数据包分析的工具图9-449.2.2
数据包分析的工具单击Statistics(统计)-->TCPStreamGraph(TCP流图形),可以生成一些统计图表,比如下图表示171到192的数据传输过程,水平线表示短暂的停止过程。9.2.2
数据包分析的工具图9-459.2.2
数据包分析的工具此外还可以统计分层信息、网络会话列表、网络端点列表、ip地址统计列表、应用层数据包信息等。搜索。按“Ctrl+F”Wireshark也可以进行关键字搜索,选择“分组详情”后才可以搜索数据包中的内容,这样的搜索可以在CTF中也许会有意外收获。使用技巧下面每一种对应的操作都会给出一到几个例子,帮助大家快速上手。搜索。尽管可以只将pcap数据包当做文本文件打开,比如用一些notepad++编辑器,然后直接搜索。在这里建议使用Wireshark自带的搜索功能找尝试查找一些关键词(比如key、shell、pass等),往往直接搜索就能有意外收获。通过这些关键词,可以发现可疑的数据包,然后根据数据包特征,发现一些异常的网络访问,如利用菜刀连接一句话木马的数据包,然后往下找,发现木马入侵的痕迹。9.2.2
数据包分析的工具文件提取假如需要分析是否有人偷偷下载了文件,很明显可以联想到可能数据包中存在文件传输。可以在wireshark中选择File(文件)—ExportObjexts(导出对象),然后可以看到一些协议,比如选中http就可以看到通过http传输的一些文件,在右下角有导出按钮,可生生成相应的文件。信息提取使用Tshark,Tshark是命令行版的Wireshark,相对于Wireshark它有更好地灵活性,结合脚本程序可以发挥巨大的威力,在安装Wireshark的时候就默认安装了Tshark。9.2.2
数据包分析的工具在使用时可以运行-h参数,也可以参考官方文档/docs/mans/tshark.html。常用的参数为:-s512:只抓取前512个字节-ieth0:监听eth0网卡-z:可以进行各种信息的统计,比如下面这条命令,统计每一秒钟里由ip为的28主机发出的http请求的次数(tshark-zio,stat,1.00,http&&ip.src==28)Tshark程序在监听的时候会不断输出拦截的数据信息,最后终止的时候则会给出一个报表,这些统计信息都可以直接写入报告或直接导入excel进行下一步处理。9.2.2
数据包分析的工具(4)wireshark错误提示很多新手在开始学习Wireshark时,都会遇到提示的错误信息。一般来说,提示信息较有价值,对于初学者来说,如果能理解这些提示所隐含的意义,学起来定能事半功倍。Packetsizelimitedduringcapture当你看到这个提示,说明被标记的那个包没有抓全。以图84下图的4号包为例,它全长有171字节,但只有前96个字节被抓到了,因此Wireshark给了此提示。9.2.2
数据包分析的工具图9-469.2.2
数据包分析的工具这种情况一般是由抓包方式引起的。在有些操作系统中,tcpdump默认只抓每个帧的前96个字节,可以用“-s”参数来指定想要抓到的字节数,比如下面这条命令可以抓到1000字节。[root@my_server/]#tcpdump-ieth0-s1000-w/tmp/tcpdump.capTCPPrevioussegmentnotcaptured在TCP传输过程中,同一台主机发出的数据段应该是连续的,即后一个包的Seq号等于前一个包的Seq+Len(三次握手和四次挥手是例外)。如果Wireshark发现后一个包的Seq号大于前一个包的Seq+Len,就知道中间缺失了一段数据。假如缺失的那段数据在整个网络包中都找不到(即排除了乱序),就会提示“TCPPrevioussegmentnotcaptured”。比如在图85下图这个例子中,6号包的Seq号1449大于5号包的Seq+Len=1+0=1,说明中间有个携带1448字节的包没被抓到,它就是“Seq=1,Len=1448”。9.2.2
数据包分析的工具图9-479.2.2
数据包分析的工具网络包没被抓到还分两种情况:一种是真的丢了;另一种是实际上没有丢,但被抓包工具漏掉了。在Wireshark中如何区分这两种情况呢?只要看对方回复的确认(Ack)就行了。如果该确认包含了没抓到的那个包,那就是抓包工具漏掉而已,否则就是真的丢了。顺便分析一下图85对上图中的这个网络包进行分析,它是HTTPS传输异常时在客户端抓的。因为“Len:667”的小包(即6号包)可以送达,但“Len:1448”的大包却丢了,说明路径上可能有个网络设备的MTU比较小,会丢弃大包,只要把整个网络路径的MTU保持一致,问题就消失了。9.2.2
数据包分析的工具TCPACKedunseensegment当Wireshark发现被Ack的那个包没被抓到,就会提示“TCPACKedunseensegment”。这可能是最常见的Wireshark提示了,幸好它几乎是永远可以忽略的。以图86下图为例,32号包的Seq+Len=6889+1448=8337,说明服务器发出的下一个包应该是Seq=8337。而我们看到的却是35号包的Seq=11233,这意味着8337~11232这段数据没有被抓到。这段数据本应该出现在34号之前,所以Wireshark提示了“TCPACKedunseensegment”。9.2.2
数据包分析的工具图9-48不难想象,在一个网络包的开头会经常看到这个提示,因为只抓到了后面的Ack但没抓到前面的数据包。9.2.2
数据包分析的工具TCPOut-of-Order在TCP传输过程中(不包括三次握手和四次挥手),同一台主机发出的数据包应该是连续的,即后一个包的Seq号等于前一个包的Seq+Len。也可以说,后一个包的Seq会大于或等于前一个包的Seq。当Wireshark发现后一个包的Seq号小于前一个包的Seq+Len时,就会认为是乱序了,因此提示“TCPOut-of-Order”。如图87下图所示,3362号包的Seq=2685642小于3360号包的Seq=2712622,所以就是乱序。9.2.2数据包分析的工具图9-49小跨度的乱序影响不大,比如原本顺序为1、2、3、4、5号包被打乱成2、1、3、4、5就没事。但跨度大的乱序却可能触发快速重传,比如打乱成2、3、4、5、1时,就会触发足够多的DupACK,从而导致1号包的重传。9.2.2
数据包分析的工具TCPDupACK当乱序或者丢包发生时,接收方会收到一些Seq号比期望值大的包。它每收到一个这种包就会Ack一次期望的Seq值,以此方式来提醒发送方,于是就产生了一些重复的Ack。Wireshark会在这种重复的Ack上标记“TCPDupACK”。以图88下图为例,服务器收到的7号包为“Seq=29303,Len=1460”,所以它期望下一个包应该是Seq+Len=29303+1460=30763,没想到实际收到的却是8号包Seq=32223,说明Seq=30763那个包可能丢失了。因此服务器立即在9号包发了Ack=30763,表示“我要的是Seq=30763”。由于接下来服务器收到的10号、12号、14号也都是大于Seq=30763的,因此它每收到一个就
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学习中国共产党历史的思政意义试题及答案
- 2024年度黑龙江省高校教师资格证之高等教育心理学自我提分评估(附答案)
- 2024年度黑龙江省高校教师资格证之高等教育法规过关检测试卷A卷附答案
- 大学语文人际交往能力测试与试题及答案
- 高职单招语文基础知识应用之成语集锦
- (高清版)DB12∕T 637-2016 天津市行政许可事项操作规程 出版物批发单位设立、变更许可-变更许可
- 通过试题及答案提高消防设施操作能力
- 2025年高精度二维伺服系统合作协议书
- 四年级数学上册教案- 一 升和毫升 -苏教版(无答案)
- 山东省滨州市惠民县2022-2023学年三年级上学期期末考试科学试题含答案
- 2025年安全教育培训考试题库(基础强化版)应急救援知识试题
- T-GDNS 013-2024 数智校园多业务全光承载网建设规范
- 如何撰写社科课题申报书
- 2025年安徽冶金科技职业学院单招职业技能考试题库含答案
- 风电场现场服务安全操作规程
- 公交车驾驶员心理健康对驾驶行为的影响
- 2025年河南经贸职业学院单招职业技能测试题库及参考答案
- 北师大版九年级数学下册《圆》课件
- 《电梯结构与原理》课件 项目八:自动扶梯和自动人行道的结构认知
- 2025-2030年中国纳米氧化铝市场竞争格局及前景趋势预测报告
- 2025年个人中介服务合同标准版本(三篇)
评论
0/150
提交评论