<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          linux中是誰占用了我的端口 ?

          共 4699字,需瀏覽 10分鐘

           ·

          2022-01-01 14:54


          Address already in use這個(gè)提示,想必大家遇到過,怎么能快速找到問題并解決呢?下面有幾種姿勢可以了解一下.

          在對網(wǎng)絡(luò)連接或特定于應(yīng)用程序的問題進(jìn)行故障排除時(shí),首先要檢查的事情之一應(yīng)該是系統(tǒng)上實(shí)際使用了哪些端口,以及哪個(gè)應(yīng)用程序正在偵聽特定的端口。

          本文介紹了如何使用netstatsslsof命令找出哪些服務(wù)正在偵聽哪些端口。該說明適用于所有基于Linux和Unix的操作系統(tǒng),例如macOS。

          什么是監(jiān)聽端口

          網(wǎng)絡(luò)端口由其編號,關(guān)聯(lián)的IP地址和通信協(xié)議(例如TCP或UDP)的類型標(biāo)識(shí)。

          偵聽端口是應(yīng)用程序或進(jìn)程在其上偵聽的網(wǎng)絡(luò)端口,充當(dāng)通信端點(diǎn)。

          每個(gè)監(jiān)聽端口都可以使用防火墻打開或關(guān)閉(過濾)。一般而言,開放端口是一個(gè)網(wǎng)絡(luò)端口,它接受來自遠(yuǎn)程位置的傳入數(shù)據(jù)包。

          你不能讓兩個(gè)服務(wù)監(jiān)聽同一IP地址上的同一端口。

          例如,如果你正在運(yùn)行一個(gè)監(jiān)聽端口80443的Apache Web服務(wù)器,并且嘗試安裝Nginx ,則后者將無法啟動(dòng),因?yàn)镠TTP和HTTPS端口是已經(jīng)在使用中。

          netstat檢查監(jiān)聽端口

          netstat是一個(gè)命令行工具,可以提供有關(guān)網(wǎng)絡(luò)連接的信息。

          要列出所有正在偵聽的TCP或UDP端口,包括使用端口的服務(wù)和套接字狀態(tài),請使用以下命令:

          sudo netstat -tunlp

          此命令中使用的選項(xiàng)具有以下含義:

          • -t-顯示TCP端口。
          • -u -顯示UDP端口。
          • -n -顯示數(shù)字地址而不是解析主機(jī)。
          • -l -僅顯示監(jiān)聽端口。
          • -p -顯示偵聽器進(jìn)程的PID和名稱。僅當(dāng)你以root用戶或 sudo 用戶身份運(yùn)行命令時(shí),才會(huì)顯示此信息。

          輸出將如下所示:

          Proto?Recv-Q?Send-Q?Local?Address???Foreign?Address?????State???????PID/Program?name????
          tcp????????0??????0?0:22??????????????0:*???????????????LISTEN??????445/sshd????????????
          tcp????????0??????0?0:25??????????????0:*???????????????LISTEN??????929/master??????????
          tcp6???????0??????0?:::3306???????????::*???????????????LISTEN??????534/mysqld??????????
          tcp6???????0??????0?:::80?????????????:::*??????????????LISTEN??????515/apache2?????????
          tcp6???????0??????0?:::22?????????????:::*??????????????LISTEN??????445/sshd????????????
          tcp6???????0??????0?:::25?????????????:::*??????????????LISTEN??????929/master??????????
          tcp6???????0??????0?:::33060??????????:::*??????????????LISTEN??????534/mysqld??????????
          udp????????0??????0?0:68??????????????0:*???????????????????????????966/dhclient

          在我們的案例中,重要的幾列是:

          • Proto-套接字使用的協(xié)議。
          • Local Address -進(jìn)程偵聽的IP地址和端口號。
          • PID/Program name -PID和進(jìn)程名稱。

          如果要過濾結(jié)果,請使用 grep命令。例如,要查找在TCP端口22上偵聽的進(jìn)程,你可以輸入:

          sudo?netstat?-tnlp?|?grep?:22

          輸出顯示此計(jì)算機(jī)上的端口22被SSH服務(wù)器使用:

          tcp????????0??????0?0:22??????????????0:*???????????????LISTEN??????445/sshd
          tcp6???????0??????0?:::22?????????????:::*??????????????LISTEN??????445/sshd

          如果輸出為空,則表示端口上沒有監(jiān)聽。

          你也可以根據(jù)條件過濾列表,例如PID,協(xié)議,狀態(tài)等。

          netstat已過時(shí),被ssip 取代,但它仍然是檢查網(wǎng)絡(luò)連接的最常用命令。

          ss

          檢查監(jiān)聽端口

          ss是新的netstat。它缺少netstat的某些功能,但是公開了更多的TCP狀態(tài),并且速度稍快。命令選項(xiàng)基本相同,因此從netstatss的轉(zhuǎn)換并不困難。

          要使用ss獲取所有監(jiān)聽端口的列表,請輸入:

          sudo ss -tunlp

          輸出與netstat報(bào)告的輸出幾乎相同:

          State????Recv-Q???Send-Q?????Local?Address:Port??????Peer?Address:Port????????????????????????????????????????????????????????????????????????????????????????
          LISTEN???0????????128??????????????0:22?????????????0:*??????users:(("sshd",pid=445,fd=3))????????????????????????????????????????????????????????
          LISTEN???0????????100??????????????0:25?????????????0:*??????users:(("master",pid=929,fd=13))?????????????????????????????????????????????????????
          LISTEN???0????????128????????????????????*:3306?????????????????*:*??????users:(("mysqld",pid=534,fd=30))?????????????????????????????????????????????????????
          LISTEN???0????????128????????????????????*:80???????????????????*:*??????users:(("apache2",pid=765,fd=4),("apache2",pid=764,fd=4),("apache2",pid=515,fd=4))???
          LISTEN???0????????128?????????????????[::]:22????????????????[::]:*??????users:(("sshd",pid=445,fd=4))????????????????????????????????????????????????????????
          LISTEN???0????????100?????????????????[::]:25????????????????[::]:*??????users:(("master",pid=929,fd=14))?????????????????????????????????????????????????????
          LISTEN???0????????70?????????????????????*:33060????????????????*:*??????users:(("mysqld",pid=534,fd=33))

          使用lsof

          檢查監(jiān)聽端口

          lsof是功能強(qiáng)大的命令行應(yīng)用程序,可提供有關(guān)進(jìn)程打開的文件的信息。

          在Linux中,所有內(nèi)容都是文件。你可以將套接字視為寫入網(wǎng)絡(luò)的文件。

          要獲取具有lsof的所有偵聽TCP端口的列表,請輸入:

          sudo?lsof?-nP?-iTCP?-sTCP:LISTEN

          使用的選項(xiàng)如下:

          • -n-不要將端口號轉(zhuǎn)換為端口名稱。
          • -p -不解析主機(jī)名,顯示數(shù)字地址。

          -iTCP -sTCP:LISTEN -僅顯示TCP狀態(tài)為LISTEN的網(wǎng)絡(luò)文件。

          COMMAND???PID?????USER???FD???TYPE?DEVICE?SIZE/OFF?NODE?NAME
          sshd??????445?????root????3u??IPv4??16434??????0t0??TCP?*:22?(LISTEN)
          sshd??????445?????root????4u??IPv6??16445??????0t0??TCP?*:22?(LISTEN)
          apache2???515?????root????4u??IPv6??16590??????0t0??TCP?*:80?(LISTEN)
          mysqld????534????mysql???30u??IPv6??17636??????0t0??TCP?*:3306?(LISTEN)
          mysqld????534????mysql???33u??IPv6??19973??????0t0??TCP?*:33060?(LISTEN)
          apache2???764?www-data????4u??IPv6??16590??????0t0??TCP?*:80?(LISTEN)
          apache2???765?www-data????4u??IPv6??16590??????0t0??TCP?*:80?(LISTEN)
          master????929?????root???13u??IPv4??19637??????0t0??TCP?*:25?(LISTEN)
          master????929?????root???14u??IPv6??19638??????0t0??TCP?*:25?(LISTEN)

          大多數(shù)輸出列名稱都是不言自明的:

          • COMMAND,PID,USER-運(yùn)行與端口關(guān)聯(lián)的程序的名稱,PID和用戶。
          • NAME -端口號。

          要查找正在偵聽特定端口(例如端口3306)的進(jìn)程,可以使用:

          sudo?lsof?-nP?-iTCP:3306?-sTCP:LISTEN

          輸出顯示MySQL服務(wù)器使用端口3306:

          COMMAND?PID??USER???FD???TYPE?DEVICE?SIZE/OFF?NODE?NAME
          mysqld??534?mysql???30u??IPv6??17636??????0t0??TCP?*:3306?(LISTEN)


          —— 推?薦 閱 讀 ——
          2021 年最常用密碼公布,第一毫無懸念!
          黑客干貨|命令行/終端下載指令大全
          推薦大家學(xué)習(xí)100個(gè)黑客小知識(shí)!
          --- EOF ---
          ??


          最近整理一份小白入門黑客資料《初學(xué)者如何入門黑客教程》,覆蓋了網(wǎng)絡(luò)滲透、網(wǎng)絡(luò)攻擊、防御、各種黑客常用工具入門等等。
          獲取方式:關(guān)注公眾號并回復(fù)?黑客?領(lǐng)取,更多內(nèi)容陸續(xù)奉上。
          明天見(??ω??)??
          瀏覽 49
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  首页 - 成欢阁 | 乌克兰性爱视频 | 国产精品久久午夜夜伦鲁鲁 | 日韩亚洲色片 | 精品人妻日 |