TCP三次握手及tcpdump抓包

发布时间:2020-08-06 15:36:49 作者:huangzp168
来源:网络 阅读:3088

1. TCP报文段的首部格式

TCP三次握手及tcpdump抓包

说明:

ACK : TCP协议规定,只有ACK=1时有效,也规定连接建立后所有发送的报文的ACK必须为1

SYN(SYNchronization) : 在连接建立时用来同步序号。当SYN=1而ACK=0时,表明这是一个连接请求报文。对方若同意建立连接,则应在响应报文中使SYN=1和ACK=1. 因此,  SYN置1就表示这是一个连接请求或连接接受报文

FIN (finis)即完,终结的意思, 用来释放一个连接。当 FIN = 1 时,表明此报文段的发送方的数据已经发送完毕,并要求释放连接


2. tcp连接时的三次握手和断开时的4次挥手整体过程

TCP三次握手及tcpdump抓包


2.1 tcp三次握手具体过程

TCP三次握手及tcpdump抓包

1)首先由Client发出请求连接即 SYN=1,声明自己的序号是 seq=x(我可以给你发数据吗?)

2)然后Server 进行回复确认,即 SYN=1 ,声明自己的序号是 seq=y, 并设置为ack=x+1(可以)

3)最后Client 再进行一次确认,设置 seq=x+1, ack=y+1(好的)

 

注:seq 序列号范围:2^32 -1   到最大值,再从0开始

       seq 序列号作用:server端依据这个序列号来组数据



2.2 使用tcpdump抓包查看tcp三次握手过程

参数说明:

-c        指定包个数

-n        IP、端口用数字方式显示

-i         指定网卡,默认为eth0

-X       把协议头和包内容以16进制和ASCII的形式显示出来,对进行协议分析时很有用

-e       输出增加以太网帧头部信息

-F       指定过滤表达式所在的文件

-w      将流量保存到文件中,二进制格式

-r       读取参数-w保存的文件

port   指定端口


1)192.168.1.24机器建立ssh连接

ssh root@192.168.1.124

说明:ssh也属于tcp连接,等待抓取数据包过程中,另一台服务器ssh登录该服务器,无需输密码,即可完成3次握手



2)192.168.1.123机器

抓包  tcpdump port 22 -c 3 -n

TCP三次握手及tcpdump抓包

TCP三次握手及tcpdump抓包注:Flags [S]  中的 S 表示为SYN包为1

       client主机返回ACK,包序号为ack=1 ,这是相对序号,如果需要看绝对序号,可以在tcpdump命令中加-S


TCP三次握手及tcpdump抓包





推荐阅读:
  1. 抓包分析工具—tcpdump
  2. HP Unix Tcpdump 抓包脚本

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

tcp 三次握手 tc

上一篇:顺利解决asp.net无法加载oci.dll

下一篇:jquery上传多图片预览

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》