歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Linux中獲取網絡信息的netstat命令的常用參數和用法

Linux中獲取網絡信息的netstat命令的常用參數和用法

日期:2017/3/1 17:31:21   编辑:Linux技術

netstat - 顯示網絡連接,路由表,接口狀態,偽裝連接,網絡鏈路信息和組播成員組。 [[ ]]


總覽 SYNOPSIS

netstat [address_family_options] [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--numeric-hosts][--numeric-ports][--numeric-ports] [--symbolic|-N] [--extend|-e[--extend|-e]] [--timers|-o] [--program|-p] [--verbose|-v] [--continuous|-c] [delay] netstat {--route|-r} [address_family_options] [--extend|-e[--extend|-e]] [--verbose|-v] [--numeric|-n] [--numeric-hosts][--numeric-ports][--numeric-ports] [--continuous|-c] [delay] netstat {--interfaces|-i} [iface] [--all|-a] [--extend|-e[--extend|-e]] [--verbose|-v] [--program|-p] [--numeric|-n] [--numeric-hosts][--numeric-ports][--numeric-ports] [--continuous|-c] [delay] netstat {--groups|-g} [--numeric|-n] [--numeric-hosts][--numeric-ports][--numeric-ports] [--continuous|-c] [delay]netstat {--masquerade|-M} [--extend|-e] [--numeric|-n] [--numeric-hosts][--numeric-ports][--numeric-ports] [--continuous|-c] [delay] netstat {--statistics|-s} [--tcp|-t] [--udp|-u] [--raw|-w] [delay] netstat {--version|-V} netstat {--help|-h} address_family_options:
[--protocol={inet,unix,ipx,ax25,netrom,ddp}[,...]] [--unix|-x] [--inet|--ip] [--ax25] [--ipx] [--netrom] [--ddp]
[[ ]]


描述 DESCRIPTION

Netstat 程序顯示Linux網絡子系統的信息。 輸出信息的類型是由第一個參數控制的,就像這樣: [[ ]]
(none)
無選項時, netstat 顯示打開的套接字. 如果不指定任何地址族,那麼打印出所有已配置地址族的有效套接字。 [[ ]]
--route , -r
顯示內核路由表。 [[ ]]
--groups , -g
顯示IPv4 和 IPv6的IGMP組播組成員關系信息。 [[ ]]
--interface=iface , -i
顯示所有網絡接口列表或者是指定的 iface 。 [[ ]]
--masquerade , -M
顯示一份所有經偽裝的會話列表。 [[ ]]
--statistics , -s
顯示每種協議的統計信息。 [[ ]]


選項 OPTIONS

[[ ]]
--verbose , -v
詳細模式運行。特別是打印一些關於未配置地址族的有用信息。 [[ ]]
--numeric , -n
顯示數字形式地址而不是去解析主機、端口或用戶名。 [[ ]]
--numeric-hosts
顯示數字形式的主機但是不影響端口或用戶名的解析。 [[ ]]
--numeric-ports
顯示數字端口號,但是不影響主機或用戶名的解析。 [[ ]]
--numeric-users
顯示數字的用戶ID,但是不影響主機和端口名的解析。 [[ ]]
--protocol=family , -A
指定要顯示哪些連接的地址族(也許在底層協議中可以更好地描述)。 family 以逗號分隔的地址族列表,比如 inet , unix , ipx , ax25 , netrom , 和 ddp 。 這樣和使用 --inet , --unix ( -x ), --ipx , --ax25 , --netrom, 和 --ddp 選項效果相同。 地址族 inet 包括raw, udp 和tcp 協議套接字。 [[ ]]
-c, --continuous
將使 netstat 不斷地每秒輸出所選的信息。 [[ ]]
-e, --extend
顯示附加信息。使用這個選項兩次來獲得所有細節。 [[ ]]
-o, --timers
包含與網絡定時器有關的信息。 [[ ]]
-p, --program
顯示套接字所屬進程的PID和名稱。 [[ ]]
-l, --listening
只顯示正在偵聽的套接字(這是默認的選項) [[ ]]
-a, --all
顯示所有正在或不在偵聽的套接字。加上 --interfaces 選項將顯示沒有標記的接口。 [[ ]]
-F
顯示FIB中的路由信息。(這是默認的選項) [[ ]]
-C
顯示路由緩沖中的路由信息。 [[ ]]
delay
netstat將循環輸出統計信息,每隔 delay 秒。 [[ ]]


輸出 OUTPUT

