|
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