操bb国片四区三区,亚洲一片内射无码,91短视频福利导航,蜜桃臀成人免费在线视频观看

Linux運(yùn)維工程師必知:如何在 Linux 中使用網(wǎng)絡(luò)命令netstat?

2024-08-19 11:40:42 Jinyu

netstat 是 Linux 和其他類 Unix 操作系統(tǒng)中最常用的網(wǎng)絡(luò)命令之一。它用于顯示有關(guān)網(wǎng)絡(luò)連接、路由表、接口統(tǒng)計(jì)信息、偽裝連接和多播成員的信息。對(duì)于系統(tǒng)管理員和網(wǎng)絡(luò)工程師來(lái)說(shuō),netstat 是診斷網(wǎng)絡(luò)問題、查看當(dāng)前網(wǎng)絡(luò)活動(dòng)以及獲取系統(tǒng)網(wǎng)絡(luò)配置狀態(tài)的關(guān)鍵工具。

本文將詳細(xì)介紹 netstat 命令的各個(gè)方面,包括其功能、常見用法、輸出解讀以及如何使用 netstat 進(jìn)行網(wǎng)絡(luò)故障排除。我們還將探討一些高級(jí)用法,幫助您在實(shí)際工作中更好地應(yīng)用這個(gè)強(qiáng)大的工具。

圖片

netstat 命令簡(jiǎn)介

netstat 是網(wǎng)絡(luò)統(tǒng)計(jì)的縮寫,它提供了與網(wǎng)絡(luò)子系統(tǒng)相關(guān)的各種統(tǒng)計(jì)信息。通過(guò) netstat,您可以監(jiān)控以下內(nèi)容:

  • 網(wǎng)絡(luò)連接的狀態(tài)(TCP、UDP、ICMP 等)
  • 網(wǎng)絡(luò)接口的流量統(tǒng)計(jì)
  • 系統(tǒng)的路由表
  • 監(jiān)聽的套接字(sockets)
  • 網(wǎng)絡(luò)協(xié)議的使用情況

netstat 的功能非常廣泛,因此理解和熟練使用它能夠極大地提高網(wǎng)絡(luò)管理的效率。

netstat 的基本語(yǔ)法如下:

netstat [選項(xiàng)]

常見的選項(xiàng)包括:

  • -a:顯示所有的連接,包括監(jiān)聽和非監(jiān)聽的。
  • -t:僅顯示 TCP 連接。
  • -u:僅顯示 UDP 連接。
  • -n:以數(shù)字形式顯示地址和端口號(hào)。
  • -r:顯示路由表。
  • -i:顯示網(wǎng)絡(luò)接口統(tǒng)計(jì)信息。
  • -s:顯示每個(gè)協(xié)議的統(tǒng)計(jì)信息。
  • -p:顯示哪個(gè)進(jìn)程使用了哪個(gè)套接字。

使用 netstat 查看網(wǎng)絡(luò)連接

顯示所有的網(wǎng)絡(luò)連接

要查看系統(tǒng)上所有的網(wǎng)絡(luò)連接,可以使用 netstat -a 命令。這個(gè)命令列出所有的 TCP 和 UDP 連接,包括正在監(jiān)聽的服務(wù)。示例如下:

netstat -a
圖片

輸出通常會(huì)包括如下內(nèi)容:

  • Proto:協(xié)議類型(TCP 或 UDP)。
  • Recv-Q:接收隊(duì)列中的字節(jié)數(shù)。
  • Send-Q:發(fā)送隊(duì)列中的字節(jié)數(shù)。
  • Local Address:本地端的 IP 地址和端口號(hào)。
  • Foreign Address:遠(yuǎn)程端的 IP 地址和端口號(hào)。
  • State:連接的狀態(tài)(例如 ESTABLISHED, LISTEN 等)。

顯示 TCP 連接

如果只想查看 TCP 連接,可以使用 -t 選項(xiàng)。例如:

netstat -t
圖片

顯示 UDP 連接

類似地,您可以使用 -u 選項(xiàng)僅查看 UDP 連接:

netstat -u
圖片

使用數(shù)字顯示地址和端口

通常,netstat 會(huì)將地址和端口號(hào)解析為主機(jī)名和服務(wù)名,但有時(shí)您可能需要直接查看數(shù)字形式的地址和端口號(hào),這時(shí)可以使用 -n 選項(xiàng):

netstat -an
圖片

查看網(wǎng)絡(luò)接口信息

顯示網(wǎng)絡(luò)接口統(tǒng)計(jì)

netstat 還可以用于查看網(wǎng)絡(luò)接口的統(tǒng)計(jì)信息。使用 -i 選項(xiàng)可以顯示每個(gè)網(wǎng)絡(luò)接口的詳細(xì)統(tǒng)計(jì)信息,例如傳輸?shù)陌鼣?shù)量、錯(cuò)誤數(shù)等:

netstat -i
圖片

查看詳細(xì)的接口信息

要查看更詳細(xì)的接口統(tǒng)計(jì)信息,可以使用 -ie 選項(xiàng)。這將顯示接口的錯(cuò)誤信息、MTU(最大傳輸單元)等內(nèi)容:

netstat -ie
圖片

查看系統(tǒng)的路由表

顯示系統(tǒng)的路由表

使用 -r 選項(xiàng)可以顯示當(dāng)前系統(tǒng)的路由表。路由表顯示了網(wǎng)絡(luò)數(shù)據(jù)包如何在網(wǎng)絡(luò)中被路由到不同的目的地:

