예제 #1
0
def searchUrlorRefer(logList,keyword,times,count,flag):
	
	_ipp = []
	_ip = {}
	_referr = []
	_refer = {}
	s = keyword
	s1 = '^' + s + ':'
	s2 = ':' + s + '$'
	for i in logList:
		u1 = str(i.get(u'url')) + ':' + str(i.get(u'ip')) + ':' + str(i.get(u'referer'))
		if re.search(s1,u1):
			_ipp.append(i.get(u'ip'))
		elif re.search(s2,u1):
			_referr.append(i.get(u'ip'))
			#_urll.append(i.get(u'url'))
	_total1 = len(_ipp)
	_total2 = len(_referr)
	if flag == 'url' and _total1 > 0:		
		for m in _ipp:
			if _ipp.count(m) > 1:
				_ip[m] = _ipp.count(m)
		ip = sorted(_ip.items(), key=lambda _ip:_ip[1], reverse=True)
		print "------Nginx access IP NUMS in %s seconds and use %s keywords-------" % (str(times)[1:],keyword)
		print 'total nums :%s' % str(_total1)
		for k in ip:
			if k[1] > count:
				print k[0],':',k[1],':',ipLocation.ip_location(k[0])
	elif flag == 'referer' and _total2 > 0:
		for m in _referr:
			if _referr.count(m) > 1:
				_ip[m] = _referr.count(m)
		ip = sorted(_ip.items(), key=lambda _ip:_ip[1], reverse=True)
		print "------Nginx access IP NUMS in %s seconds and use %s keywords in referer-------" % (str(times)[1:],keyword)
		print 'total nums :%s' % str(_total2)
		for k in ip:
			if k[1] > count:
				print k[0],':',k[1],':',ipLocation.ip_location(k[0])
예제 #2
0
def countIP_URL(logList,count,times,flag):
	_ip = {}
	_url = {}
	_ipp = []
	_urll = []
	_code = {}
	_codee = []
	_total = len(logList)
	for n in logList:
		_ipp.append(n.get('ip'))
		_urll.append(n.get('url'))
	if flag == 'ipurl':
		for m in _ipp:
			if _ipp.count(m) > 1:
				_ip[m] = _ipp.count(m)
		ip = sorted(_ip.items(), key=lambda _ip:_ip[1], reverse=True)
		
		for i in _urll:
			if _urll.count(i) > 1:
				_url[i] = _urll.count(i)
		url = sorted(_url.items(), key=lambda _url:_url[1], reverse=True)
		
		print "------Nginx access IP NUMS in %s seconds-------" % str(times)[1:]
		print 'total nums :%s' % str(_total)
		for k in ip:
			if k[1] > count:
				print k[0],':',k[1],':',ipLocation.ip_location(k[0])
			
		print "-----Nginx access url NUMs in %s seconds-------" % str(times)[1:]
		print 'total nums :%s' % str(_total)
		for j in url:
			if j[1] > count:
				print j[0],':',j[1]
	
	elif flag == 'ip':
		for m in _ipp:
			if _ipp.count(m) > 60:
				_ip[m] = _ipp.count(m)
		ip = sorted(_ip.items(), key=lambda _ip:_ip[1], reverse=True)
		return ip