Ich hab heute mal nen Portscanner geschreiben, und wollte jetzt von euch wissen, was ihr davon haltet.
Hier der Code:
Code: Alles auswählen
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Luasiv PortScan v0.01;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;(C) 2006 by Maximilian Mayerl;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Variablen
port = 0
start_port = 0
end_port = 0
start_port_str$ = ""
end_port_str$ = ""
ip_val = 0
ip_str$ = ""
host$ = ""
connection_id = 0
event.l = 0
current_text$ = ""
;;;Inits
If InitNetwork()
;;;
Else
MessageRequester("Fehler", "Netzwerk konnte nicht initialisiert werden!")
End
EndIf
;;;User-Interface
If OpenWindow(0, 0, 0, 300, 300, #PB_Window_SystemMenu, "Luasiv PortScan v0.01")
;;;
Else
MessageRequester("Fehler", "Fenster konnte nicht inizialisiert werden!")
End
EndIf
If CreateGadgetList(WindowID(0))
TextGadget(0, 20, 20, 60, 20, "Ziel-IP:")
StringGadget(1, 90, 18, 100, 20, "")
TextGadget(2, 20, 50, 60, 20, "Start-Port:")
StringGadget(3, 90, 46, 100, 20, "")
TextGadget(4, 20, 80, 60, 20, "End-Port:")
StringGadget(5, 90, 74, 100, 20, "")
StringGadget(6, 20, 110, 260, 160, "")
ButtonGadget(7, 210,18, 80, 35, "Scan")
ButtonGadget(8, 210, 59, 80, 35, "Stop")
Else
MessageRequester("Fehler", "User-Interfce konnte nicht initialisiert werden!")
End
EndIf
If CreateStatusBar(0, WindowID(0))
AddStatusBarField(200)
StatusBarText(0, 0, "Fertig")
Else
MessageRequester("Fehler", "Statusleiste konnte nicht initialisiert werden!")
End
EndIf
;;;Hauptschleife
Repeat
event = WaitWindowEvent()
If event = #PB_Event_Gadget
Select EventGadgetID()
Case 0
;;;
Case 1
;;;
Case 2
;;;
Case 3
;;;
Case 4
;;;
Case 5
;;;
Case 6
;;;
Case 7
ip_str$ = GetGadgetText(1)
start_port_str$ = GetGadgetText(3)
end_port_str$ = GetGadgetText(5)
SetGadgetText(6, "")
start_port = Val(start_port_str$)
end_port = Val(end_port_str$)
end_port = end_port + 1
port = start_port
Repeat
current_text$ = GetGadgetText(6)
StatusBarText(0, 0, "Scanne Port: "+ Str(port))
event = WindowEvent()
If event = #PB_Event_Gadget
Select EventGadgetID()
Case 8
Break 1
EndSelect
EndIf
If OpenNetworkConnection(ip_str$, port)
SetGadgetText(6, current_text$ + "Port " + Str(port) + " offen!" + Chr(10))
Else
;;;
EndIf
port = port + 1
Until port = end_port
StatusBarText(0, 0, "Fertig")
EndSelect
EndIf
Until WindowEvent() = #PB_Event_CloseWindow