TCP/IP(二十)TCP 实战抓包分析(四)TCP 第二次握手 SYN、ACK 丢包

一   实验二:TCP 第二次握手 SYN、ACK 丢包

重点: 通过设置 'tcp_synack_retries' 和 'tcp_syn_retries'内核参数,观察'丢包'的现象

①  实验环境

TCP/IP(二十)TCP 实战抓包分析(四)TCP 第二次握手 SYN、ACK 丢包_第1张图片 

iptables -t filter -I INPUT -s 172.25.2.100 -j DROP

tcpdump -nni ens3 tcp and host 172.25.2.100 and port 80 -w tcp_ack_syn.pcap

②   客户端测试

从 date 返回的时间'前后',可以算出大概 '127' 秒后,curl '报错'退出了

TCP/IP(二十)TCP 实战抓包分析(四)TCP 第二次握手 SYN、ACK 丢包_第2张图片

③   抓包分析

第二次握手丢失了,会发生什么?

客户端在这其间'抓取'的数据包,用 Wireshark 打开分析,显示的'时序图'如下:

TCP/IP(二十)TCP 实战抓包分析(四)TCP 第二次握手 SYN、ACK 丢包_第3张图片

细节点: 对于'SYN'超时重传,所回应的'SYN、ACK'不属于'服务端'超时重传主动发送的包

TCP/IP(二十)TCP 实战抓包分析(四)TCP 第二次握手 SYN、ACK 丢包_第4张图片

TCP/IP(二十)TCP 实战抓包分析(四)TCP 第二次握手 SYN、ACK 丢包_第5张图片

④  iptables规则和tcpdump抓包的关系

思考: 客户端设置了防火墙,'屏蔽'了服务端的网络包,为什么 tcpdump '还能抓到'服务端的网络包?

强调: tcpdump 直接从'内核协议栈' 抓取数据

诶主: 虽然'tcpdump'抓取了,但是'iptables'禁止了,导致'应用层'的socket'不感知'

TCP/IP(二十)TCP 实战抓包分析(四)TCP 第二次握手 SYN、ACK 丢包_第6张图片

TCP/IP(二十)TCP 实战抓包分析(四)TCP 第二次握手 SYN、ACK 丢包_第7张图片

tcpdump的工作原理

⑤  第二次握手的最大重传次数

思考: 第二次握手 'SYN、ACK '限制'最大重传次数'是多少?

内核参数: tcp_synack_retries

TCP/IP(二十)TCP 实战抓包分析(四)TCP 第二次握手 SYN、ACK 丢包_第8张图片

⑥  实验二

tcp_syn_retries 设置为 '1'

tcp_synack_retries 值为 '5'

TCP/IP(二十)TCP 实战抓包分析(四)TCP 第二次握手 SYN、ACK 丢包_第9张图片

⑦  实验三

TCP/IP(二十)TCP 实战抓包分析(四)TCP 第二次握手 SYN、ACK 丢包_第10张图片

你可能感兴趣的:(TCP/IP,syn_retries,synack_retries,TCP,第二次握手丢包)