大东话安全实战篇 Wireshark数据抓包分析之传输层协议(TCP协议)
2018/9/21 14:27:06 中科院计算所

     一、小白剧场

     小白:每每看到身边的怪咖使的那些奇技淫巧,我就羡慕嫉妒。

     大东:又咋啦?

     小白:一次我的女神有个文件弄丢了,我特意学了一招文件还原,还没来得及在女神面前秀一下,今天又被别人抢了风头,好气哇。

     大东:学艺切忌心浮气躁,如果你抱着耍帅的目的来学技术,那只会停留在花拳绣腿的水平。

     小白:让东哥见笑了。我会心无旁骛,安心修炼。

     大东:你刚说了文件还原是吧。今天再续你一层功力,教你分析TCP协议。

     小白:还是利用wireshark工具进行TCP协议分析么?

     大东:对。Wireshark是一个很出名的数据包分析工具。这个工具在过去几年获得过多个奖项,它是观察TCP/IP异常流量的最佳方法。

     二、实战前的准备

     大东:要学好今天的实验,还有一些预备知识要考考你。

     小白:嗯嗯,请出题。

     大东:貌似有备而来啊。好,讲讲你所知道的TCP协议。

     小白:使用TCP协议传输数据更安全,因为通信双方拥有一个专属的通信通道,每发送一个数据包都有确认回复,若数据包丢失。如果发送放没收到确认包,就可以重发这个数据包。

     大东:没错。最经典的例子就是三次握手。

     小白:我知道!三次握手是通信双方建立TCP连接前的必须步骤。第一次握手时请求方向接收方发送友好问候,请求建立连接。第二次握手接收方礼貌回复,表示收到请求。第三次握手请求方坚定交往信息,向接收方表示已做好了连接准备。于是双方的TCP连接就建好啦~

     大东:很好。完成三次握手后,双方就可以开始传输数据了。当然,握手很严谨,说再见也是一丝不苟的。详细内容可以在合天网安实验室(http://www.hetianlab.com/)里搜索《Wireshark数据抓包分析之传输层协议(TCP协议)》了解。下面开始实战。

     三、握手与再见

     大东:根据合天网安实验室已经搭建好的实验环境,本次实战步骤如下:

     1.在测试环境使用发包工具和Wireshark抓取TCP三次握手和四次断开的数据包

     2.详细分析TCP协议的三次握手以及四次断开。

     小白:我。。说的明明都是中文,为啥我就没听懂呢?

     大东:翻译成人话,本次懂任务可以拆分成:安装发包工具,配置TCP客户端(请求方),服务端(接收方),与学习Wireshark软件懂使用。

     小白:噢~那咱开始吧~

     大东:我们使用"TCP&UDP测试工具"来制作和发送TCP数据包,双击实验机器桌面的"TCP&UDP测试工具",会出现下图显示页面:

    

     小白:已双击~

     大东:下面我们需要配置TCP的服务端以及客户端。首先配置服务器端:选择地址为10.1.1.33的机器,双击桌面的" TCP&UDP测试工具",右键点击服务器模式,在下拉列表中,选择创建服务器,如下图:

    

     选择"创建服务器"之后,会弹出服务器端口设置,本次使用默认工具给的6000端口即可,点击"确定"按钮。

    

     点击"确定"按钮之后,在左侧的服务器模式列表中,会出现创建的列表,选择我们创建的服务器,右键点击,选择"启动服务器",即完成了服务器端的配置。

    

     小白:顺利完成~

     大东:接下来配置客户端,步骤与前面的类似:选择地址为10.1.1.142的机器,双击桌面的" TCP&UDP测试工具",右键点击客户端模式,在下拉列表中,选择"创建连接",如下图:

    

     在弹出的窗口中,选择TCP协议,服务器IP为10.1.1.33.端口6000,本机随意IP,如下图:

    

     点击创建后,如下图:

    

     小白:配置好啦~

     大东:那么我们看看Wireshark软件获取到的客户端与服务器端之间发送到TCP数据包吧。

     小白:摩拳擦掌!

     大东:获取的TCP协议的数据包分为两部分,即TCP三次握手,四次断开的数据。在实际的操作中,我们往往还会抓到除了目标地址之外往来到数据包,因此先使用过滤器过滤一下IP源,方便我们查看。

     小白:好的!

     大东:那操作来咯:启动Wireshark,在Filter中输入tcp,点击Apply会看到很多的数据包,这是因为测试环境中,有很多的应用程序,与其服务器连接,使用TCP协议。如下图:

    

     在这里,我们已知两台机器的IP情况下,可以在filter中输入"ip.addr == 10.1.1.142 and ip.addr == 10.1.1.33"来过滤出我们想要的数据,点击工具中的"连接"按钮。如下图:

    

     小白:wow~真的呢~

     大东:

    

     在上图中,70,73,74帧是tcp的三次握手,428,429,430,431帧是四次断开的数据。

     四、分析握手

     大东:通过前面到工作,我们已经找到了想要的数据包,接下来我们将对TCP的三次握手进行详细分析。

     小白:来吧~

     大东:首先我们看TCP包的首部。TCP首部的通用格式如下图所示:

    

     在上面的图中,标出了每一个字段,咱今天就说说比较重要的源端口、目标端口、标记。

     小白:看不懂啊~

     大东:别急。源端口表明了发送方的输出端口号。目标端口表示数据包进入接收方的端口号端口对上了,才能正确地将数据包传达。标记用来表示所传输的TCP数据包类型,包括URG、ACK、PSH、RST、SYN和FIN,其中SYN表示同步序号,使用在建立连接时;ACK是确认标志,表示应答域有效,就是前面所说的接收方对请求方的问候表示礼貌致意;FIN表示发送端以及达到数据末尾,此时双方就准备挥手告别了。

     小白:明白了!

     大东:那么接下来咱具体分析下三次握手。

     小白:干货来了!

     大东:TCP第一次握手,捕获的数据包信息如下所示:

    

     从Wireshark的Packet List面板中的Info列可以看到显示的TCP标志位是SYN,所以该数据包是客户端向服务器发送的第一次握手连接。在Packet Details面板中,显示了该包的详细信息,下面详细介绍。

    

     以上信息,表示该包的大小为62个字节。

    

     以上内容表示源IP是10.1.1.142,目的IP为10.1.1.33。

    

     以上内容是传输层首部的详细信息,这里使用TCP协议,其中源端口为56678,目标端口为6000。

     更多详细的信息,可以进入合天实战实验课程查询。

     小白:噢~原来是这样~

     大东:接下来是第二次握手,TCP第二次握手捕获数据包相信信息,如下:

    

     在该界面显示了第二次握手数据包的详细信息,其中位于TCP上面的信息与第一次握手时相类似,留给小白你课后照着上面的分析独立思考。

     小白:保证搞定~

     大东:同样地,第三次握手你也一定没问题,看下图:

    

     小白:于是这样就完成了TCP连接的建立啦~

     五、再来看看再见

     大东:TCP的四次断开,也是TCP协议的主要工作之一。

     小白:那咱也看看四次分手,偶不,四次断开~

     大东:TCP第一次断开连接的数据包如下:

    

     在该界面显示了TCP第一次断开,数据包的详细信息,是不是和握手时的数据包很像?

     小白:真的很像!

     大东:这里可以看到客户端向服务器发送FIN和ACK标志的数据包开始断开连接,其中FIN和ACK标志位都为1。

     小白:FIN是1表示要分手啦~

     大东:在TCP第二次断开连接的数据包是服务器向客户端发送的ACK包,其中ACK标志位为1。

    

     TCP第三次断开连接的数据包是服务器向客户端发送的FIN和ACK包。其中FIN和ACK标志位为1。

    

     TCP第四次断开连接的数据包,客户端向服务器发送ACK的包。其中,ACK标志位都为1。

    

     小白:噢,三次握手和四次断开,让我回去再上个实验课程细细回味下!

     六、大东鸣金

     小白:不得不说,这次实验的信息量有点大呢,比之前的内容要多不少!

     大东:确实,本次实验内容较为详细,从TCP由来,端口,握手,断开等几个方面介绍,要多复习一下哦!

     小白:这次实验确实很有价值,相比于UDP协议,TCP协议在安全性上提升了很多,加强了我的网络安全意识呢!

     大东:是的,网络安全十分重要,所以我们每一个环节都要保证安全。

     小白:感谢大东这次的实战讲解,我回去要好好巩固!

     大东:加油!虽然本次实验介绍的仅仅是TCP协议,但是内容较多,你要好好理解和学习。

     大东,何许人也:翟立东,博士,副研究员,中科院计算所网络数据科学与技术重点实验室大数据与信息安全组组长,中国网络空间安全协会理事,竞评演练工作委员会常务副秘书长,大数据安全人才培养基地负责人。主要研究方向为大数据隐私保护和网络安全。

     曾参与国家科技部十二五、十三五信息技术领域“网络与信息安全”方向的科技战略规划,作为课题负责人承担科技部、发改委、中科院战略先导专项、中科院重点项目等多项课题。作为课题负责人参与多项网络空间安全战略规划与研究。

     一直致力于网络安全的科普传播工作,本专栏大东话安全,即凝注了翟立东团队对网络安全科普工作的心血和愿景。

    

    

    http://weixin.100md.com
返回 中科院计算所 返回首页 返回百拇医药