Linux技术——netstat命令详解
简介:Netstat 是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括 tcp, udp 以及 unix 套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字。netstat - 打印网络连接、路由表、连接的数据统计、伪装连接以及广播域成员。常见参数:-a (all)显示所有选项,默认不显示LISTEN相关-t (tcp)仅显示t
·
简介:
Netstat 是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括 tcp, udp 以及 unix 套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字。
netstat - 打印网络连接、路由表、连接的数据统计、伪装连接以及广播域成员。
常见参数:
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
1、列出所有的连接
netstat -a
-a选项会列出tcp,udp和unix协议下所有套接字的连接。但是我们一般只是想查找某个协议或某个端口的具体连接情况。
-a选项会列出tcp,udp和unix协议下所有套接字的连接。但是我们一般只是想查找某个协议或某个端口的具体连接情况。
2、只列出TCP或UDP协议的连接
用-t选项列出TCP协议的连接
用-u选项列出UDP协议的连接
3. 禁用反向域名解析,加快查询速度
默认情况下 netstat 会通过反向域名解析技术查找每个 IP 地址对应的主机名。这会降低查找速度。如果你觉得 IP 地址已经足够,而没有必要知道主机名,就使用 -n 选项禁用域名解析功能。tcp 0 0 192.168.56.101:22 192.168.56.1:46119 ESTABLISHED 是用ssh协议登录到主机的,所以可以看到这是建立的一条tcp连接。
现在我们可以看到处于监听状态的 TCP 端口和连接。如果你查看所有监听端口,去掉 -t 选项。如果你只想查看 UDP 端口,使用 -u 选项,代替 -t 选项。
5. 获取进程名、进程号以及用户ID
查看端口和连接的信息时,能查看到它们对应的进程名和进程号对系统管理员来说是非常有帮助的。举个例子,Apache 的 httpd 服务开启80端口,如果你要查看 http 服务是否已经启动,或者 http 服务是由 apache 还是 nginx 启动的,这时候你可以看看进程名。使用 -p 选项查看进程信息。
相比进程名和进程号而言,查看进程的拥有者会更有用。使用 -ep 选项可以同时查看进程名和用户名。
上面列出 TCP 协议下的监听套接字,同时显示进程信息和一些额外信息。这些额外的信息包括用户名和进程的索引节点号。这个命令对网管来说很有用。
比如:
8. 打印网络接口
netstat 也能打印网络接口信息,-i 选项就是为这个功能而生。上面输出的信息比较原始。我们将 -e 选项和 -i 选项搭配使用,可以输出用户友好的信息。并且和ifconfig命令输出的结果是一样的。
选项 -g 会输出 IPv4 和 IPv6 的多播组信息。
$ watch -d -n0 "netstat -atnp | grep ESTA"
更多推荐
已为社区贡献2条内容
所有评论(0)