|
1 | | -netstat |
2 | | -=== |
3 | | - |
4 | | -查看Linux中网络系统状态信息 |
5 | | - |
6 | | -## 补充说明 |
7 | | - |
8 | | -**netstat命令** 用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。 |
9 | | - |
10 | | -### 语法 |
11 | | - |
12 | | -``` |
13 | | -netstat(选项) |
14 | | -``` |
15 | | - |
16 | | -### 选项 |
17 | | - |
18 | | -``` |
19 | | --a或--all:显示所有连线中的Socket; |
20 | | --A<网络类型>或--<网络类型>:列出该网络类型连线中的相关地址; |
21 | | --c或--continuous:持续列出网络状态; |
22 | | --C或--cache:显示路由器配置的快取信息; |
23 | | --e或--extend:显示网络其他相关信息; |
24 | | --F或--fib:显示FIB; |
25 | | --g或--groups:显示多重广播功能群组组员名单; |
26 | | --h或--help:在线帮助; |
27 | | --i或--interfaces:显示网络界面信息表单; |
28 | | --l或--listening:显示监控中的服务器的Socket; |
29 | | --M或--masquerade:显示伪装的网络连线; |
30 | | --n或--numeric:直接使用ip地址,而不通过域名服务器; |
31 | | --N或--netlink或--symbolic:显示网络硬件外围设备的符号连接名称; |
32 | | --o或--timers:显示计时器; |
33 | | --p或--programs:显示正在使用Socket的程序识别码和程序名称; |
34 | | --r或--route:显示Routing Table; |
35 | | --s或--statistice:显示网络工作信息统计表; |
36 | | --t或--tcp:显示TCP传输协议的连线状况; |
37 | | --u或--udp:显示UDP传输协议的连线状况; |
38 | | --v或--verbose:显示指令执行过程; |
39 | | --V或--version:显示版本信息; |
40 | | --w或--raw:显示RAW传输协议的连线状况; |
41 | | --x或--unix:此参数的效果和指定"-A unix"参数相同; |
42 | | ---ip或--inet:此参数的效果和指定"-A inet"参数相同。 |
43 | | -``` |
44 | | - |
45 | | -### 实例 |
46 | | - |
47 | | - **列出所有端口 (包括监听和未监听的)** |
48 | | - |
49 | | -``` |
50 | | -netstat -a #列出所有端口 |
51 | | -netstat -at #列出所有tcp端口 |
52 | | -netstat -au #列出所有udp端口 |
53 | | -``` |
54 | | - |
55 | | - **列出所有处于监听状态的 Sockets** |
56 | | - |
57 | | -``` |
58 | | -netstat -l #只显示监听端口 |
59 | | -netstat -lt #只列出所有监听 tcp 端口 |
60 | | -netstat -lu #只列出所有监听 udp 端口 |
61 | | -netstat -lx #只列出所有监听 UNIX 端口 |
62 | | -``` |
63 | | - |
64 | | - **显示每个协议的统计信息** |
65 | | - |
66 | | -``` |
67 | | -netstat -s 显示所有端口的统计信息 |
68 | | -netstat -st 显示TCP端口的统计信息 |
69 | | -netstat -su 显示UDP端口的统计信息 |
70 | | -
|
71 | | -``` |
72 | | - |
73 | | - **在netstat输出中显示 PID 和进程名称** |
74 | | - |
75 | | -``` |
76 | | -netstat -pt |
77 | | -``` |
78 | | - |
79 | | -`netstat -p`可以与其它开关一起使用,就可以添加“PID/进程名称”到netstat输出中,这样debugging的时候可以很方便的发现特定端口运行的程序。 |
80 | | - |
81 | | - **在netstat输出中不显示主机,端口和用户名(host, port or user)** |
82 | | - |
83 | | -当你不想让主机,端口和用户名显示,使用`netstat -n`。将会使用数字代替那些名称。同样可以加速输出,因为不用进行比对查询。 |
84 | | - |
85 | | -``` |
86 | | -netstat -an |
87 | | -``` |
88 | | - |
89 | | -如果只是不想让这三个名称中的一个被显示,使用以下命令: |
90 | | - |
91 | | -``` |
92 | | -netsat -a --numeric-ports |
93 | | -netsat -a --numeric-hosts |
94 | | -netsat -a --numeric-users |
95 | | -``` |
96 | | - |
97 | | - **持续输出netstat信息** |
98 | | - |
99 | | -``` |
100 | | -netstat -c #每隔一秒输出网络信息 |
101 | | -``` |
102 | | - |
103 | | - **显示系统不支持的地址族(Address Families)** |
104 | | - |
105 | | -``` |
106 | | -netstat --verbose |
107 | | -``` |
108 | | - |
109 | | -在输出的末尾,会有如下的信息: |
110 | | - |
111 | | -``` |
112 | | -netstat: no support for `AF IPX' on this system. |
113 | | -netstat: no support for `AF AX25' on this system. |
114 | | -netstat: no support for `AF X25' on this system. |
115 | | -netstat: no support for `AF NETROM' on this system. |
116 | | -``` |
117 | | - |
118 | | - **显示核心路由信息** |
119 | | - |
120 | | -``` |
121 | | -netstat -r |
122 | | -``` |
123 | | - |
124 | | -使用`netstat -rn`显示数字格式,不查询主机名称。 |
125 | | - |
126 | | - **找出程序运行的端口** |
127 | | - |
128 | | -并不是所有的进程都能找到,没有权限的会不显示,使用 root 权限查看所有的信息。 |
129 | | - |
130 | | -``` |
131 | | -netstat -ap | grep ssh |
132 | | -``` |
133 | | - |
134 | | -找出运行在指定端口的进程: |
135 | | - |
136 | | -``` |
137 | | -netstat -an | grep ':80' |
138 | | -``` |
139 | | - |
140 | | - **显示网络接口列表** |
141 | | - |
142 | | -``` |
143 | | -netstat -i |
144 | | -``` |
145 | | - |
146 | | -显示详细信息,像是ifconfig使用`netstat -ie`。 |
147 | | - |
148 | | - **IP和TCP分析** |
149 | | - |
150 | | -查看连接某服务端口最多的的IP地址: |
151 | | - |
152 | | -``` |
153 | | -netstat -ntu | grep :80 | awk '{print $5}' | cut -d: -f1 | awk '{++ip[$1]} END {for(i in ip) print ip[i],"\t",i}' | sort -nr |
154 | | -``` |
155 | | - |
156 | | -TCP各种状态列表: |
157 | | - |
158 | | -``` |
159 | | -netstat -nt | grep -e 127.0.0.1 -e 0.0.0.0 -e ::: -v | awk '/^tcp/ {++state[$NF]} END {for(i in state) print i,"\t",state[i]}' |
160 | | -``` |
161 | | - |
162 | | -查看phpcgi进程数,如果接近预设值,说明不够用,需要增加: |
163 | | - |
164 | | -``` |
165 | | -netstat -anpo | grep "php-cgi" | wc -l |
166 | | -``` |
167 | | - |
168 | | - |
169 | | -<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ --> |
| 1 | +netstat |
| 2 | +=== |
| 3 | + |
| 4 | +查看Linux中网络系统状态信息 |
| 5 | + |
| 6 | +## 补充说明 |
| 7 | + |
| 8 | +**netstat命令** 用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。 |
| 9 | + |
| 10 | +### 语法 |
| 11 | + |
| 12 | +``` |
| 13 | +netstat(选项) |
| 14 | +``` |
| 15 | + |
| 16 | +### 选项 |
| 17 | + |
| 18 | +``` |
| 19 | +-a或--all:显示所有连线中的Socket; |
| 20 | +-A<网络类型>或--<网络类型>:列出该网络类型连线中的相关地址; |
| 21 | +-c或--continuous:持续列出网络状态; |
| 22 | +-C或--cache:显示路由器配置的快取信息; |
| 23 | +-e或--extend:显示网络其他相关信息; |
| 24 | +-F或--fib:显示FIB; |
| 25 | +-g或--groups:显示多重广播功能群组组员名单; |
| 26 | +-h或--help:在线帮助; |
| 27 | +-i或--interfaces:显示网络界面信息表单; |
| 28 | +-l或--listening:显示监控中的服务器的Socket; |
| 29 | +-M或--masquerade:显示伪装的网络连线; |
| 30 | +-n或--numeric:直接使用ip地址,而不通过域名服务器; |
| 31 | +-N或--netlink或--symbolic:显示网络硬件外围设备的符号连接名称; |
| 32 | +-o或--timers:显示计时器; |
| 33 | +-p或--programs:显示正在使用Socket的程序识别码和程序名称; |
| 34 | +-r或--route:显示Routing Table; |
| 35 | +-s或--statistice:显示网络工作信息统计表; |
| 36 | +-t或--tcp:显示TCP传输协议的连线状况; |
| 37 | +-u或--udp:显示UDP传输协议的连线状况; |
| 38 | +-v或--verbose:显示指令执行过程; |
| 39 | +-V或--version:显示版本信息; |
| 40 | +-w或--raw:显示RAW传输协议的连线状况; |
| 41 | +-x或--unix:此参数的效果和指定"-A unix"参数相同; |
| 42 | +--ip或--inet:此参数的效果和指定"-A inet"参数相同。 |
| 43 | +``` |
| 44 | + |
| 45 | +### 实例 |
| 46 | + |
| 47 | + **列出所有端口 (包括监听和未监听的)** |
| 48 | + |
| 49 | +``` |
| 50 | +netstat -a #列出所有端口 |
| 51 | +netstat -at #列出所有tcp端口 |
| 52 | +netstat -au #列出所有udp端口 |
| 53 | +``` |
| 54 | + |
| 55 | + **列出所有处于监听状态的 Sockets** |
| 56 | + |
| 57 | +``` |
| 58 | +netstat -l #只显示监听端口 |
| 59 | +netstat -lt #只列出所有监听 tcp 端口 |
| 60 | +netstat -lu #只列出所有监听 udp 端口 |
| 61 | +netstat -lx #只列出所有监听 UNIX 端口 |
| 62 | +``` |
| 63 | + |
| 64 | + **显示每个协议的统计信息** |
| 65 | + |
| 66 | +``` |
| 67 | +netstat -s 显示所有端口的统计信息 |
| 68 | +netstat -st 显示TCP端口的统计信息 |
| 69 | +netstat -su 显示UDP端口的统计信息 |
| 70 | +
|
| 71 | +``` |
| 72 | + |
| 73 | + **在netstat输出中显示 PID 和进程名称** |
| 74 | + |
| 75 | +``` |
| 76 | +netstat -pt |
| 77 | +``` |
| 78 | + |
| 79 | +`netstat -p`可以与其它开关一起使用,就可以添加“PID/进程名称”到netstat输出中,这样debugging的时候可以很方便的发现特定端口运行的程序。 |
| 80 | + |
| 81 | + **在netstat输出中不显示主机,端口和用户名(host, port or user)** |
| 82 | + |
| 83 | +当你不想让主机,端口和用户名显示,使用`netstat -n`。将会使用数字代替那些名称。同样可以加速输出,因为不用进行比对查询。 |
| 84 | + |
| 85 | +``` |
| 86 | +netstat -an |
| 87 | +``` |
| 88 | + |
| 89 | +如果只是不想让这三个名称中的一个被显示,使用以下命令: |
| 90 | + |
| 91 | +``` |
| 92 | +netsat -a --numeric-ports |
| 93 | +netsat -a --numeric-hosts |
| 94 | +netsat -a --numeric-users |
| 95 | +``` |
| 96 | + |
| 97 | + **持续输出netstat信息** |
| 98 | + |
| 99 | +``` |
| 100 | +netstat -c #每隔一秒输出网络信息 |
| 101 | +``` |
| 102 | + |
| 103 | + **显示系统不支持的地址族(Address Families)** |
| 104 | + |
| 105 | +``` |
| 106 | +netstat --verbose |
| 107 | +``` |
| 108 | + |
| 109 | +在输出的末尾,会有如下的信息: |
| 110 | + |
| 111 | +``` |
| 112 | +netstat: no support for `AF IPX' on this system. |
| 113 | +netstat: no support for `AF AX25' on this system. |
| 114 | +netstat: no support for `AF X25' on this system. |
| 115 | +netstat: no support for `AF NETROM' on this system. |
| 116 | +``` |
| 117 | + |
| 118 | + **显示核心路由信息** |
| 119 | + |
| 120 | +``` |
| 121 | +netstat -r |
| 122 | +``` |
| 123 | + |
| 124 | +使用`netstat -rn`显示数字格式,不查询主机名称。 |
| 125 | + |
| 126 | + **找出程序运行的端口** |
| 127 | + |
| 128 | +并不是所有的进程都能找到,没有权限的会不显示,使用 root 权限查看所有的信息。 |
| 129 | + |
| 130 | +``` |
| 131 | +netstat -ap | grep ssh |
| 132 | +``` |
| 133 | + |
| 134 | +找出运行在指定端口的进程: |
| 135 | + |
| 136 | +``` |
| 137 | +netstat -an | grep ':80' |
| 138 | +``` |
| 139 | + |
| 140 | + **通过端口找进程ID** |
| 141 | + |
| 142 | +```bash |
| 143 | +netstat -anp|grep 8081 | grep LISTEN|awk '{printf $7}'|cut -d/ -f1 |
| 144 | +``` |
| 145 | + |
| 146 | + **显示网络接口列表** |
| 147 | + |
| 148 | +``` |
| 149 | +netstat -i |
| 150 | +``` |
| 151 | + |
| 152 | +显示详细信息,像是ifconfig使用`netstat -ie`。 |
| 153 | + |
| 154 | + **IP和TCP分析** |
| 155 | + |
| 156 | +查看连接某服务端口最多的的IP地址: |
| 157 | + |
| 158 | +``` |
| 159 | +netstat -ntu | grep :80 | awk '{print $5}' | cut -d: -f1 | awk '{++ip[$1]} END {for(i in ip) print ip[i],"\t",i}' | sort -nr |
| 160 | +``` |
| 161 | + |
| 162 | +TCP各种状态列表: |
| 163 | + |
| 164 | +``` |
| 165 | +netstat -nt | grep -e 127.0.0.1 -e 0.0.0.0 -e ::: -v | awk '/^tcp/ {++state[$NF]} END {for(i in state) print i,"\t",state[i]}' |
| 166 | +``` |
| 167 | + |
| 168 | +查看phpcgi进程数,如果接近预设值,说明不够用,需要增加: |
| 169 | + |
| 170 | +``` |
| 171 | +netstat -anpo | grep "php-cgi" | wc -l |
| 172 | +``` |
| 173 | + |
| 174 | + |
| 175 | +<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ --> |
0 commit comments