买网站空间哪里购好,php网站培训,wordpress 用户评分,桂林做网站建设的公司一 TCP 三次握手异常情况实战分析
说明#xff1a; 本文是TCP 三次握手异常系列之一
① 异常场景 接下里我用三个实验案例,带大家一起探究探究这三种异常关注#xff1a; 如何刻意练习模拟上述场景 以及 wireshark现象
② 实验环境 ③ 实验一#xff1a;TCP 第一次握…一 TCP 三次握手异常情况实战分析
说明 本文是TCP 三次握手异常系列之一
① 异常场景 接下里我用三个实验案例,带大家一起探究探究这三种异常关注 如何刻意练习模拟上述场景 以及 wireshark现象
② 实验环境 ③ 实验一TCP 第一次握手 SYN 丢包
思考 如何模拟 TCP 第一次握手 SYN 丢包的情况? -- 采用2方式1 拔掉服务器的网线后,立刻在客户端执行 curl 命令备注 不建议因为抓不住时机,可能导致网络就不通方式2 在服务器的防火墙,屏蔽客户端 TCP 报文中标志位是 SYN 的包
删除iptables中的规则
1、看 iptables 中的规则,找到要删除的规则的编号iptables -t 表名 -L -n --line-numbers2、删除指定编号的规则iptables -t [table] -D [chain] [rule-number] iptables扩展匹配条件之 --tcp-flags
说明 下面的三种等价命令匹配到的报文是第一次握手的报文 -- 采用最后一个iptables -I INPUT -s 172.25.2.157 -m tcp -p tcp --tcp-flag ALL SYN -j DROPiptables -I INPUT -s 172.25.2.157 -m tcp -p tcp --tcp-flag \SYN,ACK,FIN,RST,URG,PSH SYN -j DROPiptables -t filter -I INPUT -p tcp -s 172.25.2.157 -m tcp --syn -j DROP备注 filter表是iptables的默认表,上面省略了-t filter 2、在客户端执行 curl -kv nginx.wzj.com 命令备注 加上-kv参数刻意看到DNS解析、SSL握手、HTTP请求详细过程备注 过了一会 [大约127 s],curl 返回了超时连接的错误分析 从 date 返回的时间,可以发现在超时127 s的时间后,curl 返回了错误 3、其间在客户端的 tcpdump 抓包 tcpdump -nni any tcp and host 172.25.2.100 tcpdump -nni any tcp and host 172.25.2.100 -w tcp_sys_timeout.pcap接着: 把 tcp_sys_timeout.pcap 文件用 Wireshark 打开分析,显示如下图备注 TCP Retransmission -- tcp 重传 -- wireshark 黑色背景,红色字体
第一次握手丢失了,会发生什么? /proc/sys/net/ipv4/tcp_syn_retries 小结 tcp_syn_retries 为 5的 场景,关抓如下的原理图 RTT 和 RTO
RTT(Round Trip Time)一个连接的往返时间,即数据发送时刻到接收到确认的时刻的差值RTO(Retransmission Time Out)重传超时时间,即从数据发送时刻算起,超过这个时间便执行重传RTT和RTO 的关系是由于网络波动的不确定性,每个RTT都是动态变化,所以RTO也随着RTT动态变化