PortScan
Verfasst: 28.10.2005 14:24
Hat jemand eine Ahnung wie man mit PB seinen PC auf offene Ports (TCP/IP) scannen kann?


Code: Alles auswählen
InitNetwork()
For i = 1 To 65535
temp = OpenNetworkConnection("AND-Computer", i)
If temp
CloseNetworkConnection(temp)
Debug Str(i)+". Port ist offen"
Beep_(2500, 750)
Else
Debug Str(i)+". Port ist zu oder Verbindung konnte nicht hergestellt werden."
EndIf
Next
End
Code: Alles auswählen
InitNetwork()
NewList OpenPorts.l()
NewList Threads.l()
Procedure PortCheckThread(Port.l)
ConnectionID = OpenNetworkConnection("127.0.0.1", Port)
If ConnectionID
CloseNetworkConnection(ConnectionID)
AddElement(OpenPorts())
OpenPorts() = Port
EndIf
EndProcedure
Anfangszeit = ElapsedMilliseconds()
Debug "Starte PortCheck..."
For Port = 1 To 65535 ; Für jeden Port einen Thread starten
AddElement(Threads())
Threads() = CreateThread(@PortCheckThread(), Port)
Debug "Thread #" + Str(Port) + " gestartet. Thread-Handle: " + Str(Threads())
Delay(0)
Next
Debug "Warte, bis die Threads abgearbeitet sind..."
For i = 1 To 65535 ; Gucken, ob auch alle Threads beendet sind.
SelectElement(Threads(), i)
WaitThread(Threads())
Delay(0)
Next
Endzeit = ElapsedMilliseconds()
Debug "Verarbeitung hat " + StrF((Endzeit - Anfangszeit)/1000) + " Sekunden gedauert."
Ergebnis = CountList(OpenPorts()) ; Jetzt schauen wir uns mal das Ergebnis an.
If Ergebnis > 1
Debug Str(Ergebnis) + " offene Ports gefunden. Geöffnet sind:"
FirstElement(OpenPorts())
For i = 1 To Ergebnise
Debug Str(OpenPorts())
NextElement(OpenPorts())
Next
Else
Debug "Keine Ports offen."
EndIf
CallDebugger
Debug "Programm beendet."
End
Portscan
Bei dieser Prüfung versucht der Online-Check, sich auf unterschiedlichen Ports mit Ihrem Computer zu verbinden um eventuelle Lücken aufzuzeigen.
Achtung! Desktop-Firewalls müssen für diesen Test deaktiviert werden!
Sicherheits-Test
Bei dieser Prüfung versucht der Online-Check gezielt, Informationen über Ihren PC bzw. über Ihr Netzwerk herauszufinden.
Exploit-Test
Bei dieser Prüfung versucht der Online-Check, bekannte Sicherheits-Lücken in Programmen zu finden, die auf Ihrem PC installiert sind.
Hinweis: Dieser Test ist nur für den Internet Explorer verfügbar.
Browser-Check
Bei dieser Prüfung wird die Browser-Konfiguration untersucht und eventuelle Schwachstellen aufgezeigt.
Hinweis: Dieser Test ist nur für den Internet Explorer verfügbar.
Es läßt mir keine Ruhe. Warum gibt er den Inhalt der Liste nicht aus?Laurin hat geschrieben:Allerdings, und das ist mir unverständlich, gibt er die Ports nicht aus, obwohl sie sich in der Liste befinden. Du musst im Debugger unter "Variablen" dir den Inhalt der Liste OpenPorts() anschauen.
Code: Alles auswählen
Ergebnis = CountList(OpenPorts()) ; Jetzt schauen wir uns mal das Ergebnis an. If Ergebnis > 1 Debug Str(Ergebnis) + " offene Ports gefunden. Geöffnet sind:" FirstElement(OpenPorts()) For i = 1 To Ergebnise Debug Str(OpenPorts()) NextElement(OpenPorts()) Next Else Debug "Keine Ports offen." EndIf Debug "Programm beendet." End
Code: Alles auswählen
Ergebnis = CountList(OpenPorts()) ; Jetzt schauen wir uns mal das Ergebnis an.
If Ergebnis > 1
Debug Str(Ergebnis) + " offene Ports gefunden. Geöffnet sind:"
ResetList(OpenPorts())
ForEach OpenPorts()
Debug Str(OpenPorts())
Next
Else
Debug "Keine Ports offen."
EndIf
Ja, das passiert bei mir gelegendlich auch. Offenbar kommt Windows nicht so gut mit den vielen Threads gleichzeitig klar.DataMiner hat geschrieben:@Laurin
Klasse Idee!
Leider produziert dein Code bei mir einen "invalid memory access" in Zeile 9, Thread 709
PureBasic ist nicht threadsicher, und Du verwendest hier imLaurin hat geschrieben:Ja, das passiert bei mir gelegendlich auch. Offenbar kommt Windows nicht so gut mit den vielen Threads gleichzeitig klar.DataMiner hat geschrieben:@Laurin
Klasse Idee!
Leider produziert dein Code bei mir einen "invalid memory access" in Zeile 9, Thread 709
Vielleicht hilfts, wenn man nur um die 500 Threads gleichzeitig ausführt.
Code: Alles auswählen
AddElement(OpenPorts())
OpenPorts() = Port