<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                端口號的英文叫`Port` 分層結構中每一層都有一個唯一標識,比如鏈路層的 MAC 地址,IP 層的 IP 地址,傳輸層是用端口號。 傳輸層就是用端口號來區分同一個主機上不同的應用程序的。操作系統為有需要的進程分配端口號,當目標主機收到數據包以后,會根據數據報文首部的目標端口號將數據發送到對應端口的進程。 主動發起的客戶端進程也需要開啟端口,會把自己的端口放在首部的源端口(source port)字段中,以便對方知道要把數據回復給誰。 ## 端口號分類 端口號被劃分成以下 3 種類型: * 熟知端口號(well-known port) * 已登記的端口(registered port) * 臨時端口號(ephemeral port) ### 熟知端口號(well-known port)(保留端口) 熟知端口號由專門的機構由 IANA 分配和控制,范圍為 0~1023。為了能讓客戶端能隨時找到自己,服務端程序的端口必須要是固定的。很多熟知端口號已經被用就分配給了特定的應用,比如 HTTP 使用 80端口,HTTPS 使用 443 端口,ssh 使用 22 端口。 在 Linux 上,如果你想監聽這些端口需要 Root 權限,為的就是這些熟知端口不被普通的用戶進程占用,防止某些普通用戶實現惡意程序(比如偽造 ssh 監聽 22 端口)來獲取敏感信息。熟知端口也被稱為保留端口。 ### 已登記的端口(registered port) 已登記的端口不受 IANA 控制,不過由 IANA 登記并提供它們的使用情況清單。它的范圍為 1024~49151。 已登記的端口常見的端口號有: * MySQL:3306 * Redis:6379 * MongoDB:27017 ### 臨時端口號(ephemeral port) 如果應用程序沒有調用 bind() 函數將 socket 綁定到特定的端口上,那么 TCP 和 UDP 會為該 socket 分配一個唯一的臨時端口。IANA 將 49152~65535 范圍的端口稱為臨時端口(ephemeral port)或動態端口(dynamic port),也稱為私有端口(private port),這些端口可供本地應用程序臨時分配端口使用。 ## 端口相關的命令 Linux 系統下 ### 如何查看對方端口是否打開 使用 nc 和 telnet 這兩個命令可以非常方便的查看到對方端口是否打開或者網絡是否可達。(Windows Telnet客戶端默認是關閉狀態, netcat要確定安裝才行) ### 如何查看端口被什么進程監聽占用 比如查看 22 端口被誰占用,常見的可以使用 lsof 和 netstat 兩種方法 ``` sudo netstat -ltpn | grep :22 ``` **使用 lsof**因為在 linux 上一切皆文件,TCP socket 連接也是一個 fd。因此使用 lsof 也可以 ``` sudo lsof -n -P -i:22 ``` 其中`-n`表示不將 IP 轉換為 hostname,`-P`表示不將 port number 轉換為 service name,`-i:port`表示端口號為 22 的進程 ## 小結 ![](https://img.kancloud.cn/b6/d9/b6d9bbc22624fccd9f817c121497b6f3_1189x693.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看