-
Notifications
You must be signed in to change notification settings - Fork 0
/
extractIPS.py
49 lines (43 loc) · 1.54 KB
/
extractIPS.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
print("\n")
print("###############################################")
print("# KTIMEZ #")
print("# visit us on ktimez.com #")
print("# Author: @BahatiPhill #")
print("###############################################")
print("\n")
import sys
import re
import os
import operator
from collections import OrderedDict
try:
if sys.argv[1:]:
print ("File: %s" % (sys.argv[1]))
logfile = sys.argv[1]
else:
logfile = input("Shyiramo izina rya logfile (e.g: /tmp/logIPs.txt): ")
try:
file = open(logfile, "r")
ips = []
Ips_with_most_hits = {}
for text in file.readlines():
text = text.rstrip()
found = re.findall(r'(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})',text)
if found:
ips.extend(found)
for ip in ips:
if not ip in Ips_with_most_hits:
Ips_with_most_hits[ip] = 1
if ip in Ips_with_most_hits:
Ips_with_most_hits[ip] = Ips_with_most_hits[ip] + 1
Ips_with_most_hits = OrderedDict(sorted(Ips_with_most_hits.items(), key=lambda t: t[1]))
Save_location = os.getcwd()
fp = open(Save_location+'/IPs_and_times_TheyHit.txt','w')
for key,value in Ips_with_most_hits.items():
fp.write(str(key) + ' ==> ' + str(value) + '\n')
fp.close()
print('done')
finally:
file.close()
except IOError:
print ("I/O Error(%s) : %s" % (IOError))