码迷,mamicode.com
首页 > Web开发 > 详细

Linux通过netstat命令统计连接数

时间:2020-12-25 11:50:10      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:find   block   hang   包括   数据传输   bash   txt   常见   pac   

服务器上的一些统计数据:

  1)统计80端口连接数

  netstat -nat|grep -i “80”|wc -l

  2)统计httpd协议连接数

  ps -ef|grep httpd|wc -l

  3)、统计已连接上的,状态为“established

  netstat -na|grep ESTABLISHED|wc -l

  4)、查出哪个IP地址连接最多,将其封了。

  netstat -na|grep ESTABLISHED|awk {print $5}|awk -F: {print $1}|sort|uniq -c|sort -r +0n

  netstat -na|grep SYN|awk {print $5}|awk -F: {print $1}|sort|uniq -c|sort -r +0n

        查看nginx当前并发访问数:

        netstat -apn|grep ‘nginx: worker‘|wc -l

  1、查看apache当前并发访问数:

  netstat -an | grep ESTABLISHED | wc -l

  对比httpd.conf中MaxClients的数字差距多少。

  2、查看有多少个进程数:

  ps aux|grep httpd|wc -l

  3、可以使用如下参数查看数据

  server-status?auto

  #ps -ef|grep httpd|wc -l

  1388

  统计httpd进程数,连个请求会启动一个进程,使用于Apache服务器。

  表示Apache能够处理1388个并发请求,这个值Apache可根据负载情况自动调整。

  #netstat -nat|grep -i “80”|wc -l

  4341

  netstat -an会打印系统当前网络链接状态,而grep -i “80”是用来提取与80端口有关的连接的,wc -l进行连接数统计。

  最终返回的数字就是当前所有80端口的请求总数。

  #netstat -na|grep ESTABLISHED|wc -l

  376

  netstat -an会打印系统当前网络链接状态,而grep ESTABLISHED 提取出已建立连接的信息。 然后wc -l统计。

  最终返回的数字就是当前所有80端口的已建立连接的总数。

  netstat -nat||grep ESTABLISHED|wc - 可查看所有建立连接的详细记录 

  查看Apache的并发请求数及其TCP连接状态:

  Linux命令:

  netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’

  返回结果示例:

  LAST_ACK 5

  SYN_RECV 30

  ESTABLISHED 1597

  FIN_WAIT1 51

  FIN_WAIT2 504

  TIME_WAIT 1057

  其中的

  SYN_RECV表示正在等待处理的请求数;

  ESTABLISHED表示正常数据传输状态;

  TIME_WAIT表示处理完毕,等待超时结束的请求数。

  查看httpd进程数(即prefork模式下Apache能够处理的并发请求数):

  Linux命令:

  ps -ef | grep httpd | wc -l

  查看Apache的并发请求数及其TCP连接状态:

  Linux命令:

  netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’

  返回结果示例:

  LAST_ACK 5

  SYN_RECV 30

  ESTABLISHED 1597

  FIN_WAIT1 51

  FIN_WAIT2 504

  TIME_WAIT 1057

  说明:

  SYN_RECV表示正在等待处理的请求数;

  ESTABLISHED表示正常数据传输状态;

  TIME_WAIT表示处理完毕,等待超时结束的请求数。

  netstat常见参数

  -a (all)显示所有选项,默认不显示LISTEN相关

  -t (tcp)仅显示tcp相关选项

  -u (udp)仅显示udp相关选项

  -n 拒绝显示别名,能显示数字的全部转化成数字。

  -l 仅列出有在 Listen (监听) 的服?兆刺?/p》

  -p 显示建立相关链接的程序名

  -r 显示路由信息,路由表

  -e 显示扩展信息,例如uid等

  -s 按各个协议进行统计

  -c 每隔一个固定时间,执行该netstat命令。

  提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

  上面就是Linux使用netstat命令查看80端口连接数的方法,想要查看80端口连接数的朋友可以使用netstat命令试试看。

 

