Jul-21-2020, 04:41 AM
Hey all.
Ive made a Tkinter frontend using the following code:
Please help.
Ive made a Tkinter frontend using the following code:
#!/usr/bin/env python3 import tkinter as tk import subprocess import tkinter.messagebox import os path = '/home/rukha/Desktop/hacker.png' HEIGHT = 500 WIDTH = 600 root = tk.Tk() root.title("Fake BTS") #termf = tk.Frame(root, height=700, width=600) #termf.place(height='37', width='120', relx='0.46', rely='0.45') #wid = termf.winfo_id() #os.system('xterm -into %d -geometry 400x200 -e /root/.bashrc&' % wid) background_image = tk.PhotoImage(file = "/home/rukha/Desktop/hacker.png") label= tk.Label(image = background_image) label.pack() canvas = tk.Canvas(root, height=HEIGHT, width=WIDTH, bg= "#3498DB") canvas.pack() frame = tk.Frame(root, bg= "#80c1ff", bd=5) frame.place(relx=0.5, rely=0.05, relwidth=0.45, relheight=0.1, anchor='n') label = tk.Label(frame, text= "Welcome to Fake BTS Detector", bg= "#80c1ff") label.config(font=("Comic Sans",20, 'bold')) label.place(rely=0.18, relx='0.16') lower_frame = tk.Frame(root, bg= '#80c1ff', bd='10') lower_frame.place(relx=0.5, rely=0.17, relwidth=0.35, relheight=0.08, anchor='n') def change_color(): current_color = button.cget("background") next_color = "black" if current_color == "#5d6d7e" else "#5d6d7e" button.config(background=next_color) root.after(1000, change_color) def run(): subprocess.call('./grgsm.sh', shell=True) button = tk.Button(lower_frame, text= "Start", bg= "#5d6d7e", fg= "white", command= run) button.place(height='27', width='55', relx='0.80', rely='0.17') change_color() label = tk.Label(lower_frame, text= "Click here to run the scanner", bg= "#80c1ff") label.config(font=("Comic Sans",12, 'bold')) label.place(rely=0.22, relx='0.05') frame_1 = tk.Frame(root, bg= '#80c1ff', bd='10') frame_1.place(relx=0.5, rely=0.27, relwidth=0.24, relheight=0.06, anchor='n') label = tk.Label(frame_1, text= "Choose your desired scan", bg= "#80c1ff") label.config(font=("Comic Sans",12, 'bold')) label.place(rely=0.03, relx='0.07') def click(): #tkinter.messagebox.showinfo("Quick Scan", "Your scan was initiated just now. Please wait to see results") #tkinter.messagebox.showinfo("Deep Scan", "Your scan was initiated just now. Please wait to see results") root = tk.Tk() root.title("Quick Scan") #background_image = tk.PhotoImage(file = "/home/rukha/Desktop/hacker.png") #label= tk.Label(image = background_image) #label.pack() canvas = tk.Canvas(root, height=350, width=280, bg= "#3498DB") canvas.pack() #tkinter.messagebox.showinfo("Custom Scan", "Please select the tests you want to conduct.") framez = tk.Frame(canvas, bg= '#80c1ff', bd='10') framez.place(relx=0.00, rely=0.00, relwidth=1.0, relheight=1.0) label = tk.Label(framez, text= "Scans conducted are:", bg= "#80c1ff") label.config(font=("Comic Sans",12)) label.place(rely=0.03, relx='0.09') label = tk.Label(framez, text= "1. Database Comparison", bg= "#80c1ff") label.config(font=("Comic Sans",12)) label.place(rely=0.13, relx='0.11') def clickz(): tkinter.messagebox.showinfo("Quick Scan", "Your scan was initiated just now. Please wait to see results.") subprocess.call('./quickscan.sh', shell=True) root.destroy() buttonz = tk.Button(framez, text= "Okay", bg= "#DCDCDC", fg= "black", command= clickz) buttonz.place(height='37', width='105', relx='0.29', rely='0.73') root.mainloop() button1 = tk.Button(root, text= "Quick Scan", bg= "#80c1ff", fg= "black", command= click) button1.config(font=("Comic Sans",11,'bold')) button1.place(height='37', width='105', relx='0.26', rely='0.40') #btnMenu2 = tk.Menubutton(root, text='Tests Conducted', bg='#80c1ff') #contentMenu = tk.Menu(btnMenu2) #btnMenu2.config(menu=contentMenu) #btnMenu2.place(height='37',width='130', relx='0.25', rely='0.47') #btnList = ['Database Comparison'] #for btn in btnList: #contentMenu.add_command(label=btn) def click1(): #tkinter.messagebox.showinfo("Deep Scan", "Your scan was initiated just now. Please wait to see results") root = tk.Tk() root.title("Deep Scan") #background_image = tk.PhotoImage(file = "/home/rukha/Desktop/hacker.png") #label= tk.Label(image = background_image) #label.pack() canvas = tk.Canvas(root, height=350, width=280, bg= "#3498DB") canvas.pack() #tkinter.messagebox.showinfo("Custom Scan", "Please select the tests you want to conduct.") framey = tk.Frame(canvas, bg= '#80c1ff', bd='10') framey.place(relx=0.00, rely=0.00, relwidth=1.0, relheight=1.0) label = tk.Label(framey, text= "Scans conducted are:", bg= "#80c1ff") label.config(font=("Comic Sans",12)) label.place(rely=0.03, relx='0.12') label = tk.Label(framey, text= "1. Database Comparison", bg= "#80c1ff") label.config(font=("Comic Sans",12)) label.place(rely=0.13, relx='0.09') label = tk.Label(framey, text= "2. Conflicting ARFCNs", bg= "#80c1ff") label.config(font=("Comic Sans",12)) label.place(rely=0.23, relx='0.09') label = tk.Label(framey, text= "3. Conflicting Cell IDs", bg= "#80c1ff") label.config(font=("Comic Sans",12)) label.place(rely=0.33, relx='0.09') label = tk.Label(framey, text= "4. Lonesome Location ID", bg= "#80c1ff") label.config(font=("Comic Sans",12)) label.place(rely=0.43, relx='0.09') label = tk.Label(framey, text= "5. Empty Neighbour List", bg= "#80c1ff") label.config(font=("Comic Sans",12)) label.place(rely=0.53, relx='0.09') label = tk.Label(framey, text= "6. Missing IMSI", bg= "#80c1ff") label.config(font=("Comic Sans",12)) label.place(rely=0.63, relx='0.09') def clicky(): tkinter.messagebox.showinfo("Deep Scan", "Your scan was initiated just now. Please wait to see results.") root.destroy() buttony = tk.Button(framey, text= "Okay", bg= "#DCDCDC", fg= "black", command= clicky) buttony.place(height='37', width='105', relx='0.29', rely='0.73') root.mainloop() button2 = tk.Button(root, text= "Deep Scan", bg= "#80c1ff", fg= "black", command= click1) button2.config(font=("Comic Sans",11,'bold')) button2.place(height='37', width='105', relx='0.66', rely='0.40') #btnMenu1 = tk.Menubutton(root, text='Tests Conducted', bg='#80c1ff') #contentMenu = tk.Menu(btnMenu1) #btnMenu1.config(menu=contentMenu) #btnMenu1.place(height='37',width='130', relx='0.65', rely='0.47') #btnList = ['Database Comparison', 'Conflicting ARFCNs', 'Conflicting Cell IDs', 'Lonesome Location ID', 'Empty Neighbour List', 'Missing IMSI'] #for btn in btnList: #contentMenu.add_command(label=btn) def click2(): root = tk.Tk() root.title("Custom Scan") #background_image = tk.PhotoImage(file = "/home/rukha/Desktop/hacker.png") #label= tk.Label(image = background_image) #label.pack() canvas = tk.Canvas(root, height=350, width=280, bg= "#3498DB") canvas.pack() #tkinter.messagebox.showinfo("Custom Scan", "Please select the tests you want to conduct.") framex = tk.Frame(canvas, bg= '#80c1ff', bd='10') framex.place(relx=0.00, rely=0.00, relwidth=1.0, relheight=1.0) label = tk.Label(framex, text= "Select your desired scans", bg= "#80c1ff") label.config(font=("Comic Sans",12)) label.place(rely=0.03, relx='0.03') var1 = tk.IntVar() self1 = tk.Checkbutton(framex, text="Test 1: Database Comparison", variable=var1, anchor='w') self1.place(height='27',width='250', relx='0.02', rely='0.15') var2 = tk.IntVar() self2 = tk.Checkbutton(framex, text="Test 2: Conflicting ARFCNs", variable=var2, anchor='w') self2.place(height='27',width='250', relx='0.02', rely='0.25') var3 = tk.IntVar() self3 = tk.Checkbutton(framex, text="Test 3: Conflicting Cell IDs", variable=var3, anchor='w') self3.place(height='27',width='250', relx='0.02', rely='0.35') var4 = tk.IntVar() self4 = tk.Checkbutton(framex, text="Test 4: Lonesome Location ID", variable=var4, anchor='w') self4.place(height='27',width='250', relx='0.02', rely='0.45') var5 = tk.IntVar() self5 = tk.Checkbutton(framex, text="Test 5: Empty Neighbour List", variable=var5, anchor='w') self5.place(height='27',width='250', relx='0.02', rely='0.55') var6 = tk.IntVar() self6 = tk.Checkbutton(framex, text="Test 6: Missing IMSI", variable=var6, anchor='w') self6.place(height='27',width='250', relx='0.02', rely='0.65') def clickx(): tkinter.messagebox.showinfo("Custom Scan", "Your scan was initiated just now. Please wait to see results.") root.destroy() buttonx = tk.Button(framex, text= "Okay", bg= "#80c1ff", fg= "black", command= clickx) buttonx.place(height='37', width='105', relx='0.29', rely='0.80') root.mainloop() button2 = tk.Button(root, text= "Custom Scan", bg= "#80c1ff", fg= "black", command= click2) button2.config(font=("Comic Sans",11,'bold')) button2.place(height='37', width='120', relx='0.46', rely='0.40') def click3(): tkinter.messagebox.showinfo("Details of Tests", "The details of the tests are: \n \n 1. Test 1: Scan that ARFCN (frequencies), Country Code (MCC), Network Code (MNC), Location and Cell Identity (LAI & CI).\n \n 2. Test 2: Scan that two entries have same ARFCN. \n \n 3. Test 3: Scan that two same ARFCNs have different LAI/CI. \n \n 4. Test 4: Scan that whether one LAI has only one CI. \n \n 5. Test 5: Scan whether neighbour list is empty.\n \n 6. Test 6: Scan whether the IMSI/TMSI field is empty.") button3 = tk.Button(root, text= "Click Here for Details of Tests", bg= "#80c1ff", fg= "black", command= click3) button3.place(height='37', width='235', relx='0.415', rely='0.55') root.mainloop()Now few of the codes have already been added and a few more are to be added for the operational commands for buttons. The idea is, whenever a button is pressed, it runs either a python command or a shell script on the terminal. I want an instance, where the terminal output can be displayed on the Tkinter window.
Please help.