传输层 传输层协议和应用层协议之间的关系

通常传输层协议加一个端口号来标识一个应用层协议。

TCP通过端口号标识上层是什么协议,同理UDP也是通过端口来区分上层协议。

  • HTTP默认使用TCP的80端口。
  • FTP默认使用TCP的21端口。
  • SMTP默认使用TCP的25端口。
  • POP3默认使用TCP的110端口。
  • HTTPS默认使用TCP的443端口。
  • DNS使用UDP的53端口。
  • 远程桌面协议(RDP)默认使用TCP的3389端口。
  • Telnet使用TCP的23端口。
  • Windows访问共享资源使用TCP的445端口。
  • 微软SQL数据库默认使用TCP的1433端口。
  • MySQL数据库默认使用TCP的3306端口。    

服务器上端口的作用


端口用来定位服务器上的服务

端口用一个16 位端口号进行标志,允许有65535个不同的端口号。

端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。在互联网中,不同计算机的相同端口号是没有联系的。

在网络层里面有个字段是专门表示端口的,占用两个字节,两个字节就是16位二进制,取最大值是65535。

端口号分为两大类

服务器使用的端口号

服务器端使用的端口号又分为两类,最重要的一类叫作熟知端口号(well-known port number)或系统端口号,数值为0~1023。 另一类叫作登记端口号,数值为1024~49151。这类端口号是供没有熟知端口号的应用程序使用的。

客户端使用的端口号

当打开浏览器访问网站,或登录QQ等客户端软件和服务器建立连接,计算机会为客户端软件分配临时端口,这就是客户端端口,取值范围为49152~65535,由于这类端口号仅在客户进程运行时才动态选择,因此又叫作临时(短暂)端口号。 

客户端上端口的作用


用来确定数据包返回后给哪个客户端实例

服务和端口之间的关系


 服务器给网络中的计算机提供服务,该服务一运行就会使用TCP或UDP的一个端口侦听客户端的请求,每个服务使用的端口必须唯一。

查看本地侦听的端口 Netstat –an

测试到远程服务器某个端口是否能够访问 telnet 192.168.80.123 80(测试远端的端口能不能访问就能够测试到上面的服务是否可以访问)(失败了的话要不是服务没有启动,或者防火墙,没有打开)

端口也分默认的端口和非默认端口,因为有些黑客在攻击服务器的时候,先用工具去扫描远程的端口,扫描到80或者其他默认端口比如21端口,那么他就知道是http服务和ftp服务,如果修改默认的端口,那么就很难知道对应的上层服务是什么,那么就不太好确定用什么方式去攻击。

可以用端口扫描工具来看某个地址开放了哪些端口。

网站默认使用443或者80端口,对外可以访问,如果修改了,那么用户去访问得加上端口号,这样非常不方便。

 端口和网络安全的关系


 在服务器上关闭TCP或UDP的某个端口,就关闭了客户端访问相应服务途径。

数据库不需要对外提供服务,只需要对本地的web提供服务就行了,如果在这个服务器上面不做任何防护,那么互联网上面的人就可以通过1443来访问到数据库。

更加安全的方式是将网卡的两扇大门都关了,TCP和UDP都关了,全部关了只开特定的端口,比如只开放TCP的80端口。

上面是另外一种情况,一个单位只允许内部的计算机访问网站,其他的流量都不允许。这个时候可以在路由器上面添加ACL访问控制列表,允许tcp的53端口可以出去也可以回来,也就是域名解析,允许访问网站的流量出去和回来。

上面一种是保护服务器的流量,实现对服务器访问的安全,在路由器上面相当于对公司网络的大门。

猜你喜欢

转载自blog.csdn.net/qq_34556414/article/details/124181390