最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux/Window查網(wǎng)絡(luò)連接/端口/套接字信息的方法大全

 更新時間:2026年02月24日 08:44:27   作者:小滿大王i  
這篇文章詳細(xì)介紹了netstat命令在Linux和Windows系統(tǒng)中的使用方法,包括核心參數(shù)、常用組合命令、連接狀態(tài)解釋以及與ss命令的比較,此外,還特別說明了在Windows系統(tǒng)中的使用差異,并提供了一些高頻用法示例,需要的朋友可以參考下

Linux/Window如何查網(wǎng)絡(luò)連接/端口/套接字信息?最核心使用的是netstat命令,運(yùn)維/開發(fā)必用,我會把它的核心用法、所有高頻參數(shù)、實(shí)用組合命令、和ss命令的區(qū)別全部講透,內(nèi)容條理清晰,看完就能直接用

一、netstat 核心作用

netstat = network statistics(網(wǎng)絡(luò)統(tǒng)計),命令的核心功能:

查詢操作系統(tǒng)中所有的網(wǎng)絡(luò)連接、監(jiān)聽的端口、路由表、網(wǎng)絡(luò)接口狀態(tài)、套接字信息,能清晰看到「本機(jī)和哪些IP建立了連接、哪個進(jìn)程占用了哪個端口、哪些端口正在對外提供服務(wù)」。

適用系統(tǒng):Linux、macOS、Windows全兼容,核心參數(shù)用法基本一致,少量參數(shù)有差異(下文會標(biāo)注)。
核心定位:排查端口占用、網(wǎng)絡(luò)連接異常、服務(wù)是否啟動、是否有異常外聯(lián)的首選命令。

二、netstat 語法格式

netstat [選項(xiàng)參數(shù)]

參數(shù)可以單字母使用(如-t),也可以組合使用(如-tulnp,最常用組合,強(qiáng)烈推薦背下來),參數(shù)之間無順序要求。

三、netstat 高頻核心參數(shù)(必記,按用途分類,好理解)

第一類:按「協(xié)議類型」篩選(只查TCP/UDP連接)

這類參數(shù)用來過濾只顯示指定協(xié)議的網(wǎng)絡(luò)連接,是最基礎(chǔ)的篩選,必用

  • -t :只列出 TCP 協(xié)議 的所有連接/監(jiān)聽端口(TCP是可靠傳輸,絕大多數(shù)服務(wù)用TCP:http/https/ssh/mysql等)
  • -u :只列出 UDP 協(xié)議 的所有連接/監(jiān)聽端口(UDP是無連接傳輸:dns/廣播/視頻流等)
  • -w :只列出 RAW原始套接字 相關(guān)連接(極少用,一般不用記)

第二類:按「連接狀態(tài)」篩選(最核心,重中之重)

-l :全稱 listening只顯示「正在監(jiān)聽」的端口/套接字

核心意義:一臺服務(wù)器的「服務(wù)端口」(如nginx的80、ssh的22、mysql的3306)啟動后,都會處于LISTEN監(jiān)聽狀態(tài),等待客戶端連接。執(zhí)行netstat -l就能看到本機(jī)所有對外提供服務(wù)的端口,排查「服務(wù)是否啟動成功」首選。

第三類:實(shí)用補(bǔ)充參數(shù)(必加,提升查詢價值)

-n :全稱 numeric以「數(shù)字形式」顯示所有信息,不做域名/主機(jī)名解析
? 核心作用:

  1. 速度極快:不加-n時,netstat會嘗試把IP解析成域名、把端口號解析成服務(wù)名(如80→http),耗時很長;
  2. 結(jié)果準(zhǔn)確:避免解析失敗導(dǎo)致的亂碼/錯誤,生產(chǎn)環(huán)境必加-n,這是鐵律!
  3. 格式統(tǒng)一:IP就是IP、端口就是端口,方便后續(xù)篩選/查看。