[[ ]]
活動的Internet網絡連接 (TCP, UDP, raw)
[[ ]]
Proto
套接字使用的協議。 [[ ]]
Recv-Q
連接此套接字的用戶程序未拷貝的字節數。 [[ ]]
Send-Q
遠程主機未確認的字節數。 [[ ]]
Local Address
套接字的本地地址(本地主機名)和端口號。除非給定-n --numeric ( -n ) 選項,否則套接字地址按標准主機名(FQDN)進行解析,而端口號則轉換到相應的服務名。 [[ ]]
Foreign Address
套接字的遠程地址(遠程主機名)和端口號。 Analogous to "Local Address." [[ ]]
State
套接字的狀態。因為在RAW協議中沒有狀態,而且UDP也不用狀態信息,所以此行留空。通常它為以下幾個值之一:
ESTABLISHED
套接字有一個有效連接。
SYN_SENT
套接字嘗試建立一個連接。
SYN_RECV
從網絡上收到一個連接請求。
FIN_WAIT1
套接字已關閉,連接正在斷開。
FIN_WAIT2
連接已關閉,套接字等待遠程方中止。
TIME_WAIT
在關閉之後,套接字等待處理仍然在網絡中的分組
CLOSED
套接字未用。
CLOSE_WAIT
遠程方已關閉,等待套接字關閉。
LAST_ACK
遠程方中止,套接字已關閉。等待確認。
LISTEN
套接字監聽進來的連接。如果不設置 --listening (-l) 或者 --all (-a) 選項,將不顯示出來這些連接。
CLOSING
套接字都已關閉,而還未把所有數據發出。
UNKNOWN
套接字狀態未知。
[[ ]]
User
套接字屬主的名稱或UID。 [[ ]]
PID/Program name
以斜線分隔的處理套接字程序的PID及進程名。 --program 使此欄目被顯示。你需要 superuser 權限來查看不是你擁有的套接字的信息。對IPX套接字還無法獲得此信息。 [[ ]]
Timer
(this needs to be written) [[ ]]
活動的UNIX域套接字
[[ ]]
Proto
套接字所用的協議(通常是unix)。 [[ ]]
RefCnt
使用數量(也就是通過此套接字連接的進程數)。 [[ ]]
Flags
顯示的標志為SO_ACCEPTON(顯示為 ACC ), SO_WAITDATA ( W ) 或 SO_NOSPACE ( N )。 如果相應的進程等待一個連接請求,那麼SO_ACCECPTON用於未連接的套接字。其它標志通常並不重要 [[ ]]
Type
套接字使用的一些類型:
SOCK_DGRAM
此套接字用於數據報(無連接)模式。
SOCK_STREAM
流模式(連接)套接字
SOCK_RAW
此套接字用於RAW模式。
SOCK_RDM
一種服務可靠性傳遞信息。
SOCK_SEQPACKET
連續分組套接字。
SOCK_PACKET
RAW接口使用套接字。
UNKNOWN
將來誰知道它的話將告訴我們,就填在這裡 :-)
[[ ]]
State
此字段包含以下關鍵字之一:
FREE
套接字未分配。
LISTENING
套接字正在監聽一個連接請求。除非設置 --listening (-l) 或者 --all (-a) 選項,否則不顯示。
CONNECTING
套接字正要建立連接。
CONNECTED
套接字已連接。
DISCONNECTING
套接字已斷開。
(empty)
套接字未連。

例1
a.列出所有端口 (包括監聽和未監聽的)

復制代碼代碼如下:
[root@BlackGhost zhangy]# netstat -a | more

b.列出所有TCP端口

復制代碼代碼如下:
[root@BlackGhost zhangy]# netstat -at

c.列出所有UDP端口

復制代碼代碼如下:
[root@BlackGhost zhangy]# netstat -au

d.顯示核心路由信息

復制代碼代碼如下:
[root@BlackGhost zhangy]# netstat -r

e.顯示網絡接口列表

復制代碼代碼如下:
[root@BlackGhost zhangy]# netstat -i

f.顯看已連接的TCP端口,以及PID

復制代碼代碼如下:
[root@BlackGhost zhangy]# netstat -tpnl

g.查看連接某服務端口最多的的IP地址

復制代碼代碼如下:
[root@BlackGhost zhangy]# netstat -nat | grep "192.168.1.15:22" |awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -20
18 221.136.168.36
3 154.74.45.242
2 78.173.31.236
2 62.183.207.98
2 192.168.1.14
2 182.48.111.215
2 124.193.219.34
2 119.145.41.2
2 114.255.41.30

例2

復制代碼代碼如下:
[root@localhost ~]# netstat -anp |grep 3306 -c #查看3306 端口(mysql)的鏈接數
11

Copyright © Linux教程網 All Rights Reserved