PORT SCANNER
Copy this code and paste it in pydroid app
And start scan
import socket,sys,threading,time
from tkinter import *
# ==== Scan Vars ====
ip_s = 1
ip_f = 1024
log = []
ports = []
target = 'localhost'
# ==== Scanning Functions ====
def scanPort(target, port):
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.settimeout(4)
c = s.connect_ex((target, port))
if c == 0:
m = ' Port %d \t[open]' % (port,)
log.append(m)
ports.append(port)
listbox.insert("end", str(m))
updateResult()
s.close()
except OSError: print('> Too many open sockets. Port ' + str(port))
except:
c.close()
s.close()
sys.exit()
sys.exit()
def updateResult():
rtext = " [ " + str(len(ports)) + " / " + str(ip_f) + " ] ~ " + str(target)
L27.configure(text = rtext)
def startScan():
global ports, log, target, ip_f
clearScan()
log = []
ports = []
# Get ports ranges from GUI
ip_s = int(L24.get())
ip_f = int(L25.get())
# Start writing the log file
log.append('> Port Scanner')
log.append('='*14 + '\n')
log.append(' Target:\t' + str(target))
try:
target = socket.gethostbyname(str(L22.get()))
log.append(' IP Adr.:\t' + str(target))
log.append(' Ports: \t[ ' + str(ip_s) + ' / ' + str(ip_f) + ' ]')
log.append('\n')
# Lets start scanning ports!
while ip_s <= ip_f:
try:
scan = threading.Thread(target=scanPort, args=(target, ip_s))
scan.setDaemon(True)
scan.start()
except: time.sleep(0.01)
ip_s += 1
except:
m = '> Target ' + str(L22.get()) + ' not found.'
log.append(m)
listbox.insert(0, str(m))
def saveScan():
global log, target, ports, ip_f
log[5] = " Result:\t[ " + str(len(ports)) + " / " + str(ip_f) + " ]\n"
with open('portscan-'+str(target)+'.txt', mode='wt', encoding='utf-8') as myfile:
myfile.write('\n'.join(log))
def clearScan():
listbox.delete(0, 'end')
# ==== GUI ====
gui = Tk()
gui.title('Mr Cyber-a Port Scanne5')
gui.geometry("400x600+20+20")
# ==== Colors ====
m1c = '#00ee00'
bgc = '#222222'
dbg = '#000000'
fgc = '#111111'
gui.tk_setPalette(background=bgc, foreground=m1c, activeBackground=fgc,activeForeground=bgc, highlightColor=m1c, highlightBackground=m1c)
# ==== Labels ====
L11 = Label(gui, text = "Umar legend Port Scanner", font=("Helvetica", 16, 'underline'))
L11.place(x = 16, y = 10)
L21 = Label(gui, text = "Target: ")
L21.place(x = 16, y = 90)
L22 = Entry(gui, text = "localhost")
L22.place(x = 180, y = 90)
L22.insert(0, "localhost")
L23 = Label(gui, text = "Ports: ")
L23.place(x = 16, y = 158)
L24 = Entry(gui, text = "1")
L24.place(x = 180, y = 158, width = 95)
L24.insert(0, "1")
L25 = Entry(gui, text = "1024")
L25.place(x = 290, y = 158, width = 95)
L25.insert(0, "1024")
L26 = Label(gui, text = "Results: ")
L26.place(x = 16, y = 220)
L27 = Label(gui, text = "[ ... ]")
L27.place(x = 180, y = 220)
# ==== Ports list ====
frame = Frame(gui)
frame.place(x = 16, y = 275, width = 370, height = 215)
listbox = Listbox(frame, width = 59, height = 6)
listbox.place(x = 0, y = 0)
listbox.bind('<<ListboxSelect>>')
scrollbar = Scrollbar(frame)
scrollbar.pack(side=RIGHT, fill=Y)
listbox.config(yscrollcommand=scrollbar.set)
scrollbar.config(command=listbox.yview)
# ==== Buttons / Scans ====
B11 = Button(gui, text = "Start Scan", command=startScan)
B11.place(x = 16, y = 500, width = 170)
B21 = Button(gui, text = "Save Result", command=saveScan)
B21.place(x = 210, y = 500, width = 170)
# ==== Start GUI ====
gui.mainloop()
Start with python code.
Comments
Post a Comment