netstat -r
圖片

輸出將包括以下列:

  • Destination:目標(biāo)網(wǎng)絡(luò)或主機(jī)。
  • Gateway:到達(dá)目標(biāo)的網(wǎng)關(guān)。
  • Genmask:子網(wǎng)掩碼。
  • Flags:標(biāo)志位,表示路由的狀態(tài),例如 U(Up)、G(Gateway)等。
  • Iface:使用的網(wǎng)絡(luò)接口。

監(jiān)控協(xié)議統(tǒng)計(jì)信息

顯示協(xié)議的統(tǒng)計(jì)信息

netstat -s 選項(xiàng)可以顯示各種網(wǎng)絡(luò)協(xié)議的統(tǒng)計(jì)信息,例如 TCP、UDP、ICMP 等。這個(gè)命令對(duì)于分析網(wǎng)絡(luò)流量和檢測(cè)異常非常有用:

netstat -s
圖片

顯示特定協(xié)議的統(tǒng)計(jì)信息

如果您只對(duì)某個(gè)特定協(xié)議的統(tǒng)計(jì)信息感興趣,可以在 -s 后面加上協(xié)議名稱。例如,要查看 TCP 的統(tǒng)計(jì)信息,可以使用:

netstat -st
圖片

要查看 UDP 的統(tǒng)計(jì)信息,可以使用:

netstat -su

查看監(jiān)聽的套接字

顯示正在監(jiān)聽的服務(wù)

netstat -l 命令用于顯示正在監(jiān)聽的套接字,這些套接字通常表示系統(tǒng)上正在運(yùn)行的服務(wù)器服務(wù)。示例如下:

netstat -l
圖片
圖片

按協(xié)議過(guò)濾監(jiān)聽套接字

可以使用 -lt 和 -lu 選項(xiàng)分別過(guò)濾 TCP 和 UDP 的監(jiān)聽套接字:

netstat -lt  # 僅顯示正在監(jiān)聽的 TCP 套接字
netstat -lu  # 僅顯示正在監(jiān)聽的 UDP 套接字
圖片
圖片

顯示套接字的進(jìn)程信息

顯示使用套接字的進(jìn)程

netstat 的 -p 選項(xiàng)允許顯示哪個(gè)進(jìn)程使用了哪個(gè)網(wǎng)絡(luò)連接。這在追蹤網(wǎng)絡(luò)活動(dòng)時(shí)非常有用:

netstat -p
圖片
圖片

請(qǐng)注意,您可能需要超級(jí)用戶權(quán)限才能查看所有進(jìn)程的信息,因此通常需要使用 sudo

sudo netstat -p

輸出的最后一列將顯示進(jìn)程的 PID(進(jìn)程 ID)和進(jìn)程名稱。

使用 netstat 進(jìn)行網(wǎng)絡(luò)故障排除

檢查網(wǎng)絡(luò)連接狀態(tài)

netstat 可以幫助您快速檢查系統(tǒng)上的網(wǎng)絡(luò)連接狀態(tài)。例如,您可以使用以下命令查看系統(tǒng)上所有的 ESTABLISHED 連接:

netstat -atn | grep ESTABLISHED
圖片

這對(duì)于確認(rèn)某個(gè)服務(wù)是否正在正常通信非常有幫助。

檢測(cè)端口沖突

如果懷疑兩個(gè)服務(wù)之間存在端口沖突,可以使用 netstat 來(lái)檢查哪個(gè)服務(wù)正在占用特定端口。例如,要檢查端口 80 上的服務(wù),您可以使用:

sudo netstat -tuln | grep :80

監(jiān)控網(wǎng)絡(luò)接口流量

使用 netstat -i 可以實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)接口的流量情況,結(jié)合 watch 命令,您可以實(shí)時(shí)刷新查看接口流量:

watch -n 1 netstat -i
圖片

這個(gè)命令每秒刷新一次網(wǎng)絡(luò)接口的統(tǒng)計(jì)信息,非常適合監(jiān)控網(wǎng)絡(luò)接口的實(shí)時(shí)流量。

高級(jí)用法

結(jié)合 grep 進(jìn)行過(guò)濾

netstat 生成的大量輸出有時(shí)可能會(huì)讓人眼花繚亂。結(jié)合 grep 命令可以有效過(guò)濾出有用的信息。例如,查找所有與特定 IP 地址相關(guān)的連接:

netstat -an | grep 192.168.1.1

結(jié)合 awk 進(jìn)行統(tǒng)計(jì)分析

使用 awk 可以對(duì) netstat 的輸出進(jìn)行更復(fù)雜的統(tǒng)計(jì)分析。例如,統(tǒng)計(jì)每種連接狀態(tài)的數(shù)量:

netstat -ant | awk '{print $6}' | sort | uniq -c | sort -n
圖片

這個(gè)命令將顯示每種連接狀態(tài)的連接數(shù),如 ESTABLISHED、TIME_WAIT、CLOSE_WAIT 等。

結(jié)合 cron 進(jìn)行定時(shí)監(jiān)控

將 netstat 命令放入 cron 任務(wù)中,可以實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)狀態(tài)的定時(shí)監(jiān)控。例如,每五分鐘記錄一次當(dāng)前的網(wǎng)絡(luò)連接狀態(tài):

*/5 * * * * /bin/netstat -an > /var/log/netstat.log



我要咨詢