加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

TCP和UDP,你要知道的123 (TCP篇)

发布时间:2018-09-08 15:17:55 所属栏目:教程 来源:windbadboy
导读:9月15日技能沙龙 | 与东华软件、AWS、京东金融、饿了么四位大咖切磋精准运维! 媒介 作为一名收集运维职员,认识TCP和UDP两兄弟是须要的。TCP与UDP是附属于TCP/IP协议族的两员上将,从TCP/IP降生以来经验了几十年的成长,可以这么说不管天下怎样变迁、无论
副问题[/!--empirenews.page--] 9月15日技能沙龙 | 与东华软件、AWS、京东金融、饿了么四位大咖切磋精准运维!

媒介

作为一名收集运维职员,认识TCP和UDP两兄弟是须要的。TCP与UDP是附属于TCP/IP协议族的两员上将,从TCP/IP降生以来经验了几十年的成长,可以这么说不管天下怎样变迁、无论沧海已变几何桑田,管它传统互联网照旧移动互联网,都离不开他们,此刻,此后很长一段时刻都离不开。

即然取名123,就不想用过多的术语来表明他们,我想通过我现实的案例来和各人一路试探门道。我们先谈谈TCP

TCP和UDP,你要知道的123 (TCP篇)

TCP

TCP,全称Transmission Control Protocol,中文译作传输节制协议。各人天天赏识的网页,不管是用手机照旧电脑打开的,均会行使TCP协议来传输数据,TCP是面向毗连的协议(稍后表明)。

我们通过一个小案例来领略TCP。笔者租用过一台云处事器,用来提供web(网页)处事。在全部设置完成后,发明从我的主机无法打开处事器上的网页,打开其余网页则是正常的。

在讲案例办理之前,我们先明晰几个关于TCP的观念:端口、三次握手。

端口:我们会见网页,说白了,着实是会见运行在处事器上的一个应用措施,而我们与应用措施通讯,就要用到端口。好比打开网页用的http协议,它默认行使的80端口,https(http加密版本)默认行使的443端口。

三次握手:TCP是面向毗连的协议,好比打开一个网页,你必要先和网页处事器成立一个毗连,而成立这个毗连的进程,我们称为三次握手。

TCP和UDP,你要知道的123 (TCP篇)

三次握手

三次握手

我通过抓包软件(windows下行使wireshark,linux下行使tcpdump)获取了三条报文数据,我们来具体说明一下。

  • 第一条报文:192.168.253.4(主机)向方针ip为140开头的处事器的80端口发送符号位(Flag)为SYN(Synchronize Sequence Numbers,同步序列号)的报文。翻译成白话,主机汇报处事器,我要筹备和你的80端口通讯了,把我要会见的网页数据发给我。(第一次握手)
  • 第二条报文:处事器发送符号位为SYN,ACK(Acknowledge,确认位)的报文返回给主机。意思是,处事器收到主机发过来的毗连哀求了,你再发过确认报文过来,我就把数据给你。(第二次握手)
  • 第三条报文:主机发送符号位为ACK的报文给处事器。说白了,就是主机汇报处事器,收到你要我发确认信息的报文,现将确认符号发你。(第三次握手)
  • 当处事器收到第三条报文后,主机和处事器的毗连就算成立了(Established),再然后处事器就可以将网页的数据传送给主机并在主机的赏识器上展示内容。

有了观念的相识,我们开始处理赏罚题目,起主要确定我和处事器之间的通讯是否存在题目,最简朴的方法是行使ping 处事器ip呼吁测试,发明和处事器之间的通讯是ok的。

然后在处事器上(centos 7)通过netstat -na呼吁查察80端口(网页处事尺度端口)是否开启,发明也没有题目。

收集是通的,应用处事也正常,却打不开处事器网页。照旧行使wireshark查察通讯的进程,确认到底是哪一步呈现了题目。

TCP和UDP,你要知道的123 (TCP篇)

题目报文

不要被图中的英文吓到,我们只必要存眷几个处所,就能定位这个妨碍的题目。我们一步一步来。

前文提过,http行使tcp协议传输数据,tcp协议要求任何一方要和另一方通讯必要先成立毗连,也就是三次握手。

而在上图中,细心看,只有主机(192.168.88.127)发给140处事器的符号位为SYN的报文,但充公随处事器返回的报文。由于主机没有收随处事器的返回报文,自动启用了重传机制,持续又发了好屡次符号位为SYN的报文给主机,着实就是哀求成立毗连,但都是肉包子打狗--有去无回。一种也许是处事器应用措施呈现了题目,没有相应。另一种也许是处事器压根儿充公到主机发送的成立毗连报文。

由于事先我们确认了处事器应用措施状态是正常的,将排查重点放在处事器侧吸取报文这一块。在处事器侧和主机侧同时抓包,查察是否能抓到来自主机的报文。

  1. //处事器行使linux体系,抓包行使tcpdump软件,-port 80暗示抓取端口为80的报文,src host暗示抓源地点是192.168.88.127的报文,and暗示要求同时满意以上2个前提。 
  2. $ tcpdump -port 80 and src host 192.168.88.127 -nn 

通过抓包发明,主机在发送成立毗连哀求时,处事器没有抓到任何来自于主机192.168.88.127会见处事器80端口的报文,也就是说三次握手基础无法完成,更不要谈数据传输了。由于之前ping呼吁又能从主机ping通处事器,暗示收集是通畅的。

这种环境下,很也许是防火墙计策阻档了报文,当即搜查主机防火墙计策 。

  1. //centos 7情形下  
  2. $ systemctl status firewalld 

TCP和UDP,你要知道的123 (TCP篇)

防火墙状态

检测防火墙状态

发明防火墙的Active状态为inactive(未激活),暗示防火墙是未启用的。那是什么阻止了报文呢,最终功效照旧出在了防火墙计策上,是云处事器提供商提供的防火墙安详计策默认阻止了外部会见80端口的哀求,将计策修改为应承会见80端口后,终于顺遂和处事器成立了毗连(三次握手)网页正常打开了。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读