0%

netstat 参数 及常用命令

netstat 中参数选项

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
-a或--all:显示所有连线中的Socket;
-A<网络类型>或--<网络类型>:列出该网络类型连线中的相关地址;
-c或--continuous:持续列出网络状态;
-C或--cache:显示路由器配置的快取信息;
-e或--extend:显示网络其他相关信息;
-F或--fib:显示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或--statistice:显示网络工作信息统计表;
-t或--tcp:显示TCP传输协议的连线状况;
-u或--udp:显示UDP传输协议的连线状况;
-v或--verbose:显示指令执行过程;
-V或--version:显示版本信息;
-w或--raw:显示RAW传输协议的连线状况;
-x或--unix:此参数的效果和指定"-A unix"参数相同;
--ip或--inet:此参数的效果和指定"-A inet"参数相同。

常用命令

###查看linux的连接数,输出每个ip的连接数,以及总的各个状态的连接数

1
netstat -n | awk '/^tcp/ {n=split($(NF-1),array,":");if(n<=2)++S[array[(1)]];else++S[array[(4)]];++s[$NF];++N} END {for(a in S){printf("%-20s %s\n", a, S[a]);++I}printf("%-20s %s\n","TOTAL_IP",I);for(a in s) printf("%-20s %s\n",a, s[a]);printf("%-20s %s\n","TOTAL_LINK",N);}'

###查看日志中不同端口对应的连接数

1
cat /home/ubuntu/log/gears-proxy-error.log |  egrep ':922[6-9]' | awk -F "upstream\": " '{print $2}' | awk -F, '{print $1}' |sort | uniq -c | sort -rn

###查看某些端口 有哪些ip链接 并且连接数有多少

1
netstat -ntu |  egrep ':922[6-9]' | awk '{print $5}' | cut -d: -f1 | awk '{++ip[$1]} END {for(i in ip) print ip[i],"\t",i}' | sort -nr

###如果发现某个端口被占用后,可以用命令查看,该端口到底是被哪个进程所占用。命令如下:

1
netstat -pan | grep 5623

###查看进程程序名称

1
ps -aux | grep pid

###查看tcp连接数量

1
netstat -anptl | wc -l

###查看每个ip跟服务器建立的连接数

1
netstat -nat|awk '{print$5}'|awk -F : '{print$1}'|sort|uniq -c|sort -rn

netstat监控大量ESTABLISHED连接数和TIME_WAIT连接数题解决
###查看每个ip跟服务器建立的连接数
–(PS:正则解析:显示第5列,-F : 以:分割,显示列,sort 排序,uniq -c统计排序过程中的重复行,sort -rn 按纯数字进行逆序排序)

1
netstat -nat|awk '{print$5}'|awk -F : '{print$1}'|sort|uniq -c|sort -rn

###查看每个ip建立的ESTABLISHED/TIME_OUT状态的连接数

1
netstat -nat|grep ESTABLISHED|awk '{print$5}'|awk -F : '{print$1}'|sort|uniq -c|sort -rn

###查看不同状态的连接数数量

1
netstat -an | awk '/^tcp/ {++y[$NF]} END {for(w in y) print w, y[w]}'
------------- 本文结束 感谢您的阅读-------------