成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Netstat 還能這么玩兒?

系統 Linux
netstat 這個命令在 Linux 、Windows 和 MacOS 操作系統下都兼容,不同的是,netstat 在 UNIX 下顯示詳細信息的命令是 man netstat ,而在 Linux 和 Windows 下面是 netstat --help。

一次摸魚的機會,看到群里小伙伴問了一嘴 netstat -tnpl 這個命令是干啥的,netstat 這個命令用過很多次,但是我其實也沒有認真研究,但是這是一個問題,我不能放過它,而且 netstat 這個命令我日常就用來查詢端口的監聽狀態了,所以趁著這次機會,一起搞懂 netstat 這個命令。

netstat 這個命令在 Linux 、Windows 和 MacOS 操作系統下都兼容,不同的是,netstat 在 UNIX 下顯示詳細信息的命令是 man netstat ,而在 Linux 和 Windows 下面是 netstat --help。

Linux 下的 netstat 命令

當我在 Linux 下執行 man netstat 命令之后,系統顯示出來的提示著實讓我嚇一大跳,看來這個命令內容很多啊!不要被這么長的描述嚇到,我們一步一步來。

首先來了解一下 netstat 這個命令是干啥的。

官方給我們的解釋就是

netstat -- show network status

列出網絡狀態

但是這網絡狀態都有啥呢?帶著疑問,我在 Linux 下執行了一下。

打印出來是一個六元組,六元組每一列的內容分別是

仔細看了一下這個六元組,這好像表明 netstat 這個命令是用于監控傳入和傳出的網絡連接和狀態的一個命令行工具啊。

從整體上來看,netstst 的輸出結果可以分為兩部分,一部分是 Active Internet connections,稱為活躍 TCP 連接,其中的 Recv-Q 和 Send-Q 指的是客戶端發送隊列和客戶端接收隊列。這兩個隊列的值一般都是 0 ,如果不是 0 的話表示有消息堆積還沒有發出去/取出,這種情況一般很少見到。

另外一部分是 Active UNIX domain sockets, 稱為活躍的 Unix 域套接字,這部分中的 socket 和網絡 socket 套接字一樣,不同的是,這塊只能用來本地通信,性能要比網絡 socket 高。Active UNIX domain sockets 也是一個六元組,分別表示

netstat 參數釋義

下面我們來解釋一下 netstat --help 列出來的一些參數,我們從最常見的一些參數開始入手,這樣大家看起來也能形成階段性記憶,不至于失去重點。

netstat -a

-a 這個參數默認會監控所有的 socket 連接。

包括已經監聽的、已經建立連接的、客戶端發送的等待服務器的和未被監聽都會被列出來。

netstat -at/-t

netstat -at 和 netstat -t 這倆后綴都是用來監聽與 TCP 協議有關的端口,不同的是 netstat -at 會監聽所有 State(狀態)下的端口,而 netstat -t 僅僅會監聽 ESTABLISHED 狀態的端口。

netstat -at

netstat -t

netstat -au/-u

同樣的,netstat -au 和 netstat -u 都會監控與 UDP 有關的端口,不同的是 netstat -au 會監聽所有 State(狀態)下的端口,而 netstat -u 僅僅會監聽 ESTABLISHED 狀態的端口。

netstat -au

netstat -u

我這里測試是沒有監控已經建立連接狀態下的 UDP 協議。

netstat -ap

這條命令用于列出程序運行的端口,常用的命令是

netstat -ap|grep '程序名'

比如我們要找 http 程序,就是 Netstat -ap|grep http

還可以直接列出端口號

netstat -ap|grep 8080

不過需要注意下,并不是所有的程序都能被找到,沒有權限的不會顯示,使用 root 權限可以查詢所有信息。

netstat -l

netstat -l 用于監聽正在處于監聽狀態的端口(讀起來還真有那么點費勁,為了讀起來更順暢,后面直接使用列出替換監聽)。

netstat -lt 只用于列出所有監聽 TCP 端口。

netstat -lu 只用于列出所有監聽 UDP 端口。

netstat -lx 只用于列出所有監聽 UNIX 端口。