-p :全稱 program顯示每個網(wǎng)絡(luò)連接對應(yīng)的「進(jìn)程PID」和「進(jìn)程名稱」
核心意義:這是netstat最核心的參數(shù)之一!能直接告訴你「哪個進(jìn)程占用了哪個端口」,比如查到端口8080被占用,用-p就能精準(zhǔn)定位到是java進(jìn)程還是tomcat進(jìn)程,排查「端口占用」的核心參數(shù)。
注意:Linux系統(tǒng)中,普通用戶執(zhí)行-p可能看不到完整進(jìn)程信息,需要加sudo(如sudo netstat -tulnp)才能查看所有進(jìn)程的PID和名稱,Windows無此限制。

-a :全稱 all顯示「所有」的網(wǎng)絡(luò)連接狀態(tài),包含:監(jiān)聽狀態(tài)(LISTEN)、已建立連接(ESTABLISHED)、等待連接(CLOSE_WAIT/TIME_WAIT)、關(guān)閉狀態(tài)等,不加-a默認(rèn)只顯示已建立的連接。

四、netstat 「最常用的4個組合命令」(重中之重,背下來?。?/h2>

所有參數(shù)的核心價值都在組合使用,這4個命令覆蓋了99%的日常使用場景,優(yōu)先級從高到低排序,按需使用即可,全部都是生產(chǎn)環(huán)境高頻用法:

組合1:netstat -tulnp【????? 封神級,最最常用,沒有之一!】

含義拆解

-t(TCP) + -u(UDP) + -l(監(jiān)聽中) + -n(數(shù)字顯示) + -p(顯示進(jìn)程PID/名稱)

核心作用

查詢本機(jī)上「所有正在監(jiān)聽的TCP/UDP端口」+「對應(yīng)的進(jìn)程信息」

適用場景

? 檢查服務(wù)是否啟動(如:nginx的80端口、mysql的3306、redis的6379是否處于LISTEN狀態(tài))
? 快速查看本機(jī)所有對外提供的服務(wù)端口,以及端口被哪個進(jìn)程占用
? 排查「端口被占用」的問題(比如啟動tomcat提示8080被占用,執(zhí)行這個命令直接定位占用進(jìn)程)

典型輸出示例

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1234/sshd
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      5678/nginx
tcp6       0      0 :::3306                 :::*                    LISTEN      9102/mysqld
udp        0      0 0.0.0.0:53              0.0.0.0:*                           7890/named

輸出字段說明(從左到右):協(xié)議 → 接收隊(duì)列 → 發(fā)送隊(duì)列 → 本機(jī)IP:端口 → 遠(yuǎn)程IP:端口 → 狀態(tài) → PID/進(jìn)程名

組合2:netstat -anpt【???? 高頻,查TCP所有連接】

含義拆解

-a(所有連接) + -n(數(shù)字顯示) + -p(進(jìn)程信息) + -t(TCP協(xié)議)

核心作用

查詢本機(jī)「所有TCP協(xié)議的網(wǎng)絡(luò)連接」,包含:監(jiān)聽狀態(tài)(LISTEN)、已建立連接(ESTABLISHED)、TIME_WAIT/CLOSE_WAIT等所有狀態(tài),同時顯示每個連接對應(yīng)的進(jìn)程PID/名稱。

適用場景

? 排查TCP連接異常(如:大量TIME_WAIT連接堆積、有異常的遠(yuǎn)程IP連接本機(jī))
? 查看本機(jī)和哪些遠(yuǎn)程IP建立了TCP連接(比如:本機(jī)的java程序是否連接了指定的mysql服務(wù)器)

組合3:netstat -anpu【??? 高頻,查UDP所有連接】

含義拆解

-a(所有連接) + -n(數(shù)字顯示) + -p(進(jìn)程信息) + -u(UDP協(xié)議)

核心作用

查詢本機(jī)「所有UDP協(xié)議的連接/監(jiān)聽端口」及對應(yīng)進(jìn)程

適用場景

UDP是無連接協(xié)議,沒有「已建立連接」的狀態(tài),主要用來查看UDP的監(jiān)聽端口(如DNS的53端口、DHCP的67/68端口)。

組合4:netstat -ant【??? 快速查詢,無進(jìn)程信息】

含義拆解

-a(所有) + -n(數(shù)字) + -t(TCP)

核心作用

快速查詢本機(jī)所有TCP連接狀態(tài),不顯示進(jìn)程信息

適用場景

? 不需要知道進(jìn)程信息,只想快速看TCP連接情況,執(zhí)行速度最快,適合服務(wù)器負(fù)載高時使用。

五、和你上一條命令聯(lián)動:netstat+grep組合篩選(超實(shí)用!)

ps -ef | grep xxx的邏輯完全一致,netstat的查詢結(jié)果也可以通過 管道符| + grep 進(jìn)行精準(zhǔn)篩選,這是生產(chǎn)環(huán)境的必殺技,解決「精準(zhǔn)查詢某一個端口/進(jìn)程/狀態(tài)」的需求,推薦幾個高頻篩選寫法,全部背下來:

場景1:查詢「指定端口」是否被占用/監(jiān)聽(最常用)

比如查 8080 端口、3306 端口:

# 查8080端口的所有相關(guān)連接/監(jiān)聽狀態(tài) + 進(jìn)程信息
netstat -tulnp | grep 8080

# 查3306端口(mysql)是否在監(jiān)聽
netstat -tulnp | grep 3306

場景2:查詢「指定進(jìn)程」占用的所有端口

比如查 nginx、java、mysql 進(jìn)程對應(yīng)的端口:

netstat -tulnp | grep nginx
netstat -tulnp | grep java
netstat -tulnp | grep mysql

場景3:查詢「指定連接狀態(tài)」的所有連接

比如排查是否有大量TIME_WAITESTABLISHED連接堆積:

# 查看所有已建立的TCP連接
netstat -ant | grep ESTABLISHED

# 查看所有TIME_WAIT狀態(tài)的TCP連接(這類連接過多會占用端口資源)
netstat -ant | grep TIME_WAIT

六、netstat 輸出中「常見的連接狀態(tài)」解釋(運(yùn)維必懂)

執(zhí)行netstat -anpt會看到很多STATE(狀態(tài))列的值,這些狀態(tài)是TCP協(xié)議的核心,掌握后能排查絕大多數(shù)網(wǎng)絡(luò)連接異常,記住高頻的5個即可

  1. LISTEN :監(jiān)聽狀態(tài) → 本機(jī)的端口正在等待客戶端連接(服務(wù)已啟動,正常狀態(tài))
  2. ESTABLISHED :已建立連接 → 本機(jī)和遠(yuǎn)程主機(jī)的連接已經(jīng)成功建立,正在傳輸數(shù)據(jù)(正常的業(yè)務(wù)連接)
  3. TIME_WAIT :等待關(guān)閉 → 連接已經(jīng)斷開,系統(tǒng)會保留該連接一段時間(默認(rèn)60秒),防止丟包,少量屬于正常,大量則會占用端口資源
  4. CLOSE_WAIT :被動關(guān)閉 → 對方已經(jīng)斷開連接,但本機(jī)的程序沒有主動關(guān)閉連接,出現(xiàn)大量該狀態(tài)=程序有bug(未釋放連接)
  5. SYN_RECV :等待同步 → 正在建立TCP三次握手的中間狀態(tài),少量正常,大量則可能是SYN洪水攻擊

七、重要補(bǔ)充:netstatvsss命令(必知)

為什么很多人說「netstat 過時了」?

netstat傳統(tǒng)的網(wǎng)絡(luò)查詢命令,而Linux系統(tǒng)在2.6.25內(nèi)核之后,推出了一個全新的、性能更強(qiáng)的命令 ss(socket statistics),二者的關(guān)系是:

ss 是 netstat 的「升級版+替代版」,功能完全覆蓋netstat,且執(zhí)行速度更快、占用資源更少、支持的參數(shù)更多

核心區(qū)別

  1. 性能差異:當(dāng)服務(wù)器的網(wǎng)絡(luò)連接非常多(比如幾萬/幾十萬連接)時,netstat 會非常慢(因?yàn)樗鼜?code>/proc/net/tcp讀取數(shù)據(jù),解析耗時),而ss 直接讀取內(nèi)核的tcp_hashinfo,速度提升百倍以上。
  2. 功能差異ss 支持更多高級篩選(如按連接數(shù)、按端口范圍),能顯示更多內(nèi)核級的網(wǎng)絡(luò)信息。
  3. 兼容性netstat 在部分精簡版Linux系統(tǒng)(如Alpine)中默認(rèn)未安裝,而ss 是默認(rèn)自帶的。

