Jump to content

yet another nslookup wrapper


ripdad
 Share

Recommended Posts

Tested on WinXP and Win7. Let me know if any problems, please.

; Example
Local $rtn = _NSLookup('127.0.0.1')
MsgBox(0, '', $rtn)

Func _NSLookup($IP, $rtnMode = 0)
    $IP = StringStripWS($IP, 8)
    Local $a = StringRegExp($IP, '[^\d\.]', 3)
    If IsArray($a) Then
        MsgBox(8240, '_NSLookup', 'Invalid Character in String -->   ' & $a[0] & @TAB)
        Return SetError(-1, 0, -1)
    EndIf

    Local $sPath = @WindowsDir & '\system32\nslookup.exe'
    If Not FileExists($sPath) Then
        MsgBox(8240, '_NSLookup', 'File Not Found:' & @CRLF & $sPath & @TAB)
        Return SetError(-2, 0, -2)
    EndIf

    Local $stdout = ''
    Local $pid = Run($sPath & ' ' & $IP, '', @SW_HIDE, 6)

    If $pid = 0 Then
        MsgBox(8240, '_NSLookup', 'Cannot run nslookup.exe' & @TAB); policy?
        Return SetError(-3, 0, -3)
    EndIf

    Do
        $stdout &= StdoutRead($pid, 0, 0)
    Until @error

    $stdout = StringStripWS(StringReplace(StringStripCR($stdout), @LF, '|'), 7)

    If StringLen($stdout) > 20 Then
        $a = StringRegExp($stdout, '\:\s(.*?)\|', 3)
        If UBound($a) = 4 Then
            If $rtnMode Then
                Return SetError(0, 0, $a); Return Array of Items (zero based)
            Else
                Return SetError(0, 0, $a[2]); Return Domain Name
            EndIf
        EndIf
    EndIf
    MsgBox(8240, '_NSLookup', 'Nothing Found' & @TAB)
    Return SetError(-4, 0, -4)
EndFunc

"The mediocre teacher tells. The Good teacher explains. The superior teacher demonstrates. The great teacher inspires." -William Arthur Ward

Link to comment
Share on other sites

Nice, was meant to do something like this for the Snippets section, but seems I don't need to anymore. Thanks.

Not saying it's a bad thing but a lot of error checking there.

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

Just covering all the bases I could think of.

And I have seen every one of them too!

Thanks.

"The mediocre teacher tells. The Good teacher explains. The superior teacher demonstrates. The great teacher inspires." -William Arthur Ward

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...