统计连接数状态(Linux网络连接状态检查!)
统计连接数状态:
Linux网络连接状态检查!
检查linux的网络连接状态其实很简单,利用Linux内置的一些命令和SHELL的几个小技巧就可以完成看似复杂的检查任务,这也是Linux的魅力之一!
最基本的,
netstat -atn
该命令的解释是列出基于TCP协议(-t)的所有连接,并将通信双方以IP地址的(-n)的方式显示,而不是主机名!!
netstat -atn | cut -b 49-75 | grep -o -P "\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b" | sort | uniq -c | sort -n -r -k 1,7 | head -10
这行命令用来分析netstat的输出结果,最后得出的是目前处于连接中的不同的IP地址;这个命令在Ubuntu(cut -b 45-75)上不能实现,这是不同的Linux对于一些基本命令的实现不同(编译的选项和参数不一致),但是ubuntu上可以用下面的命令实现相似的功能,
netstat -atn | cut -b 45-75 | cut -d':' -f1 |sort | uniq -c | sort -n -r -k 1,7 | head -10
唯一的缺点是不用正则表达式的情况下title内容行也被放了进来,当然还可以用一些命令去除这些文字行,这里就不展开了!
netstat -atn |cut -b 77-90 | sort | uniq -c 是列出每个连接的状态并统计!
对于netstat命令输出的分析其实还有很多方法,这儿就不再列举!
time tcpdump -ns 200 -c 100 '(dst port http or dst port https) and tcp[13] & 2!=0' | grep -o -P '\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}.\d{1,5}\s\>' | cut -d '.' -f 1-4 | sort | uniq -c | sort -n -r -k 1,7 | head -25
这个命令是对于100个包中有多少个新连接请求的统计!运用了tcpdump抓取100个(-c 100)包,最后列出这些请求的IP地址。
这里只是两个简单的例子,还有很多命令组合运用的实例可以大大加快我们的工作效率,这些都只要合理运用Linux的命令就可以了!!
查看http进程数:
[root@localhost conf]# ps -ef|grep httpd|wc -l
结果 - 1 (因为包含了grep httpd这个进程)
[root@localhost conf]# netstat -n|awk '/^tcp/{++S[$NF]} END {for(a in S) print a,S[a]}'
LAST_ACK 173
SYN_RECV 35
CLOSE_WAIT 159
ESTABLISHED 152
FIN_WAIT1 29
FIN_WAIT2 10
CLOSING 39
TIME_WAIT 103
相关文档:
Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。 ......
一:前言
最近在研究android的sensor driver,主要是E-compass,其中用到了Linux input子系统.在网上也看了很多这方面的资料,感觉还是这篇分析的比较细致透彻,因此转载一下以便自己学习,同时和大家分享!
(这篇博客主要是以键盘驱动为例的,不过讲解的是Linux Input Subsystem,可以仔细的研究一下!)
键盘驱动将检 ......
原文:http://blog.csdn.net/jackyvan/archive/2010/01/15/5193693.aspx
其实VIM也能把编译 调试集成在一起,像是一个IDE一样。
首先现在VIM的源码,因为要集成调试环境的话需要重新编译VIM才行,所以我们不如重新安装一个。
VIM的现在地址:
http://www.vim.org/sources.php
然后下载VIMGDB,这是vim的集成调试环境的 ......
linux有自己一套完整的启动体系,抓住了linux启动的脉络,linux的启动过程将不再神秘。
本文中假设inittab中设置的init tree为:
/etc/rc.d/rc0.d
/etc/rc.d/rc1.d
/etc/rc.d/rc2.d
/etc/rc.d/rc3.d
/etc/rc.d/rc4.d
/etc/rc.d/rc5.d
/etc/rc.d/rc6.d
&nbs ......