在抓包分析TCP创建连接以前首先了解下计算机的网络通讯的模型,我相信学习过计算机网络的都比较熟悉,以下图所示是一个OSI七层模型、TCP/IP四层模型以及五层模型的对比图。(此图来源于计算机网络第七版-谢希仁版本书)。服务器
其中OSI模型以及TCP/IP的模型大伙都应该熟悉,至于说五层模型,就是讲网络接口层分红 数据链路层、和物理层,关于这个问题,谢老这么解释的网络
此图来源于https://www.jianshu.com/p/c793a279f698 不定很是准确,参考tcp
我使用版本Version 1.4.9 ,工具备好多好比Sniffer等等,这个工具本身解决工具
双击打开本软件--点击接口列表或者单击这个图标 ,弹出网卡监听的界面对话框,能够选择对应的网卡监听、鼠标点击ip地址能够从IPV4与IPV6相互切换,点击开始便可。学习
点击开始便可监听该网卡所流通过的数据测试
我使用俩台机器来测试抓取报文 以下图所示,服务开启端口为4455,客户端随机开启一个 我测试过程当中的为40183加密
能够看到头部的Filter 过滤规则、若是为空白,则会将流经本网卡的全部数据均监听采集上来,为了方便抓取咱们所须要的数据包,咱们须要过滤掉无关的消息计算机网络
过滤规则3d
例如:ip.src == 192.168.0.109 or ip.dst == 192.168.0.109 and tcp 表示ip地址来源是192.168.0.120 或者ip地址目的为192.168.0.120而且通讯协议是tcpblog
我输入的是:tcp.srcport == 4455 or tcp.dstport == 4455 表示只查看目的端口和来源端口为4455的信息
过滤报文以下
过滤规则也有说明打击表达式能够查看别的规则语法
TCP的三次握手
包数据
TCP的三次握手创建连接图(此图依然来源于计算机网络-谢希仁)
由上图能够看出TCP的连接三次握手信号的过程 A为客户端,B为服务器
创建过程的描述请看谢老的讲述、以及报文抓取截图中的信号
TCP连接释放报文交互信息
TCP连接释放的过程,也就是一般说的四次挥手
为了可以更加清晰的看清楚TCP连接过程的状态变化状况,以及状态之间的关系下图介绍了TCP的有限状态机
开启客户端和服务端程序而且启动服务的监听