(1)TCP首部格式

源端口:   用来传输数据报的端口

目标端口: 数据包将要发送到的端口

序号: 用来表示一个TCP片段。这个值用来表示数据流中的部分数据没有丢失

确认号:  表示通信中希望从另一个设备得到的下一个数据包的序号

数据偏移: 表示此块数据在整块数据中的偏移

保留: 包括Reserved, Nonce, CWR和ECN-Echo,共6个比特位

标记:用来表示所传输的TCP数据包类型。该字段中可用的标记包括URG, ACK, PSH, RST,    SYN, FIN

窗口: TCP接受者缓冲区的大小

检验和: 用来保证TCP首部和数据部分的完整性

紧急指针: 如果设置了URG位,这个值将被检查作为额外的指令

选项: 各种可选的域,可以在TCP数据包中进行指定

上面提到了TCP传输时,可用的标记有URG, ACK, PSH, RST, SYN, FIN。 下面分别介绍这几个标记

URG:    紧急标志。此标志表示TCP包的紧急指针域有效,用来保证TCP连接补被中断。

ACK:     确认标志。此标志表示应答域有效。1表示应答域有效,0表示无效

PSH:    此标志表示Push操作,所谓Push操作就是指在数据包到达接收端以后,立刻传送到应用程序,而不在缓冲区排队。

RST:    该标志表示连接复位请求。

SYN:    表示同步序号,用来建立连接。SYN标志位和ACK标志位搭配使用。当连接请求时SYN=1, ACK=0。 当连接被响应的时候,SYN=1, ACK=1.

FIN:     表示发送端已经达到数据的末尾,也就是说双方的数据传输完成,没有数据可以传输了。此时发送FIN标志位的TCP数据包后,连接将被断开。

(2)捕获TCP数据包

  TCP 端口
·1~1023 :标准端口组,特定服务会用到标准端口。
·1024~65535 :临时端口组,操作系统会随机地选择一个源端口让某个通信单独使用。

(3)TCP三次握手

第一次握手:SYN=1、ACK=0

第二次握手:Syn=1,Ack=1,Seq number=0,Ack number=1

第三次握手: Ack=1,Seq number=1,Ack number=1

(4)TCP的四次断开

(5)登陆成功,用户名和密码都是明文传输,显示Location字段

红色部分是客户端向服务器发送的请求

蓝色部分是服务器发送给客户端的数据

(6)登陆失败,并不显示Location字段

Wireshark分析之TCP协议(二)的更多相关文章

  1. 2.wireshark分析之TCP协议(一)

    (1) TCP是怎么样的协议? TCP是一种面向连接(连接导向)的.可靠的基于字节流的传输层通信协议.TCP将用户数据打包成报文段,它发送后启动一个定时器,另一端收到的数据进行确认.对失序的数据重新排 ...

  2. TCP协议(二)——TIME_WAIT状态

    当TCP主动关闭套接字时,采用四步握手机制来彻底关闭连接.如图: 客户端主动关闭连接,发送FIN段到服务端.TCP状态由ESTABLISHED(连接状态)转为FIN_WAIT1(表示,发送的FIN需要 ...

  3. [转]使用wireshark分析TCP/IP协议中TCP包头的格式

    本文简单介绍了TCP面向连接理论知识,详细讲述了TCP报文各个字段含义,并从Wireshark俘获分组中选取TCP连接建立相关报文段进行分析. 一.概述 TCP是面向连接的可靠传输协议,两个进程互发数 ...

  4. FTP协议的粗浅学习--利用wireshark抓包分析相关tcp连接

    一.为什么写这个 昨天遇到个ftp相关的问题,关于ftp匿名访问的.花费了大量的脑细胞后,终于搞定了服务端的配置,现在客户端可以像下图一样,直接在浏览器输入url,即可直接访问. 期间不会弹出输入用户 ...

  5. wireshark tcp 协议分析 z

    虽然知道wireshark是抓包神器,只会大概大概用一下,还用一下下tcpdump,略懂一点BPF过滤器,也知道一点怎么用 wirkshark过滤相关的报文,但是对于详细的字段的含义,如何查看TCP的 ...

  6. wireshark tcp 协议分析

      虽然知道wireshark是抓包神器,只会大概大概用一下,还用一下下tcpdump,略懂一点BPF过滤器,也知道一点怎么用wirkshark过滤相关的报文,但是对于详细的字段的含义,如何查看TCP ...

  7. Wireshark抓包分析TCP协议

      版权声明:本文为作者原创文章,可以随意转载,但必须在明确位置表明出处!!! 之前有一篇文章介绍了http协议「初识http协议」, http协议协议是基于tcp协议的,所以作者觉得有必要针对tcp ...

  8. TCP协议基础知识及wireshark抓包分析实战

    TCP相关知识 应swoole长连接开发调研相关TCP知识并记录. 数据封包流程 如图,如果我需要发送一条数据给用户,实际的大小肯定是大于你发送的大小,在各个数据层都进行了数据的封包,以便你的数据能完 ...

  9. Linux网络编程--wireshark分析TCP包头的格式

    摘要:     本文简介了TCP面向连接理论知识,具体讲述了TCP报文各个字段含义.并从Wireshark俘获分组中选取TCP连接建立相关报文段进行分析. 一.概述     TCP是面向连接的可靠传输 ...

随机推荐

  1. 【Java面试题】55 说说&和&&的区别。

    &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false. ...

  2. 微信绑定用户服务端代码-根据code获取openId然后绑定用户

    目录结构: isa.qa.core.weixin.message.resp包和isa.qa.core.weixin.util包中为微信绑定的工具类,就不一一贴出代码,详见附件,下载地址: http:/ ...

  3. 阿里云ACE下的PHP开发环境搭建

    阿里云ACE下的PHP开发环境搭建 本系列文章由ex_net(张建波)编写.转载请注明出处. http://blog.csdn.net/ex_net/article/details/23999053 ...

  4. js 停止事件冒泡 阻止浏览器的默认行为

    在前端开发工作中,由于浏览器兼容性等问题,我们会经常用到“停止事件冒泡”和“阻止浏览器默认行为”. 浏览器默认行为: 在form中按回车键就会提交表单:单击鼠标右键就会弹出context menu. ...

  5. select2 选择框插件

    <select id="selBusi_type"><select> //初始化业务类型下拉 var initBusiTypeSel = function( ...

  6. HLS图像处理系列——肤色检測

    本博文採用Xilinx HLS 2014.4工具.实现一个肤色检測的模块.当中,本文重点是构建HLS图像处理函数. 新建HLSproject的步骤,本博文不再详述. 本project新建之后,仅仅加入 ...

  7. HTML&CSS精选笔记_表格与表单

    表格与表单 表格标记 创建表格 要想创建表格,就需要使用表格相关的标记 <table>     <tr>     <td>单元格内的文字</td>   ...

  8. python常用内置模块,执行系统命令的模块

    Subprocess模块 python3.5将使用Subprocess模块跟操作系统进行交互,比如系统命令,他将替换 os.system os.spawn* subprocess.run()方法封装的 ...

  9. Anfroid 在界面中显示图片 ImageView

    ImageView1.什么是ImageView是显示图片的一个控件2.ImageView属性android:src ImageView的内容颜色 android:background ImageVie ...

  10. PyQt4预定义对话框

    PyQt4中的对话框 对话窗口和对话框是现代GUI应用程序必不可少的一部分.生活中“对话”被定义为发生在两人或更多人之间的会话.而在计算机世界,“对话”则时人与应用程序之间的“会话”.人及对话的形式有 ...