netstat -s

netstat -s用于列出所有端口的統計信息。

netstat -st用于列出 TCP 端口的統計信息。

netstat -su用于列出 UDP 端口的統計信息。

netstat -p

netstat -p 可以與其他參數一起使用,例如 netstat -pt 就可以列出服務名稱和 PID 號。

netstat -c

使用 netstat -c 將每隔一秒列出網絡信息。

netstat -r

netstat -r用于列出路由核心信息。

netstat --verbose

這條命令會列出系統支持的地址族(Address Family)。

Address Family 簡單來說就是底層是使用的哪種通信協議來遞交數據的,如 AF_INET 用的是 TCP/IPv4;AF_INET6 使用的是 TCP/IPv6;而 AF_LOCAL 或者 AF_UNIX 則指的是本地通信(即本次通信是在當前主機上的進程間的通信),一般用絕對路徑的形式來指明。

netstat -i

netstat -i 用來列出網絡接口數據包,包括傳輸和接收具有 MTU(最大傳輸單元)的數據包。

另外,netstat -ie 還用于列出內核接口表,和ifconfig 命令很相似

關于這個問題

所以,回到文章剛開始的那個疑問,netstat -tnpl 是干什么用的,其實這就是幾個參數的組合

  • -t :僅列出與 tcp 有關的信息
  • -n:以數字形式列出
  • -p:列出正在使用 socket PID 和 程序名稱
  • -l:列出正在監聽的服務器 socket

我們執行一下這個命令。

另外,在 Linux 中,已經推薦使用 ss 來替代 netstat ,使用 ip route 來替代 netstat -r ,使用ip -s link 來替代 netstat -i ,使用 ip addr 來替代 netstat -g 了。


責任編輯:武曉燕 來源: 程序員cxuan
相關推薦

2025-02-03 08:16:56

2022-10-31 08:47:21

人臉識別按鍵鍵盤

2020-05-09 16:45:56

ping命令Linux

2017-03-17 13:40:48

思科視頻

2020-10-09 10:45:22

語言代碼數組

2022-10-28 19:19:11

ChromeNetwork網絡

2021-08-29 18:13:03

緩存失效數據

2021-11-22 11:05:20

Vue 3setup前端

2024-03-25 08:03:32

技術面試ShowMeBug協同編程

2024-10-28 07:10:00

scroll標記前端網格布局

2021-01-27 18:13:35

日志nginx信息

2019-03-28 11:07:56

Spring BootRedis緩存

2024-10-17 16:55:08

2013-03-26 13:26:41

婚禮微信微信公眾賬號

2020-08-14 08:19:25

Shell命令行數據

2017-03-07 09:49:18

存儲

2021-04-01 05:40:53

分庫分表數據庫MySQL

2022-01-04 08:00:48

前端技術Esbuild

2014-12-15 09:16:10

DockerDaoCloud鏡像部署
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 黄网站免费观看 | 综合中文字幕 | 亚洲在线一区 | 国产精品精品视频一区二区三区 | 国产日韩免费观看 | 日韩欧美一区二区三区免费看 | 日韩在线播放一区 | 色一阁| 欧美日韩国产一区二区 | 精品国产乱码久久久久久闺蜜 | 老司机狠狠爱 | 欧美不卡在线 | 欧美日韩成人在线 | 国产中文视频 | 欧美亚洲国产一区二区三区 | 国内精品视频 | 成人在线中文字幕 | 色婷婷久久综合 | 99精品一区二区 | a免费在线 | 久久久999国产精品 中文字幕在线精品 | 久久爆操| 国产91黄色| 黄色av大片 | 欧美视频中文字幕 | 在线免费看黄 | 亚洲不卡av在线 | 日韩在线免费 | 久久精品性视频 | 欧美h| 国产成人一区二区 | 亚洲一区二区中文字幕在线观看 | 久久网一区二区 | 在线看无码的免费网站 | 日韩成人免费在线视频 | 国产成人精品一区二区 | 日韩欧美不卡 | 久久网站免费视频 | 欧美日韩精品久久久免费观看 | 国产精品成人一区二区 | cao视频 |