Linux命令之显示网络状态netstat

Posted 二木成林

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux命令之显示网络状态netstat相关的知识,希望对你有一定的参考价值。

概述

netstat 命令可以用于查看当前系统的网络状态情况。

语法

该命令的语法如下:

netstat [选项]

该命令支持的选项有:

选项说明
-a, --all显示所有连线中的Socket
-A<网络类型>, --<网络类型>列出该网络类型连线中的相关地址
-c, --continuous持续列出网络状态
-C, --cache显示路由器配置的快取信息
-e, --extend显示网络其他相关信息
-F, --fib显示路由缓存
-g, --groups显示多重广播功能群组组员名单
-h, --help在线帮助
-i, --interfaces显示网络界面信息表单
-l, --listening显示监控中的服务器的Socket
-M, --masquerade显示伪装的网络连线
-n, --numeric直接使用IP地址,而不通过域名服务器
-N, --netlink或–symbolic显示网络硬件外围设备的符号连接名称
-o, --timers显示计时器
-p, --programs显示正在使用Socket的程序识别码和程序名称
-r, --route显示Routing Table
-s, --statistics显示网络工作信息统计表
-t, --tcp显示TCP传输协议的连线状况
-u, --udp显示UDP传输协议的连线状况
-v, --verbose显示指令执行过程
-V, --version显示版本信息
-w, --raw显示RAW传输协议的连线状况
-x, --unix此参数的效果和指定"-A unix"参数相同
–ip, --inet此参数的效果和指定"-A inet"参数相同

使用

查看详细的网络状况

如果要查看所有的网络状况(包括 TCP 和 UDP),命令格式如下:

netstat -a

列出所有 TCP 端口的网络

如果要查看所有跟 TCP 有关的网络,命令格式如下:

# 查看所有 TCP 端口的网络状态信息
netstat -at
# 查看所有 UDP 端口的网络状态信息
netstat -au

显示进程 ID 和进程名称信息

如果要在查询结果中显示进程 ID 和进程名称信息,可以加上 -p 选项。

# 查看所有 TCP 端口的网络状态信息并显示进程 ID 和进程名称
netstat -pt
# 查看所有 UDP 端口的网络状态信息并显示进程 ID 和进程名称
netstat -pu

显示网卡列表

如果要查看网卡信息,可以使用 -i 选项。命令格式如下:

netstat -i

显示网络统计信息

命令格式如下:

netstat -s

查找指定程序的端口

如果要查找指定程序的端口信息,可以通过如下命令格式:

# 语法
netstat -tunlp | grep 程序名称
# 示例,查找 ssh 程序运行的端口号
netstat -tunlp | grep ssh

查找属于指定端口的进程

如果要查找运行在指定端口的进程,可以使用如下命令格式:

# 语法
netstat -an | grep 端口号
# 示例,查找运行在 80 端口的进程
netstat -an | grep ":22\\b"

通过端口号查找进程 ID

如果要通过指定端口号查找它所属进程 ID,可以通过如下命令:

# 语法
netstat -tunlp | grep 端口号 | awk 'print $7' | cut -d "/" -f 1
# 示例,查找使用了 22 端口的进程 ID
netstat -tunlp | grep 22 | awk 'print $7' | cut -d "/" -f 1

以上是关于Linux命令之显示网络状态netstat的主要内容,如果未能解决你的问题,请参考以下文章

Linux使用netstat查看网络状态

转载 linux常用的监控命令工具

netstat

linux下怎么判断网卡异常网卡状态

Linux之netstat命令详解

Linux工具之netstat