命令 / Linux / netstat 详解
一、简介
netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态(Interface Statistics),masquerade 连接,多播成员(Multicast Memberships)等等。
二、输出信息含义
执行 netstat 后,其输出结果如下:
激活Internet连接 (w/o 服务器)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:5347 localhost:59660 ESTABLISHED
tcp 0 0 node1.linuxidc.co:34576 121.40.43.188:https ESTABLISHED
tcp 0 0 node1.linuxidc.co:59434 61.135.169.125:https ESTABLISHED
tcp 0 0 node1.linuxidc.co:35828 node1.linuxidc.co:https ESTABLISHED
tcp 0 0 node1.linuxidc.co:36734 47.110.223.99:https ESTABLISHED
tcp 0 0 node1.linuxidc.co:37758 218.11.11.245:https ESTABLISHED
tcp 0 0 localhost:5280 localhost:52216 TIME_WAIT 活跃的UNIX域套接字 (w/o 服务器)
Proto RefCnt Flags Type State I-Node 路径
unix 2 [ ] 数据报 38509 /run/user/1000/systemd/notify
unix 2 [ ] 数据报 23508 /run/user/121/systemd/notify
unix 2 [ ] 数据报 15233 /run/systemd/journal/syslog
unix 9 [ ] 数据报 15237 /run/systemd/journal/socket
unix 24 [ ] 数据报 12822 /run/systemd/journal/dev-log
unix 2 [ ] 数据报 23464 /run/wpa_supplicant/wlp3s0
unix 3 [ ] 数据报 15218 /run/systemd/notify
从整体上看,netstat 的输出结果可以分为两个部分:
一个是 Active Internet connections,称为有源 TCP 连接,其中“Recv-Q”和“Send-Q”指的是 接收队列 和 发送队列 。这些数字一般都应该是 0 。如果不是则表示数据包正在队列中堆积,这种情况只能在非常少的情况见到。
另一个是 Active UNIX domain sockets,称为有源 Unix 域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
| 标签 | 功能 |
|---|---|
| Proto | 显示连接使用的协议。 |
| RefCnt | 表示连接到本套接口上的进程号。 |
| Types | 显示套接口的类型。 |
| State | 显示套接口当前的状态。 |
| Path | 表示连接到套接口的其它进程使用的路径名。 |
三、常见参数
| 参数 | 功能 |
|---|---|
| -a(all) | 显示所有选项,默认不显示 LISTEN 相关。 |
| -t (tcp) | 仅显示tcp相关选项。 |
| -u(udp) | 仅显示udp相关选项。 |
| -n | 拒绝显示别名,能显示数字的全部转化成数字。 |
| -l | 仅列出有在 Listen (监听) 的服务状态。 |
| -p | 显示建立相关链接的程序名。 |
| -r | 显示路由信息,路由表。 |
| -e | 显示扩展信息,例如 uid 等。 |
| -s | 按各个协议进行统计。 |
| -c | 每隔一个固定时间,执行该netstat命令。 |
(SAW:Game Over!)
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
