Original Post
Whenever I test the code without the wxpython portions it works fine.
import wx
from socket import *
targetip = "0.0.0.0"
class Test(wx.Frame):
def __init__(self, *args, **kwargs):
super(Test, self).__init__(*args, **kwargs)
self.InitUI()
def InitUI(self):
panel = wx.Panel(self)
button = wx.Button(panel, label = "GetIp", pos = (50, 20), size = (60,30))
self.Bind(wx.EVT_BUTTON, self.GetIp, button)
button2 = wx.Button(panel, label = "Scan", pos = (125, 20), size = (60,30))
self.Bind(wx.EVT_BUTTON, self.Scan, button2)
menubar = wx.MenuBar()
filemenu = wx.Menu()
fitem = filemenu.Append(wx.ID_EXIT, 'Quit', 'Quit Application')
menubar.Append(filemenu, '&File')
self.SetMenuBar(menubar)
self.Bind(wx.EVT_MENU, self.OnQuit, fitem)
self.SetSize((500,400))
self.SetTitle('Simple Test')
self.Centre()
self.Show(True)
def GetIp(self, e):
box = wx.TextEntryDialog(None, "Target IP", "Enter IP", "127.0.0.1")
if box.ShowModal() == wx.ID_OK:
target = box.GetValue()
targetip = gethostbyname(target)
print targetip
def Scan(self, e):
print "Scanning IP"
for i in range(20, 1025):
s = socket(AF_INET, SOCK_STREAM)
result = s.connect_ex((targetip,i))
if(result == 0):
print "Port %d: OPEN" % (i,)
s.close()
def OnQuit(self, e):
self.Close()
def main():
ex = wx.App()
Test(None)
ex.MainLoop()
if __name__ == '__main__':
main()