获取某个端口连接数
来源:互联网 发布:淘宝网画眉鸟笼笼衣 编辑:程序博客网 时间:2024/06/05 06:59
#!/usr/bin/python
import re
import sys
import string
file = '/proc/net/tcp'
'''
00 "ERROR_STATUS",
01 "TCP_ESTABLISHED",
02 "TCP_SYN_SENT",
03 "TCP_SYN_RECV",
04 "TCP_FIN_WAIT1",
05 "TCP_FIN_WAIT2",
06 "TCP_TIME_WAIT",
07 "TCP_CLOSE",
08 "TCP_CLOSE_WAIT",
09 "TCP_LAST_ACK",
0A "TCP_LISTEN",
0B "TCP_CLOSING",
'''
class Tcp_count:
def get_contents(self,file):
f = open(file,"r").readlines()
return f
def covert_number(self,number):
value = hex(number)
return value
def get_connect(self,port):
ESTABLISHED = []
SYN_SENT = []
SYN_RECV = []
FIN_WAIT1 = []
FIN_WAIT2 = []
TIME_WAIT = []
CLOSE = []
CLOSE_WAIT = []
CLOSING = []
port = str(self.covert_number(port)).replace("0x","0").upper()
for i in self.get_contents(file):
c = i.split()
p = re.findall(r":.*%(port)s" % vars(),i)
if c[3] == "01" and p:
ESTABLISHED.append(c[3])
if c[3] == "02" and p:
SYN_SENT.append(c[3])
if c[3] == "03" and p:
SYN_RECV.append(c[3])
if c[3] == '04' and p:
FIN_WAIT1.append(c[3])
if c[3] == '05' and p:
FIN_WAIT2.append(c[3])
if c[3] == '06' and p:
TIME_WAIT.append(c[3])
if c[3] == '07' and p:
CLOSE.append(c[3])
if c[3] == '08' and p:
CLOSE_WAIT.append(c[3])
if c[3] == '0B' and p:
CLOSING.append(c[3])
return "ESTABLISHED:\t" + str(len(ESTABLISHED))+" \nSYN_SENT:\t" + str(len(SYN_SENT))+\
"\nSYN_RECV:\t"+str(len(SYN_RECV))+" \nFIN_WAIT1:\t" + str(len(FIN_WAIT1))+\
"\nFIN_WAIT2:\t" + str(len(FIN_WAIT2))+ " \nTIME_WAIT:\t" + str(len(TIME_WAIT))+\
"\nCLOSE: \t" + str(len(CLOSE))+" \nCLOSE_WAIT:\t" + str(len(CLOSE_WAIT))+\
"\nCLOSING:\t"+str(len(CLOSING))
def get_param(para,number):
c = 0
count = 0
p = []
try:
for i in sys.argv:
if i == para:
p.append(sys.argv[c+1])
count+=1
c +=1
if count == int(number):
return string.join(p)
except Exception:
return i+' Parameter Error'
def help_():
print '''
python %s -p 80,443
''' %(sys.argv[0])
p = get_param("-p",1)
if p:
a = Tcp_count()
for i in p.split(","):
try:
print "%s PORT TCP CONNECT STATE"%(i)
print a.get_connect(int(i))
print "\n\n"
except Exception:
pass
else:
help_()
使用方法:
python 1.py -p 80,443
$ python 1.py -p 80,443
80 PORT TCP CONNECT STATE
ESTABLISHED: 77644
SYN_SENT: 0
SYN_RECV: 0
FIN_WAIT1: 9558
FIN_WAIT2: 8260
TIME_WAIT: 354354
CLOSE: 0
CLOSE_WAIT: 0
CLOSING: 0
443 PORT TCP CONNECT STATE
ESTABLISHED: 1180
SYN_SENT: 0
SYN_RECV: 0
FIN_WAIT1: 0
FIN_WAIT2: 118
TIME_WAIT: 2006
CLOSE: 0
CLOSE_WAIT: 0
CLOSING: 0
- 获取某个端口连接数
- 获取某个端口的tcp连接数(nginx)
- iptables限制某个端口的连接数
- 查看某个端口的连接数
- freebsd 怎么限制同一个ip访问某个端口的连接数
- linux下统计某个端口来自客户端的访问连接数
- 监听端口的连接数
- centos查看端口连接数
- 连接数与端口数的关系
- 查看Oracle连接数 限制某个用户的连接数
- 查看Oracle连接数 限制某个用户的连接数
- Oracle限制某个用户的连接数
- OC中获取某个数的绝对值
- 获取某个数内的质数
- 完成端口(IOCP)怎么判断某个连接是否断开
- linux查看某个端口号的所有连接状态
- 端口访问ip和连接数
- linux下端口连接数查看
- 链表的增删改查
- android从网络上异步加载图像简单那实现
- Android的finish后方法中的代码继续执行
- 双门互锁
- opencv adaptiveThreshold的用法
- 获取某个端口连接数
- xml文件解析
- 大神的博客
- VBS基础篇 - 运算符(2) - 算术运算符
- 我从大神那里转来的 (非原创
- 一道有趣的计算题
- Myeclipse完全破解
- Java基础知识break,continue,return(4)
- Java网络编程篇一《简单CS通信》