首页 > 其他分享 >tcp三次握手

tcp三次握手

时间:2023-09-14 11:56:01浏览次数:58  
标签:128.166 ack IP 握手 tcp Flags 172.16 三次 60110

tcpdump -i eth1 port 80
使用tcpdump一定要用-i参数指定下监听哪个网卡,可以使用ifconfig查看当前ip的网卡,有的是eth0,有的是eth1,这样可以抓取到这个网卡上的数据.还要过滤一下端口号,一般就只看80端口的数据就可以了

TCP三次握手的过程,可以在下面的请求中看得到.
第一次握手:10.222.128.166.60110 > 172.16.228.187.http 这里可以知道客户端IP是10.222.128.166,请求来自于60110端口,目的IP是172.16.228.187的80端口.这里的Flag是很有意义的,Flags [S]表示的是
客户端的SYN请求,seq序列号是1594115281.
第二次握手:服务端返回给客户端Flags [S.],seq序列号4134215995, ack确认号是1594115282,ack是客户端seq的+1值
第三次握手:客户端给服务端 Flags [.],.表示标志位均为0 , ack是1

15:40:19.988481 IP 10.222.128.166.60110 > 172.16.228.187.http: Flags [S], seq 1594115281, win 8192, options [mss 1300,nop,wscale 8,nop,nop,sackOK], length 0
15:40:19.988528 IP 172.16.228.187.http > 10.222.128.166.60110: Flags [S.], seq 4134215995, ack 1594115282, win 14600, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
15:40:19.995864 IP 10.222.128.166.60110 > 172.16.228.187.http: Flags [.], ack 1, win 260, length 0


下面就是实际的数据传输过程了,可以看到tcp的分段传输,客户端到服务端的数据seq 1:1180 ,长度1179,下一段是seq 1180:1221,长度41.
也可以看到应答机制,服务端给客户端的ack 1180,ack 1221.

15:40:19.996031 IP 10.222.128.166.60110 > 172.16.228.187.http: Flags [P.], seq 1:1180, ack 1, win 260, length 1179
15:40:19.996067 IP 172.16.228.187.http > 10.222.128.166.60110: Flags [.], ack 1180, win 137, length 0
15:40:19.997779 IP 10.222.128.166.60110 > 172.16.228.187.http: Flags [P.], seq 1180:1221, ack 1, win 260, length 41
15:40:19.997800 IP 172.16.228.187.http > 10.222.128.166.60110: Flags [.], ack 1221, win 137, length 0
15:40:20.113390 IP 172.16.228.187.http > 10.222.128.166.60110: Flags [P.], seq 1:953, ack 1221, win 137, length 952
15:40:20.114305 IP 172.16.228.187.http > 10.222.128.166.60110: Flags [F.], seq 953, ack 1221, win 137, length 0
15:40:20.122015 IP 10.222.128.166.60110 > 172.16.228.187.http: Flags [.], ack 954, win 256, length 0
15:40:20.122044 IP 10.222.128.166.60110 > 172.16.228.187.http: Flags [F.], seq 1221, ack 954, win 256, length 0
15:40:20.122057 IP 172.16.228.187.http > 10.222.128.166.60110: Flags [.], ack 1222, win 137, length 0

六个标志位
同步SYN,在连接建立时用来同步序号。当SYN=1,ACK=0,表明是连接请求报文,若同意连接,则响应报文中应该使SYN=1,ACK=1;
确认ACK,仅当ACK=1时,确认号字段才有效。TCP规定,在连接建立后所有报文的传输都必须把ACK置1;
终止FIN,用来释放连接。当FIN=1,表明此报文的发送方的数据已经发送完毕,并且要求释放;
紧急URG,当URG=1,表明紧急指针字段有效。告诉系统此报文段中有紧急数据;
推送PSH,当两个应用进程进行交互式通信时,有时在一端的应用进程希望在键入一个命令后立即就能收到对方的响应,这时候就将PSH=1;
复位RST,当RST=1,表明TCP连接中出现严重差错,必须释放连接,然后再重新建立连接;

