5.4 netstat
Windows 和 Linux 操作系统均提供了 netstat 命令,我们经常使用这个命令查看网络连接状态。这里以 Linux 系统为例,netstat 命令常见选项如下所示:
-a (all)显示所有选项,netstat 默认不显示 LISTEN 相关。
-t (tcp)仅显示 tcp 相关选项
-u (udp)仅显示 udp 相关选项
-n 不显示别名,能显示数字的全部转化成数字
-l 仅列出有在 Listen (监听) 的服务状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计 (重要)
-c 每隔一个固定时间,执行该 netstat 命令。
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
我们来详细介绍一下 -n 选项,默认情况下,对于一些有别名的 ip 地址和端口号 netstat 会以其别名来显示,例如 127.0.0.1 会显示成 localhost,80 端口会显示成 http。如下所示:
[root@iZ238vnojlyZ ~]# netstat -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:svn 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:http 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ddi-tcp-1 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:italk 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:dnp 0.0.0.0:* LISTEN
tcp 0 0 localhost:32000 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:commtact-http 0.0.0.0:* LISTEN
tcp 0 404 iZ238vnojlyZ:ssh 101.224.250.233:57844 ESTABLISHED
tcp 0 0 iZ238vnojlyZ:59520 100.100.45.131:http ESTABLISHED
tcp 0 0 localhost:32000 localhost:31000 ESTABLISHED
tcp6 0 0 [::]:mysql [::]:* LISTEN
tcp6 0 0 [::]:ftp [::]:* LISTEN
tcp6 0 0 localhost:31000 localhost:32000 ESTABLISHED
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
我们加上 -n 选项看一下效果:
[root@iZ238vnojlyZ ~]# netstat -atn
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8888 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:12345 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:20000 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:32000 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:20002 0.0.0.0:* LISTEN
tcp 0 404 120.55.94.78:22 101.224.250.233:57844 ESTABLISHED
tcp 0 0 10.117.203.175:59520 100.100.45.131:80 ESTABLISHED
tcp 15 0 127.0.0.1:32000 127.0.0.1:31000 ESTABLISHED
tcp6 0 0 :::3306 :::* LISTEN
tcp6 0 0 :::21 :::* LISTEN
tcp6 0 0 127.0.0.1:31000 127.0.0.1:32000 ESTABLISHED
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
如上所示,所有的 ip 地址和端口号就不再以别名形式显示了。
在 Windows 系统上,除了可以使用 netstat 查看网络状态信息以外,还可以通过任务管理器打开资源监视器来查看当前系统各种网络连接状态(以下是 Win10 的截图):
上次更新: 2024/07/08, 00:14:14