Sign in to follow this  
Followers 0
ripdad

HostsFile Monitor

7 posts in this topic

Here's a simple script that monitors what URL's have been blocked by the HostsFile.

; HostsFile Monitor
; Released: February 10, 2012 by ripdad
; Description: Monitors what URL's have been blocked by the HostsFile
;
Opt('TrayAutoPause', 0)
Opt('MustDeclareVars', 1)
OnAutoItExitRegister('_Exit')
;
TCPStartup()
;
Local $a, $s, $t, $Socket, $Server = TCPListen('127.0.0.1', 80)
;
Local $gui = GUICreate(' HostsFile Monitor', 400, 250, -1, -1, Default, 0x00000008); <-- Always on Top
Local $hLv = GUICtrlCreateListView(" Blocked URL's| Date/Time", 5, 5, 390, 240)
GUICtrlSendMsg($hLv, 0x101E, 0, 240)
GUICtrlSendMsg($hLv, 0x101E, 1, 130)
GUISetState(@SW_SHOW)
;
While 1
    Do
        $Socket = TCPAccept($Server)
    Until (GUIGetMsg() = -3) Or ($Socket <> -1)
    If $Socket = -1 Then Exit
    $s = TCPRecv($Socket, 256)
    $a = StringRegExp($s, '(?i)Host:(.*?)' & @CRLF, 3)
    If IsArray($a) Then
        $t = @MON & '-' & @MDAY & '-' & @YEAR & '  ' & @HOUR & ':' & @MIN & ':' & @SEC
        GUICtrlCreateListViewItem($a[0] & '|' & $t, $hLv)
    EndIf
    TCPCloseSocket($Socket)
WEnd
;
Func _Exit()
    TCPShutdown()
    GUIDelete($gui)
    MsgBox(0, ' HostsFile Monitor', 'Exit', 1)
    Exit
EndFunc
;

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

Share this post


Link to post
Share on other sites



Very interesting, thanks.


_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_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: 04/09/2015

Share this post


Link to post
Share on other sites

i cant find the edit your talking about

Share this post


Link to post
Share on other sites

till i posted...thanks for replys :)

Share this post


Link to post
Share on other sites

JohnOne,

The HOSTS file is for re-directing domains to the appropriate IP address, though the intended function of the HOSTS file has changed over time. For a specific IP address then you're looking at another piece of software which you can find by doing a bit of digging.


_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_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: 04/09/2015

Share this post


Link to post
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
Sign in to follow this  
Followers 0

  • Similar Content

    • JohnOne
      By JohnOne
      I cannot find any concrete info on this.
      What is and is not valid in a windows (vista+) hosts file?
      0.0.0.0 http://www.domain.com (I know for example that http:// is not valid)
      0,0,0,0 www.domain.com 0.0.0.0 sub.domain.com 0.0.0.0 sub.sub.domain.com 0.0.0.0 domain_name.com 0.0.0.0 domain-mane.com 0.0.0.0 1domain.com 0.0.0.0 _domain.co 0.0.0.0 2
    • EvoBora
      By EvoBora
      Hello Everyone, I'm running into an issue with the below hosts file script originally posted by Chewy.  Has the Author as Matt Majewski back in 2009.  Not sure if it was edited from the original creation date.  The problem I'm running into is that it is not editing the hosts file it is just appending the line to the hosts file over and over again.  It seems like it can't find the name when it searches the array.  Does someone have a working script that allows you to edit an ip if it exists or add it if it doesn't?  I have tried this on multiple computers all running Win7 Pro 64bit.  Any help would greatly be appreciated.  I'm sure I'm just missing something, but I can't seem to see it.
      Thank You
      Func HostUpdate() ;EDIT IP TO THE IP ADDRESS OF YOUR SERVER YOU WANT MACHINES TO IMPORT TO $CitrixIP = "10.99.1.1" ;HOSTS file path $sFile = @WindowsDir & "\system32\Drivers\etc\hosts" ;used to define the index in the array when citrix.mydomain.com was found Dim $CitrixFind ;the array used to import the HOSTS file to Dim $aRecords ;Open the HOSTS file for reading into the array ;If Not _FileReadToArray(@SystemDir & "\Drivers\etc\hosts",$aRecords) Then If Not _FileReadToArray($sFile, $aRecords) Then MsgBox(4096,"Error", " Error reading log to Array error:" & @error) ;MsgBox(4096,"Error", $sFile) Exit EndIf ;searches the imported array to find the word "citrix.mydomain.com" ;then set the arrayindex it found it into $CitrixFind ;$CitrixFind = _ArraySearch ($aRecords, "citrix.mydomain.com", 0 , 0, 0, True) $CitrixFind = _ArraySearch ($aRecords, "citrix.mydomain.com") ;IF it found citrix.mydomain.com IF ($CitrixFind <> -1) Then ;change the array to include the new ip Number ;it changes the specific array index based on the earlier search $aRecords[$CitrixFind] = $CitrixIP & " citrix.mydomain.com" ;open the host file for editing ;the 2 parameter will erase the contents of the file $hFile = FileOpen($sFile, 2); 2 = erase ;write the array to the open File _FileWriteFromArray($hfile, $aRecords, 1) ;close the HOSTS file that was opened FileClose($hFile) ; did not find citrix.mydomain.com Else ;open the host file for editing ;the 1 parameter will append to the end of the file $hFile = FileOpen($sFile, 1); 1 = append ;write the new zen ip to the end of the file FileWriteLine($hFile, $CitrixIP & " citrix.mydomain.com") ;close the HOSTS file that was opened Fileclose($hFile) ;END IF found citrix.mydomain.com of not EndIf EndFunc  
    • MrVietA2
      By MrVietA2
      Hi everyone !
      I have a 1 question : " How can I open hosts file in windows with autoit code ? ". I tried by some other program but failed ! Help me plz ! Thank you !