無縫替換:ss對應(yīng)netstat的核心寫法

ss 的參數(shù)和netstat 高度相似,學(xué)會netstat后,ss 幾乎零成本上手,推薦的替換寫法(生產(chǎn)環(huán)境優(yōu)先用ss):

# netstat -tulnp 等價替換(推薦,速度超快)
ss -tulnp

# netstat -anpt 等價替換
ss -anpt

# 篩選指定端口
ss -tulnp | grep 8080

總結(jié):該用哪個?

? 日常學(xué)習(xí)/Windows系統(tǒng):放心用 netstat,兼容性無敵,語法簡單;
? Linux生產(chǎn)環(huán)境/高并發(fā)服務(wù)器:優(yōu)先用 ss,性能碾壓,功能更強(qiáng);
? 面試必答:ssnetstat 的替代命令,性能更好,推薦使用。

八、Windows系統(tǒng)中的 netstat 用法(補(bǔ)充)

netstat在Windows中完全通用,只是有2個小差異,用法幾乎一致,Windows用戶也能直接用:

  1. Windows中 netstat 沒有 -p 參數(shù),而是用 -o 參數(shù)來顯示進(jìn)程PID;
  2. Windows中查看端口對應(yīng)的進(jìn)程名稱,需要結(jié)合任務(wù)管理器(詳細(xì)信息→PID列)。

