-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathIPreportTab.py
More file actions
82 lines (58 loc) · 3.53 KB
/
IPreportTab.py
File metadata and controls
82 lines (58 loc) · 3.53 KB
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
from tkinter import ttk
from tkinter import StringVar
ENTRY_WIDTH = 40
class IPreportTab:
def __init__(self, root, frame, clients):
self.vtClient = clients[0]
self.shodanClient = clients[1]
self.root = root
self.frame = frame
self.mainVTIPFrame = ttk.Labelframe(frame, text = 'IP report tab')
self.mainVTIPFrame.grid(column = 0, row = 0, padx = 8, pady = 4)
ttk.Label(self.mainVTIPFrame, text = "IP:").grid(column = 0, row = 0, sticky = "W")
ipEntry = ttk.Entry(self.mainVTIPFrame)
ipEntry.grid(column = 1, row = 0, sticky = "E")
ttk.Label(self.mainVTIPFrame, text = "Country:").grid(column = 0, row = 1, sticky = "W")
Country = StringVar()
ttk.Entry(self.mainVTIPFrame, textvariable = Country, state = 'readonly').grid(column = 1, row = 1, sticky = "E")
ttk.Label(self.mainVTIPFrame, text = "Owner:").grid(column = 0, row = 2, sticky = "W")
Owner = StringVar()
ttk.Entry(self.mainVTIPFrame, textvariable = Owner, state = 'readonly').grid(column = 1, row = 2, sticky = "E")
ttk.Label(self.mainVTIPFrame, text = "Number of detected URLS:").grid(column = 0, row = 3, sticky = "W")
NumberOfDetectedURLS = StringVar()
ttk.Entry(self.mainVTIPFrame, textvariable = NumberOfDetectedURLS, state = 'readonly').grid(column = 1, row = 3, sticky = "E")
ttk.Label(self.mainVTIPFrame, text = "Number of detected malicious files:").grid(column = 0, row = 4, sticky = "W")
NumberOfDetectedMaliciousFiles = StringVar()
ttk.Entry(self.mainVTIPFrame, textvariable = NumberOfDetectedMaliciousFiles, state = 'readonly').grid(column = 1, row = 4, sticky = "E")
ttk.Label(self.mainVTIPFrame, text = "open ports").grid(column = 0, row = 5, sticky = "W")
ports = StringVar()
ttk.Entry(self.mainVTIPFrame, textvariable = ports, state = 'readonly').grid(column = 1, row = 5, sticky = "E")
notificationFrame = ttk.LabelFrame(self.frame, text=' Notifications', width=40)
# using the tkinter grid layout manager
notificationFrame.grid(column=0, row=1, padx=8, pady=10, sticky='W')
ttk.Label(notificationFrame, text="Errors:").grid(column=0, row=0, sticky='W') # <== increment row for each
Error = StringVar()
ErrorEntry = ttk.Entry(notificationFrame, width=ENTRY_WIDTH, textvariable=Error, state='readonly')
ErrorEntry.grid(column=1, row=0, sticky='W')
def CleanErrorMessage():
Error.set('')
def print_ip_report():
try:
CleanErrorMessage() # Starting with cleaning the error message bar
if not ipEntry.get():
print('Please enter a IP')
Error.set("Please enter a IP!")
return
ipToCheck = ipEntry.get()
VTresponse = self.vtClient.get_ip_report(ipToCheck)
SHODANresponse = self.shodanClient.get_ip_report(ipToCheck)
print(VTresponse)
Country.set(VTresponse["country"])
Owner.set(VTresponse["as_owner"])
NumberOfDetectedURLS.set(len(VTresponse["detected_urls"]))
NumberOfDetectedMaliciousFiles.set(len(VTresponse["detected_downloaded_samples"]))
ports.set(SHODANresponse["ports"])
except Exception as e:
raise e
Error.set(e)
ttk.Button(self.mainVTIPFrame, text = "Check in VT", command = print_ip_report).grid(column = 2, row = 0, sticky = "E")