Wireshark分析之TCP协议(二)
(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协议(二)的更多相关文章
- 2.wireshark分析之TCP协议(一)
(1) TCP是怎么样的协议? TCP是一种面向连接(连接导向)的.可靠的基于字节流的传输层通信协议.TCP将用户数据打包成报文段,它发送后启动一个定时器,另一端收到的数据进行确认.对失序的数据重新排 ...
- TCP协议(二)——TIME_WAIT状态
当TCP主动关闭套接字时,采用四步握手机制来彻底关闭连接.如图: 客户端主动关闭连接,发送FIN段到服务端.TCP状态由ESTABLISHED(连接状态)转为FIN_WAIT1(表示,发送的FIN需要 ...
- [转]使用wireshark分析TCP/IP协议中TCP包头的格式
本文简单介绍了TCP面向连接理论知识,详细讲述了TCP报文各个字段含义,并从Wireshark俘获分组中选取TCP连接建立相关报文段进行分析. 一.概述 TCP是面向连接的可靠传输协议,两个进程互发数 ...
- FTP协议的粗浅学习--利用wireshark抓包分析相关tcp连接
一.为什么写这个 昨天遇到个ftp相关的问题,关于ftp匿名访问的.花费了大量的脑细胞后,终于搞定了服务端的配置,现在客户端可以像下图一样,直接在浏览器输入url,即可直接访问. 期间不会弹出输入用户 ...
- wireshark tcp 协议分析 z
虽然知道wireshark是抓包神器,只会大概大概用一下,还用一下下tcpdump,略懂一点BPF过滤器,也知道一点怎么用 wirkshark过滤相关的报文,但是对于详细的字段的含义,如何查看TCP的 ...
- wireshark tcp 协议分析
虽然知道wireshark是抓包神器,只会大概大概用一下,还用一下下tcpdump,略懂一点BPF过滤器,也知道一点怎么用wirkshark过滤相关的报文,但是对于详细的字段的含义,如何查看TCP ...
- Wireshark抓包分析TCP协议
版权声明:本文为作者原创文章,可以随意转载,但必须在明确位置表明出处!!! 之前有一篇文章介绍了http协议「初识http协议」, http协议协议是基于tcp协议的,所以作者觉得有必要针对tcp ...
- TCP协议基础知识及wireshark抓包分析实战
TCP相关知识 应swoole长连接开发调研相关TCP知识并记录. 数据封包流程 如图,如果我需要发送一条数据给用户,实际的大小肯定是大于你发送的大小,在各个数据层都进行了数据的封包,以便你的数据能完 ...
- Linux网络编程--wireshark分析TCP包头的格式
摘要: 本文简介了TCP面向连接理论知识,具体讲述了TCP报文各个字段含义.并从Wireshark俘获分组中选取TCP连接建立相关报文段进行分析. 一.概述 TCP是面向连接的可靠传输 ...
随机推荐
- Emojis support in Apple push notification
I am working on iPhone app named "INTERSTIZIO".In this I have implemented functionality li ...
- oracle中如何把结果集插入临时表中
比如临时表叫temp,你要查询的语句为select * from 表名 where id=1. 1.建表temp 2.插入语句: ; commit;
- 建造者模式(build pattern)-------创造型模式
将一个复杂对象的构建与它的标示分离,使得同样的构建过程可以创建不同的标示. 建造者模式是较为复杂的创建型模式,它将客户端与包含多个组成部分(或部件)的复杂对象的创建过程分离,客户端无须知道复杂对象的内 ...
- 使用存储过程将Oracle数据批量导出为多个csv文件
数据库有如下表结构: user_info ( user_id NUMBER primary key, user_name VARCHAR2(200) NOT NUL ...
- 设置div滚动条
这个是很常见的一个任务了,基本是通过CSS去实现滚动条. 滚动条 设置是否显示滚动条主要是在CSS中设置下列的属性: 代码如下: overflow:visible|auto|hidden|scroll ...
- mysql数据库中的存储引擎是什么意思呢
需求描述: 在看mysql的内容,经常提到存储引擎,那么到底什么是存储引擎呢 在这里对于概念进行理解,记录下. 概念解释: 存储引擎(storage engine):存储引擎就是mysql中的一个组件 ...
- 关于java之socket输入流输出流可否放在不同的线程里进行处理
2014年2月20日到叫(黑土)(人士)的公司去面试,一家新成立的公司.刚去公司是他们新聘请的猎头A来面试我的,A面试完之后是一个号称X总的年轻人来面试我,初一见此人有点邋遢,穿着西装. X:&quo ...
- zookeeper 系列文章
http://blog.csdn.net/tswisdom/article/details/41522069 http://blog.csdn.net/tswisdom/article/details ...
- mysql的引擎myisam和innodb的区别
1. MYISAM和INNODB的不同?答:主要有以下几点区别: a)构造上的区别 MyISAM在磁盘上存储成三个文件,其中.frm文件存储表定义:.MYD (MYData)为数据文件:. ...
- LazyValue<T>
public void ExtendFuncT() { //():匿名无参方法.() =>方法名,指派匿名无参方法去执行另外一个方法. LazyValue<int> lazyOne ...