Windows 高頻寫法

# 查看所有監(jiān)聽的TCP/UDP端口 + PID
netstat -tulno

# 查指定端口(如8080)
netstat -tulno | findstr 8080

九、全文核心知識點(diǎn)總結(jié)(濃縮精華,方便記憶)

  1. netstat 是網(wǎng)絡(luò)狀態(tài)查詢命令,查端口、連接、進(jìn)程占用,Linux/Windows通用;
  2. 核心參數(shù):-t(TCP)、-u(UDP)、-l(監(jiān)聽)、-n(數(shù)字顯示,必加)、-p(進(jìn)程PID)、-a(所有連接);
  3. 封神組合:netstat -tulnp → 查所有監(jiān)聽端口+進(jìn)程,必背;
  4. 精準(zhǔn)篩選:netstat -tulnp | grep 端口/進(jìn)程名 → 精準(zhǔn)查詢,生產(chǎn)環(huán)境必殺技;
  5. 替代命令:ss 是netstat的升級版,性能更強(qiáng),參數(shù)幾乎一致,ss -tulnp 無縫替換;
  6. 核心狀態(tài):LISTEN(監(jiān)聽)、ESTABLISHED(已連接)、TIME_WAIT(等待關(guān)閉)。

希望這份詳解能幫你徹底掌握netstat命令,它和ps、grep一起,是Linux運(yùn)維/開發(fā)的三大基礎(chǔ)命令,掌握后能解決絕大多數(shù)進(jìn)程和網(wǎng)絡(luò)的排查問題 ?!

以上就是Linux/Window如何查網(wǎng)絡(luò)連接/端口/套接字信息的方法大全的詳細(xì)內(nèi)容,更多關(guān)于Linux/Window查網(wǎng)絡(luò)連接/端口/套接字信息的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論

双柏县| 武山县| 襄汾县| 东明县| 大渡口区| 介休市| 龙游县| 青川县| 嘉兴市| 建宁县| 黎川县| 巨野县| 贵溪市| 营口市| 廊坊市| 灌阳县| 松滋市| 木兰县| 疏勒县| 四川省| 龙井市| 永登县| 黑水县| 宜兴市| 剑川县| 林口县| 古丈县| 乾安县| 衡南县| 民丰县| 庆元县| 乌苏市| 南宁市| 陈巴尔虎旗| 阜新市| 潼南县| 五峰| 乳山市| SHOW| 长泰县| 凤翔县|