zoukankan      html  css  js  c++  java
  • 网络知识学习3---(端口原理的讲解)

    1.端口的作用

        在传输层一方面需要确认是使用TCP还是UDP,另一方面是要确定发送方和接收方的端口号。(当然还有差错校验和流量控制的功能)

        端口号是什么

            IP地址是用来区别网络(互联网)中的不同主机

            端口是用来区别计算机中服务(比如QQ服务、HTTP服务、FTP服务……)

            常用的服务的端口应该是固定的,当然可以改,但是改了之后,服务段对于客户端就变成隐身的了。所以服务如果是对外提供服务的,给普通用户客户端使用的,这个时候它的端口号就应该是固定的。比如网页服务的端口号是80,一旦你改了,那么用户就无法访问你的服务器,就没办法打开网页(这显然不是我们做服务器想看到了)

        TCP协议包头

            如图

                可以看出首先标出的是源端口(0~15bit),然后时目的端口(16~31bit)

        UDP协议包头

            如图

                明显UDP协议包头包含的信息比TCP包头少,但是和TCP一样的是:可以看出首先标出的是源端口(0~15bit),然后时目的端口(16~31bit)

        端口号的分类

            端口号长度是16bit,所以有2^16个端口数,即0~2^16-1(也激就是0~65535)

            1000以内的端口号是给系统使用的,10000以上的端口号是给开发者使用的

        需要注意的是,UDP和TCP的端口是分开的,比如,TCP有端口号10101,那么UDP也有自己的端口号10101。但是在真实的环境中,因为端口号本身的数量也是足够多的,所以,一般并不进行这样的区分,比如FTP是TCP的一个应用协议,它的端口号是20,这个时候往往就不在为UDP分配20的端口,就是为了防止造成混淆

        常见的端口号

            FTP(文件传输协议):端口号是 20 21

            SSH(安全Shell协议):端口号是 22

            telnet(远程登陆协议):端口号是 23

                但是小心,现在的不管是windows还是linux,都禁止开启23 端口,因为这个协议的传输是明文方式,没有加密,所以只要截获数据包就可以直接的获取信息,所以很不安全,所以目前linux 常用的远程管理方式是 SSH(这更安全)

            DNS(域名协议):端口号是 53

            http(超文本传输协议):端口号是 80

            SMTP(简单邮件传输协议):端口号是 25

            POP3(邮局协议3代):端口号是 110

        常用的关于端口的命令

            netstat -an:查看本机启动的端口号

                -a:查看所有连接和监听端口

                -n:显示IP地址和端口号,而不显式域名和服务名

  • 相关阅读:
    如何写一个简单的解释器
    linux下ifconfig, DNS以及route配置
    再次看编码
    Linux kernel API的查看
    学习Haskell的一些资料
    Unix,windows和Mac中的换行
    Cmake中的find_package功能
    知乎上有一个问题“在mfc框架中,有上面方法能直接将opencv2.0库中的Mat格式图片传递到Picture Control”中显示?
    RANSAC和Flitline
    花40分钟写一个-CBIR引擎-代码公开
  • 原文地址:https://www.cnblogs.com/xumenger/p/4508039.html
Copyright © 2011-2022 走看看