简介
netstat用于打印网络连接、路由表、接口统计信息、伪装连接和多播成员关系。
netstat打印关于Linux网络子系统的信息。打印信息的类型由第一个参数控制
语法
netstat [-veenNcCF] [<Af>] -r
netstat {-V|--version|-h|--help}
netstat [-vnNcaeol] [<Socket> ...]
netstat { [-veenNac] -I[<Iface>] | [-veenNac] -i | [-cnNe] -M | -s } [delay]
<Iface>:要监控/列表的接口名称
<Socket>={-t|--tcp} {-u|--udp} {-S|--sctp} {-w|--raw} {-x|--unix} --ax25 --ipx --netrom
<AF>=Use '-A <af>' 或者 '--<af>'; 默认值:inet
1.1. 常用参数
默认情况下,netstat显示打开的套接字列表。如果不指定任何地址族,则配置所有的活动套接字地址族将被打印出来。
-r(--route) :显示路由表
-I(--interfaces=<Iface>):显示 <Iface> 的接口表
-i(--interfaces) :显示接口表
-g(--groups) :显示多播组成员信息
-s(--statistics) :显示网络统计信息(如SNMP)
-M(--masquerade) :显示伪装连接
-v(--verbose) :通过详细地告诉用户发生了什么。尤其是打印关于未配置地址族的有用信息。
-n(--numeric) :不解析名称
--numeric-hosts 不解析主机名
--numeric-ports 不解析端口名称
--numeric-users 不解析用户名
-N(--symbolic) : 符号解析硬件名称
-e(--extend) : 显示其他/更多信息
-p(--programs) :显示套接字的PID/程序名
-c(--continuous) :连续列表
-l(--listening) :显示监听服务器套接字
-a(--all) :监听显示所有套接字(默认值:已连接)
-o(--timers) :显示定时器
-F(--fib display) :转发信息库(默认值)
-C(--cache) :显示路由缓存而不是FIB
-T(--notrim) :停止修剪长地址
-Z(--context) :显示套接字的SELinux安全上下文
常见用法
2.1. 显示路由表
netstat -rn
2.2. 显示端口
显示所有端口(加上-n不解析名称,可以加快查询速度)
netstat -na
过滤不同类型端口
显示tcp端口
netstat -nat
显示unix端口
netstat -nax
显示udp端口
netstat -nau
显示该端口的PID和程序名(加-p)
netstat -natp
2.3. 显示正在监听的服务器
使用 -l 即可
netstat -nltp
# -n:不解析名称,速度快
# -l:显示正在监听服务器套接字
# -t:显示tcp端口
# -p:显示套接字的PID/程序名
2.4. 显示该进程用户
netstat -epl # 注意:不要使用-n
# -e:显示更多信息(包含用户名)
# -p:显示进程名和PID
# -l:显示正在监听服务器套接字
netstat -eplt # 只显示tcp
netstat -eplu # 只显示udp
netstat -eplx # 只显示Unix
2.5. 持续监控
使用-c即可持续监控
netstat -ctn 2 #每2秒监控一次
-c:持续监控,2表示间隔时间(秒)
-t:只输出tcp类
-n:不解析名称(速度增加)