Linux网络监控命令——netstat
2018-02-02 15:52
561 查看
命令名称
netstat:打印网络连接、路由表、接口状态、伪链接、多播组。概要
netstat [address_family_options] [–tcp|-t] [–udp|-u] [–raw|-w] [–listening|-l] [–all|-a] [–numeric|-n] [–numeric-hosts][–numeric-ports] [–numeric-users] [–symbolic|-N] [–extend|-e[–extend|-e]] [–timers|-o] [–program|-p] [–verbose|-v] [–continuous|-c]netstat {–route|-r} [address_family_options] [–extend|-e[–extend|-e]][–verbose|-v] [–numeric|-n] [–numeric-hosts] [–numeric-ports] [–numeric-users] [–continuous|-c]
netstat {–interfaces|-i} [–all|-a] [–extend|-e[–extend|-e]] [–ver‐bose|-v] [–program|-p] [–numeric|-n] [–numeric-hosts] [–numeric-ports] [–numeric-users] [–continuous|-c]
netstat {–groups|-g} [–numeric|-n] [–numeric-hosts] [–numeric-ports] [–numeric-users] [–continuous|-c]
netstat {–masquerade|-M} [–extend|-e] [–numeric|-n] [–numeric-hosts] [–numeric-ports] [–numeric-users] [–continuous|-c]
netstat {–statistics|-s} [–tcp|-t] [–udp|-u] [–raw|-w]
netstat {–version|-V}
netstat {–help|-h}
address_family_options:
[-4] [-6] [–protocol={inet,unix,ipx,ax25,netrom,ddp}[,…]]
[–unix|-x] [–inet|–ip] [–ax25] [–ipx] [–netrom] [–ddp]
参数可选项
netstat用于打印显示Linux的网络系统信息。打印的信息种类由如下所示的第一个参数来决定:(无参数)
默认状态,netstat显示已打开的sockets列表。如果没有指定任何的地址簇,那么将会打印显示所有已配置的地址簇的活跃sockets。
–route,-r
显示内核路由表。netstat -r 和route -e 具有相同的输出。
–groups,-g
显示IPv4和IPv6的多播组信息。
–interfaces,-i
显示网络接口的信息表单。
–masquerade,-M
显示伪链接列表。
–statistics,-s
显示每个协议的统计。
–verbose,-v
告诉用户指令执行的过程。特别是打印未配置的协议簇的一些有用信息。
–wide,-w
不要通过使用尽可能宽的输出带宽截断IP地址。不打断已有脚本是可选的。
–numeric,-n
显示数字格式的地址,而不是字符形式的主机、端口号、用户名。
–numeric-hosts
以数字格式显示主机,不影响端口号和用户名的显示。
–numeric-ports
以数字格式显示端口号,不影响主机和用户名的显示。
–numeric-users
以数字格式显示用户名,不影响主机和端口号的显示。
–protocol=family , -A
指定要显示的连接的地址簇。family采用逗号(,)来分隔地址簇清单中的inet、unix、ipx、ax25、netrom 和ddp等关键字。这和使用–unix、–inet、–unix (-x)、 –ipx、–ax25、–netrom、–ddp具有相同的效果。
–continuous,-c
这将会导致netstat每隔一段时间持续的打印显示已选择的信息。
–extend,-e
显示额外的信息。使用此命令两次可以显示最多的细节。
–timers,-o
包含与网络计时器有关的信息。
–program,-p
显示每一个socket所属的PID和程序名称。
–listening,-l
仅显示监听sockets。(默认情况下是忽略的)
–all,-a
同时显示监听和非监听即所有的sockets。
-F
显示FIB中的路由信息。
-C
显示路由配置中的cache信息。
实例
(1)列出所有端口(包括监听和未监听的)netstat -a //列出所有端口 netstat -at //列出所有tcp端口 netstat -au //列出所有udp端口
(2)列出所有处于监听状态的sockets
netstat -l //只显示监听端口 netstat -lt //只列出所有监听tcp端口 netstat -lu //只列出所有监听udp端口 netstat -lx //只列出所有监听UNIX端口
(3)显示每个协议的统计信息
netstat -s //显示所有端口的统计信息 netstat -st //显示tcp端口的统计信息 netstat -su //显示udp端口的统计信息
(4)显示正在使用的socket的PID和进程名称
netstat -pt //显示正在运行的tcp sockets的PID和进行名称
注:netstat -p 可以和其他的选向一起使用,就可以添加“PID/进程名称”到输出信息中了。这样debug的时候就可以方便的发现特定端口运行的程序。
(5)输出中不显示主机、端口和用户名
如果不想让主机、端口、用户名显示,使用netstat -n可以使用数字来代替这些名称。
netstat -an //以数字形式显示主机、端口、用户名 netstat -a --numeric-hosts //以数字形式显示主机 netstat -a --numeric-ports //以数字形式显示端口号 netstat -a --numeric-users //以数字形式显示用户名
(6)持续输出netstat信息
netstat -c //每隔一秒输出一次网络信息
(7)显示系统不支持的地址簇
netstat --verbose //显示系统不支持的地址簇
在输出打印信息的末尾会有如下信息:
(8)显示核心路由信息
netstat -r //显示核心路由信息 netstat -rn //显示核心路由信息(以数字形式)
(9)找出程序运行端口
并不是所有的进程都能找到,没有权限的会不显示,使用root权限查看所有的信息。
netstat -ap | grep ssh //找出程序运行的端口 netstat -an | grep ':80' //找出运行在指定端口的进程
(10)显示网络接口列表
netstat -i //显示网络接口列表 netstat -ie //显示网络接口列表详细信息(类似于ifconfig)
(11)IP和TCP分析
查看连接某服务端口最多的IP地址:
netstat -ntu | grep :80 | awk '{print $5}' | cut -d: -f1 | awk '{++ip[$1]} END {for(i in ip) print ip[i],"\t",i}' | sort -nr
TCP各种状态列表:
netstat -nt | grep -e 127.0.0.1 -e 0.0.0.0 -e ::: -v | awk '/^tcp/ {++state[$NF]} END {for(i in state) print i,"\t",state[i]}'
查看phpcgi进程数,如果接近预设值,说明不够用,需要增加:
netstat -anpo | grep "php-cgi" | wc -l
【参考】netstat命令 https://www.man.linuxde.net/netstat
相关文章推荐
- linux 网络监控命令 netstat
- 关于linux系统网络监控的命令
- Linux 命令 - netstat: 检查网络设置及相关统计数据
- 10 个需要了解的 Linux 网络和监控命令
- linux步步为营(4)--网络命令tcpdump,netstat...
- 监控io性能、free命令、ps命令、查看网络状态、linux下抓包
- 十(2)nload命令、监控io性能、free命令、ps命令 、netstat查看网络状态
- Linux监控命令整理(top,free,vmstat,iostat,mpstat,sar,netstat)
- 10 个你需要了解的 Linux 网络和监控命令
- Linux网络流量实时监控ifstat iftop命令详解(转载)
- Linux网络和监控命令
- Linux资源监控命令/工具(网络)
- 监控io性能/free命令/ps命令/查看网络状况/linux下抓包
- Linux网络流量实时监控ifstat iftop命令详解
- 10个linux网络和监控命令
- Linux netstat命令详解,netstat网络命令说明
- linux查看网络链接状况命令netstat
- 10.6 监控io性能 10.7 free命令 10.8 ps命令 10.9 查看网络状态 10.10 linux下抓包
- 10 个你需要了解的 Linux 网络和监控命令
- 11.28 监控io性能 free ps 命令 查看网络状态 linux下抓包