【Linux】Linux下统计当前文件夹下的文件个数、目录个数

统计当前文件夹下文件的个数,包括子文件夹里的

ls -lR|grep "^-"|wc -l

统计文件夹下目录的个数,包括子文件夹里的

ls -lR|grep "^d"|wc -l

统计当前文件夹下文件的个数

ls -l |grep "^-"|wc -l

统计当前文件夹下目录的个数

ls -l |grep "^d"|wc -l

如何统计文件a.txt有多少非空行?
grep -v ‘^$‘ a.txt | wc -l

附:

统计输出信息的行数

wc -l 

将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d

grep "^-" 

 

查找当前文件夹及其子目录下含特定关键字(20130923)的文件个数: find .|grep  20130923  |wc -l  

统计当前文件夹下的文件大小: du -h  (列出每个文件夹的大小)

                                              du -sh  (列出所有文件夹大小)

统计当前文件夹下含特定关键字(20130923)的文件个数:ls -lrt | grep 20130923 | wc - l

统计当前文件下目录和文件的个数: ls | wc -l

 

 

使用grep查找文件中指定字符出现的次数

grep -o ‘好‘ 文件名.txt | wc -l

awk统计访问日志前10的ip

日志格式如下:

2013-10-2910:26:09,INFO, send toEmail=wuas6662@163.com,templateId=23,titleId=11,type=3,sendEmail=noreply+renrenzhichang@mail.xiaozhao.com,ip=10.3.22.134,mailType=4,emailId=526f1bd8c8f2a90213662a67

shell命令如下:

cat mail-2013-10-28.log | awk -F ‘,‘ ‘{print $8}‘ | sort | uniq -c | sort -k1nr | head -10

 

2、linux命令 对日志文件的IP出现的次数进行统计 并显示次数最多的前六名

解决方法:

grep -i -o -E "([0-9]{1,3}\.){3}[0-9]{1,3}" test1.txt | sort -n | uniq -c | sort -n -r | head -6

参数详情:

grep命令 用于文本搜索

-E:用于使用正则匹配

-o:只显示匹配的部分

-i:忽略大小写

sort命令用于排序

-n:数值排序

-r:倒序排序

uniq命令用于去重

-c:显示重复次数

head -6命令显示前6行

日志格式如下:访问IP、时间、返回状态码
XX.XX.XX.XX - - [09/Sep/2015:10:30:00 +0800]   200 
XX.XX.XX.XX - - [09/Sep/2015:10:34:00 +0800]   206 
XX.XX.XX.XX - - [09/Sep/2015:10:37:00 +0800]   302 
XX.XX.XX.XX - - [09/Sep/2015:10:32:00 +0800]   303 
XX.XX.XX.XX - - [09/Sep/2015:11:30:00 +0800]   200 
XX.XX.XX.XX - - [09/Sep/2015:11:39:00 +0800]   200 
XX.XX.XX.XX - - [09/Sep/2015:12:29:00 +0800]   200 
XX.XX.XX.XX - - [09/Sep/2015:12:30:00 +0800]   200 
需求如下:
统计每五分钟的请求数,没有结果的输出为0(或者不输出都可以),如下格式:
10:00-10:04 0
10:05-10:09 0
....

    1. [root@test /tmp]$ awk -F: ‘{a[$2":"($3-$3%5)]++}END{for(i in a){split(i,t);print i,t[1]":"t[2]+4,a[i] | "sort -t: -k1n -k2n"}}‘ a
    2. 10:30 10:34 3
    3. 10:35 10:39 1
    4. 11:30 11:34 1
    5. 11:35 11:39 1
    6. 12:25 12:29 1
    7. 12:30 12:34 1

Linux通过netstat命令统计连接数

标签:find   block   hang   包括   数据传输   bash   txt   常见   pac   

原文地址:https://www.cnblogs.com/zgq123456/p/14163387.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!