通過示例學習使用 netstat
netstat 是一個告訴我們系統中所有 tcp/udp/unix socket 連接狀態的命令行工具。它會列出所有已經連接或者等待連接狀態的連接。 該工具在識別某個應用監聽哪個埠時特別有用,我們也能用它來判斷某個應用是否正常的在監聽某個埠。
netstat 命令還能顯示其它各種各樣的網路相關信息,例如路由表, 網卡統計信息, 虛假連接以及多播成員等。
本文中,我們會通過幾個例子來學習 netstat。
(推薦閱讀: 通過示例學習使用 CURL 命令 )
1 - 檢查所有的連接
使用 a
選項可以列出系統中的所有連接,
$ netstat -a
這會顯示系統所有的 tcp、udp 以及 unix 連接。
2 - 檢查所有的 tcp/udp/unix socket 連接
使用 t
選項只列出 tcp 連接,
$ netstat -at
類似的,使用 u
選項只列出 udp 連接,
$ netstat -au
使用 x
選項只列出 Unix socket 連接,
$ netstat -ax
3 - 同時列出進程 ID/進程名稱
使用 p
選項可以在列出連接的同時也顯示 PID 或者進程名稱,而且它還能與其他選項連用,
$ netstat -ap
4 - 列出埠號而不是服務名
使用 n
選項可以加快輸出,它不會執行任何反向查詢(LCTT 譯註:這裡原文有誤),而是直接輸出數字。 由於無需查詢,因此結果輸出會快很多。
$ netstat -an
5 - 只輸出監聽埠
使用 l
選項只輸出監聽埠。它不能與 a
選項連用,因為 a
會輸出所有埠,
$ netstat -l
6 - 輸出網路狀態
使用 s
選項輸出每個協議的統計信息,包括接收/發送的包數量,
$ netstat -s
7 - 輸出網卡狀態
使用 I
選項只顯示網卡的統計信息,
$ netstat -i
8 - 顯示 多播組 信息
使用 g
選項輸出 IPV4 以及 IPV6 的多播組信息,
$ netstat -g
9 - 顯示網路路由信息
使用 r
輸出網路路由信息,
$ netstat -r
10 - 持續輸出
使用 c
選項持續輸出結果
$ netstat -c
11 - 過濾出某個埠
與 grep
連用來過濾出某個埠的連接,
$ netstat -anp | grep 3306
12 - 統計連接個數
通過與 wc
和 grep
命令連用,可以統計指定埠的連接數量
$ netstat -anp | grep 3306 | wc -l
這會輸出 mysql 服務埠(即 3306)的連接數。
這就是我們簡短的案例指南了,希望它帶給你的信息量足夠。 有任何疑問歡迎提出。
via: http://linuxtechlab.com/learn-use-netstat-with-examples/
作者:Shusain 譯者:lujun9972 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive