botanic Posted May 8, 2009 Posted May 8, 2009 (edited) I am trying to use this script to find out what port ssh is running on for a number of servers for the place i just started working. The problem is that it works, just it is really slow as it only handles on request at a time. Is there any way to change that? PS: yes i know its a port sniffer, my new job title is 1/2 server ninja 1/2 hacker expandcollapse popup#RequireAdmin #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_outfile=..\..\..\..\Users\Matthew Lagoe\Desktop\portscanner.exe #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #include <Array.au3> MsgBox(0, "use", "to use this you need oswinsck") Global Const $SCKTCPPROTOCOL = 0 Global Const $SCKUDPPROTOCOL = 0x01 Global Const $SCKCLOSED = 0 Global Const $SCKOPEN = 0x01 Global Const $SCKLISTENING = 0x02 Global Const $SCKCONNECTIONPENDING = 0x03 Global Const $SCKRESOLVINGHOST = 0x04 Global Const $SCKHOSTRESOLVED = 0x05 Global Const $SCKCONNECTING = 0x06 Global Const $SCKCONNECTED = 0x07 Global Const $SCKCLOSING = 0x08 Global Const $SCKERROR = 0x09 Dim $sIPADDRESS = InputBox("IP", "Type the ip") $file = FileOpen("C:\"&$sIPADDRESS&".txt", 10) Dim $result = _ScanPorts($sIPADDRESS, 100, 1, 65535) If Not IsArray($result) Then Switch $result Case -2 MsgBox(0x10, "Host not reachable", "The host could not be reached") Case -3 MsgBox(0x30, "Timeout not defined", "Please insert the desired amount of timeout(ms)") EndSwitch Else _ArrayDisplay($result, 'Finish scanning IP address: ' & $sIPADDRESS) MsgBox(0, "Save", "File saved to C:\"&$sIPADDRESS&".txt") EndIf Exit Func _ScanPorts($sIPADDRESS, $iTimeout, $iFrom, $iTo) Local $i, $step, $index = 0 Local $ping, $result, $aResults[1] $ping = Ping($sIPADDRESS, $iTimeout) If Not $ping Then Return -2 If $iTo < $iFrom Then $step = -1 ReDim $aResults[$iFrom-$iTo+1] Else $step = 1 ReDim $aResults[$iTo-$iFrom+1] EndIf For $i = $iFrom To $iTo Step $step $result = Connect($sIPADDRESS, $i, $iTimeout) If Not $result Then $aResults[$index] = 'Port: ' & $i & ' is open' $index += 1 FileWrite($file, "Port " &$i& " open." & @CRLF) EndIf Next Return $aResults EndFunc ;==>_ScanPorts Func Connect($sAddr, $iPort, $iTimeout) Local $oSocket, $timer $oSocket = ObjCreate("OSWINSCK.Winsock") $oSocket.Protocol = $SCKTCPPROTOCOL ; set protocol to be tcp $timer = TimerInit() $oSocket.Connect($sAddr, $iPort) While 1 If $oSocket.State = $SCKERROR Then $oSocket = 0 Return -2 ;connection error (will give up for now) EndIf If $oSocket.State = $SCKCONNECTED Then ;ConsoleWrite("timeout " & TimerDiff($timer) & @TAB & "On line: " & @ScriptLineNumber) $oSocket.CloseWinsock $oSocket = 0 Return 0 ;Return $oSocket ; return object for connection EndIf If TimerDiff($timer) > $iTimeout Then ;ConsoleWrite("timeout " & TimerDiff($timer) & @CRLF) $oSocket = 0 Return -3 ; connection timeout EndIf Sleep(20) WEnd EndFunc ;==>Connect Edited May 8, 2009 by botanic
computergroove Posted May 8, 2009 Posted May 8, 2009 My friend used to use a program called netcat for windows to sniff ports within his own network. It worked reasonably fast and you can find it with google. Get Scite to add a popup when you use a 3rd party UDF -> http://www.autoitscript.com/autoit3/scite/docs/SciTE4AutoIt3/user-calltip-manager.html
avery Posted May 9, 2009 Posted May 9, 2009 You could use a threaded tool that can scan several systems simultaneously? I use this tool to scan my systems at home and work to ensure everything checks out from network/ports/services perspective. I am a network security administrator for gov systems and not a hacker of any sort. Please don't ban me for posting this, Nmap has been around for like 10 years, it's totally legit. NMAP Installer for Windows from Offical Site [www.nmap.org] www.abox.orgAvery HowellVisit My AutoIt Websitehttp://www.abox.org
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now