标签:128.166,ack,IP,握手,tcp,Flags,172.16,三次,60110
From: https://www.cnblogs.com/rincloud/p/17702155.html

相关文章

  • 《从实践中学习TCP/IP协议》笔记
    2.2网络体系802.3以太网802.11无线网络802.16WiMAX2.4以太网以太网采用附加冲突检测的载波侦听多路访问(CSMA/CD)机制,以太网中所有节点都可以看到在网络中发送的所有信息,以太网是一种广播网络以太网帧结构,由前同步码+帧开始定界符+以太网报头(目的地址+源地址+类型假定IP)+......
  • 关于TCP 和 UDP 的 Socket 调用
    在网络层,Socket函数需要指定到底是IPv4还是IPv6,分别对应设置为AF_INET和AF_INET6。另外,还要指定到底是TCP还是UDP。TCP协议是基于数据流的,所以设置为SOCK_STREAM,而UDP是基于数据报的,因而设置为SOCK_DGRAM。TCP的服务端要先监听一个端口,一般是先调用bind函数,给这......
  • 使用 tcpkill 杀掉 tcp 连接
    安装:aptinstalldsniff-yyuminstalldsniff-y操作命令:tcpkill-ieth0-9port1234tcpkilliphost10.168.1.1tcpkill-9port1234查看连接: ss-ant......
  • TCP编程
    网络相关概念网络通信概念:两台设备之间通过网络实现数据传输。网络通信:将数据通过网络从一台设备传输到另一台设备中。java.net包下提供了一系列的类或接口,供程序员使用,完成网络通信。网络概念:两台或多台设备通过一定物理设备连接起来构成了网络。根据网络的覆盖范围不同,对网络进行......
  • modubs的TCP数据协议
    参考:C#实现MODBUSTCP通信第二章(程序内实现)-『编程语言区』-吾爱破解-LCG-LSG|安卓破解|病毒分析|www.52pojie.cn只要了解这个modubs的数据格式常用的命令功能码(16进制)功能说明0x01读取输出线圈10x02......
  • Java网路编程____TCP协议客户端服务器信息交互例子
    packagecom.frame.base.TCP;importjava.io.InputStream;importjava.net.ServerSocket;importjava.net.Socket;publicclassTCPSocketServer{ publicstaticvoidmain(String[]args)throwsException{ /** *启动服务端Soecket注册外放信息交互的端口 */......
  • 聊聊数据库事务内嵌TCP连接
    最近再看项目代码,发现很多的service里面,喜欢在事务内部再去调用HTTP请求,简单分析下此种方式的利弊与解决策略。概述在数据库内部嵌套TCP连接(一般是HTTP调用或是RPC远程调用)。@Transactional(rollbackFor=Exception.class)publicBooleaninviteUser(..){//service......
  • 探究TCP/IP协议栈
    TCP/IP协议栈,这是一个似乎既熟悉又陌生的名词。在我们的日常生活中,无论我们是在使用智能手机浏览网页,还是在电脑上发送电子邮件,甚至是在进行视频聊天,我们都在无形中与TCP/IP协议栈打交道。那么,TCP/IP协议栈究竟是什么呢?今天,就让我们一起来揭开它的神秘面纱。一、什么是TCP/IP协议栈......
  • 网络协议百科全书:28张图带你搞懂TCP
    大家好,我的网工朋友。不仅仅是网工,只要你是做IT相关的工作,肯定都离不开网络。那网络中最重要的协议,大概非TCP莫属,谁去面试没被问过网络协议的相关问题?谁没买过那本最经典的《TCP/IP详解》 。不得不说,既要看枯燥的讲解,还要理解,还要和工作结合,运用掌握……真没这么简单。而且不学也......
  • TCP协议
    特征面向连接:通讯双发发送数据之前要建立连接可靠交付:提供尽可靠交付的服务,保证消息不错、不乱、不丢面向字节流:不缺分消息边界,发送数据为字节流。使用者需要自己区分消息边界。全双工(full-duplexservice):实时的双向通讯。TCP格式创建连接三次握手 为什么两次握手不行?......