Extra Systems Ban Software (ESBANS)

ES-RDP

Module stat-all

The stat-all module of our original Windows remote desktop protection system consists of two files: the main PowerShell script stat_all.ps1 (which performs all the necessary work to display full ES-RDP system status statistics on a given computer) and an additional file stat_all.bat (which is designed to quickly launch the main stat_all.ps1 file from the Windows cmd.exe console).

The stat_all.bat file in our system looks like this:

powershell.exe -File "C:\Scripts\stat_all.ps1"
pause

It goes without saying that you should replace "C:\Scripts" here with the path where your copy of our system is located. The main file for this module, stat_all.ps1, looks like this:

. "$PSScriptRoot\common.ps1"

Write-Host "`n=== [ ES-RDP PRISON: PRISONER LIST ] ===" -ForegroundColor Cyan
Write-Host "Period of isolation from society: $PrimeTime days." -ForegroundColor Gray

# Get a list of rules
$RulePrefix = $FirewallPrefixes['short']
$ShortRules = Get-NetFirewallRule -DisplayName "$RulePrefix*" -ErrorAction SilentlyContinue
if (-not $ShortRules) {
    Write-Host "The cells are empty. Everyone is clean..." -ForegroundColor Green
} else {
    $Results = foreach ($Rule in $ShortRules) {
        $Address = (Get-NetFirewallAddressFilter -AssociatedNetFirewallRule $Rule).RemoteAddress
        $Attempts = 0
        $Type = "AUTH"
        # Parse description (SCAN/AUTH)
        if ($Rule.Description -match "Type: (\w+). Attempts: (\d+)") {
            $Type = $Matches[1]
            $Attempts = [int]$Matches[2]
        }
        elseif ($Rule.Description -match "(\d+) attempts") {
            $Attempts = [int]$Matches[1]
        }
        # Extract the date and simply rearrange the digits (Europe Style)
        $RawDate = $Rule.Description -replace ".*Created: ", ""
        $FormattedDate = $RawDate -replace "(\d{2})/(\d{2})/(\d{4})", '$2.$1.$3'

        [PSCustomObject]@{
            "IP Address"  = $Address
            "Ban Date"    = $FormattedDate
            "Hits"        = $Attempts
            "Type"        = $Type
            "Rule"        = $Rule.DisplayName
        }
    }
    # Sort by date
$Results | Sort-Object @{
    Expression = { [DateTime]::ParseExact($_. "Ban Date", "dd.MM.yyyy HH:mm:ss", $null) }
} | Format-Table -AutoSize
    Write-Host "-----------------------"
    Write-Host "Total Banned: $($Results.Count)" -ForegroundColor Yellow
}

# Looping through the remaining types: long, net, bot
foreach ($Key in "long", "net", "bot") {
    
    $Prefix = $FirewallPrefixes[$Key]
    $Duration = $BanTimes[$Key]
    $Title = $FullBanName[$Key].ToUpper()

    Write-Host "`n=== [ $Title ES-RDP: PRISONER LIST ] ===" -ForegroundColor Cyan
    Write-Host "Period of Isolation from Society: $Duration days." -ForegroundColor Gray

    # Get the list of rules
    $Rules = Get-NetFirewallRule -DisplayName "$Prefix*" -ErrorAction SilentlyContinue

    if (-not $Rules) {
        Write-Host "No intruders found in this block." -ForegroundColor Gray
    } else {
        $StepResults = @(foreach ($Rule in $Rules) {

            # Extract IP or Subnet
            $Address = (Get-NetFirewallAddressFilter -AssociatedNetFirewallRule $Rule).RemoteAddress
            $Address = $Address -replace "/255\.255\.255\.0", "/24" -replace "/255\.255\.0\.0", "/16" -replace "/255\.0\.0\.0", "/8"

            # Extract date from description
            $RawDate = $Rule.Description -replace ".*Created: ", ""

            # Check for time stamp for correct parsing
            if ($RawDate -notmatch "\d{2}:\d{2}:\d{2}") { $RawDate += " 00:00:00" }
            
            # Format the date (from MM/DD/YYYY to DD.MM.YYYY)
            $FormattedDate = $RawDate -replace "(\d{2})/(\d{2})/(\d{4})", '$2.$1.$3'

            [PSCustomObject]@{
                "Client"            = $Address
                "Ban Date"         = $FormattedDate
                "Rule Name"       = $Rule.DisplayName
            }
        })

        # Output a table sorted by date
        $StepResults | Sort-Object @{
            Expression = { [DateTime]::ParseExact($_. "Ban Date", "dd.MM.yyyy HH:mm:ss", $null) }
        } | Format-Table -AutoSize
        Write-Host "-----------------------"
        Write-Host "Total Banned: $($StepResults.Count)" -ForegroundColor Yellow
    }
}

# --- [ BLOCK: COURT CHANCERY REPORT ] ---
Write-Host "`n=== [ COURT CHANCERY REPORT ] ===" -ForegroundColor Cyan
Write-Host "Crime Rate Fluctuations" -ForegroundColor Gray
Write-Host "(for the last $PrimeTime days.)" -ForegroundColor Gray

if ($Results) {
    # Group data by date (extract only the date without the time, if present)
    $Stats = $Results | Group-Object { 
        # Extract the first 10 characters from "Ban Date" (DD.MM.YYYY format)
        $_. "Ban Date".Substring(0, 10) 
    } | Select-Object @{Name="Date"; Expression={$_.Name}},
                      @{Name="Crimes"; Expression={ ($_.Group | Measure-Object "Hits" -Sum).Sum }},
                      @{Name="Sentences"; Expression={$_.Count}},
                      @{Name="Date_Object"; Expression={ [DateTime]::ParseExact($_.Name, "dd.MM.yyyy", $null) }}

    # Output the table
    $Stats | Sort-Object "Date_Object" | Select-Object "Date", "Crimes", "Sentences" | Format-Table -AutoSize

} else {
    Write-Host "Archives are empty. No crimes detected." -ForegroundColor Green
}

# --- [ BLOCK: PRISON HISTORY (MySQL) ] ---
$HistoryLimit = 5 # Constant for viewing prison archive depth
Write-Host "`n=== [ PRISON SERVICE ARCHIVE ] ===" -ForegroundColor Cyan
Write-Host "(on average, over the last $HistoryLimit days.)" -ForegroundColor Gray

# Generate a query: take the last N records, sort by date
$HistoryQuery = "SELECT DATE_FORMAT(ban_date, '%d.%m'), ban_count FROM days_data where ban_type = 1 ORDER BY ban_date DESC LIMIT $HistoryLimit;"

# Execute via the console client. 
# -N removes headers, -s (silent) removes table borders for easier parsing
$RawHistory = & $mysql_path --user=$mysql_user --password=$mysql_password --database=$mysql_dbName -N -s --execute="$HistoryQuery" 2>$null

if ($RawHistory) {

# Convert MySQL rows into pretty objects
$HistoryObjects = $RawHistory | ForEach-Object {
    if ($_ -match "(\d{2}\.\d{2})\s+(\d+)") {
        [PSCustomObject]@{
            "Date"       = $Matches[1]
            "Prisoners"  = [int]$Matches[2]
        }
    }
}

# Output as a single table
if ($HistoryObjects) {
    if (@($HistoryObjects).Count -gt 1) {
        [array]::Reverse($HistoryObjects)
    }
    $HistoryObjects | Format-Table -AutoSize
}

} else {
    Write-Host "No records found in the office archives." -ForegroundColor Yellow
}

# --- BLOCK: CARRIAGE CELL STATISTICS ---
Write-Host "`n=== [ GUARD LOG INSPECTION ] ===" -ForegroundColor Cyan
Write-Host "SERVER: $env:COMPUTERNAME" -ForegroundColor Yellow

try {
    $LogInfo = Get-WinEvent -ListLog $LogName
    $OldestEvent = Get-WinEvent -LogName $LogName -MaxEvents 1 -Oldest -ErrorAction SilentlyContinue
    
    $LifespanHours = 0
    $FirstRecordDate = "N/A"

    if ($OldestEvent) {
        $FirstRecordDate = $OldestEvent.TimeCreated.ToString("dd.MM.yyyy HH:mm")
        $Diff = New-TimeSpan -Start $OldestEvent.TimeCreated -End (Get-Date)
        # Round to the nearest whole number (down, to whole hours)
        $LifespanHours = [Math]::Truncate($Diff.TotalHours)
    }

    $LogStats = [PSCustomObject]@{
        "Max. size (MB)"     = [Math]::Round($LogInfo.MaximumSizeInBytes / 1MB, 2)
        "Current size (MB)"  = [Math]::Round($LogInfo.FileSize / 1MB, 2)
        "Log entries"        = $LogInfo.RecordCount
        "Oldest entry"       = $FirstRecordDate
        "Lifetime (hours)"   = $LifespanHours
    }

    $LogStats | Format-Table -AutoSize

    if ($LifespanHours -lt 24 -and $LifespanHours -gt 0) {
        Write-Host "(!) ATTENTION: The log lives less than 24 hours. It is recommended to increase the limit." -ForegroundColor Red
    }
} 
catch {
    Write-Host "Error accessing log: $($_.Exception.Message)" -ForegroundColor Red
}

Write-Host "`n=== [ ES-RDP SECURITY REPORT ] ===" -ForegroundColor Cyan
Write-Host "Analyze logs by event type" -ForegroundColor Gray

# 1. Collect active bans from the Firewall (one-time)
$BannedIPs = @()
$RulePrefix = $FirewallPrefixes['short']
$ShortRules = Get-NetFirewallRule -DisplayName "$RulePrefix*" -ErrorAction SilentlyContinue
if ($ShortRules) {
    foreach ($Rule in $ShortRules) {
        $Addr = (Get-NetFirewallAddressFilter -AssociatedNetFirewallRule $Rule).RemoteAddress
        if ($Addr) { $BannedIPs += $Addr }
    }
}

# 2. Table generation loop
foreach ($R in $BanRules) {
    # The header now includes both Limit and Hours from the rule, but the search is based on $StartTime
    Write-Host "`n>>> Event selection    $($R.Type) (ID $($R.ID))" -ForegroundColor DarkYellow
    Write-Host ">>> Analysis depth    $($R.Hours) hours." -ForegroundColor DarkYellow
    Write-Host ">>> Threshold for $($R.Limit) hits" -ForegroundColor DarkYellow

    $StartTime = (Get-Date).AddHours(-$R.Hours)

    $Events = Get-WinEvent -FilterHashtable @{LogName=$LogName; ID=$R.ID; StartTime=$StartTime} -ErrorAction SilentlyContinue

    if (-not $Events) {
        Write-Host "No activity found in logs." -ForegroundColor Green
        continue
    }

    # Group ALL found IPs
    $Report = $Events | ForEach-Object {
        if ($_.Message -match "(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})") {
            [PSCustomObject]@{ IP = $Matches[1]; Time = $_.TimeCreated }
        }
    } | Group-Object IP | Where-Object { $_.Count -gt 1 } | ForEach-Object {
        $GroupSorted = $_.Group | Sort-Object Time
        $CurrentIP = $_.Name
        $IsBanned = $BannedIPs -contains $CurrentIP
        
        [PSCustomObject]@{
            "IP Address"     = $CurrentIP
            "Hits"           = $_.Count
            "Status"         = if ($IsBanned) { "BANNED" } else { "FREE" }
            "First Hit"      = $GroupSorted[0].Time.ToString("dd.MM HH:mm")
            "Last Hit"       = $GroupSorted[-1].Time.ToString("dd.MM HH:mm")
        }
    }

    if ($Report) {
        $Report | Sort-Object "Hits" -Descending | Format-Table -AutoSize
        
        $TotalBanned  = @($Report | Where-Object { $_.Status -eq "BANNED" }).Count
        $FreeRadicals = @($Report | Where-Object { $_.Status -eq "FREE" }).Count

        $SummaryColor = "Green"
        if ($FreeRadicals -gt 0) { $SummaryColor = "Yellow" }

        Write-Host "SUMMARY: DISABLED: $TotalBanned | FREE: $FreeRadicals" -ForegroundColor $SummaryColor
    }
}

# --- BLOCK: EVENT ID STATISTICS (IP ONLY) ---
Write-Host "`n=== [ ACTIVITY ANALYZER BY ID ] ===" -ForegroundColor Cyan

try {
    # Calculate maximum coverage from the rules table
    $MaxHours = ($BanRules | Measure-Object -Property Hours -Maximum).Maximum
    if (-not $MaxHours) { $MaxHours = 24 } # Fallback value

    Write-Host "Event statistics containing IP addresses" -ForegroundColor Gray
    Write-Host "(for the last $MaxHours hours)" -ForegroundColor Gray

    # Retrieve events only for the desired period (optimization)
    $AnalysisPeriod = (Get-Date).AddHours(-$MaxHours)
    $AllEvents = Get-WinEvent -FilterHashtable @{LogName=$LogName; StartTime=$AnalysisPeriod} -ErrorAction SilentlyContinue

    if ($AllEvents) {
        $EventStats = $AllEvents | Group-Object Id | ForEach-Object {
            $CurrentID = $_.Name
            
            # Extract unique IPs (checking Message for IP presence)
            $UniqueIPs = $_.Group | ForEach-Object {
                if ($_.Message -match "(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})") { $Matches[1] }
            } | Select-Object -Unique
            
            $IPCount = ($UniqueIPs | Measure-Object).Count

            if ($IPCount -gt 0) {
                [PSCustomObject]@{
                    "Event ID"   = $CurrentID
                    "Hits"       = $_.Count
                    "Unique IPs" = $IPCount
                }
            }
        }

        # Output table: sort by number of hits
        if ($EventStats) {
            $EventStats | Sort-Object "Hits" -Descending | Format-Table -AutoSize
        } else {
            Write-Host "No events with IP addresses were detected for this period." -ForegroundColor Yellow
        }
    } else {
        Write-Host "The log is empty for the last $MaxHours hours." -ForegroundColor Yellow
    }
} catch {
    Write-Host "Error parsing codes: $($_.Exception.Message)" -ForegroundColor Red
}

Write-Host "`n--------------------------------------------"

As can be seen from this code, this script (like all other scripts in the ESBANS system) uses the general system settings from the file common.ps1.

A typical output from this script might look something like this to you on a Windows server:

C:\Scripts>powershell.exe -File "C:\Scripts\stat_all.ps1"

=== [ ES-RDP PRISON: LIST OF PRISONERS ] ===
Period of isolation from society: 3 days.

IP Address      Ban Date            Hits   Type Rule
--------        ---------           ------ ---  -------
94.26.68.55     21.04.2026 00:50:05     11 AUTH ES_RDP_Short_Drop_2026-04-21_94.26.68.55
158.94.210.29   21.04.2026 01:20:05      6 AUTH ES_RDP_Short_Drop_2026-04-21_158.94.210.29
45.142.193.145  21.04.2026 03:50:05     22 AUTH ES_RDP_Short_Drop_2026-04-21_45.142.193.145
185.156.73.157  21.04.2026 12:40:05    156 AUTH ES_RDP_Short_Drop_2026-04-21_185.156.73.157
45.156.129.90   21.04.2026 15:10:07     13 SCAN ES_RDP_Short_Drop_2026-04-21_45.156.129.90
178.20.210.190  21.04.2026 15:20:06     17 AUTH ES_RDP_Short_Drop_2026-04-21_178.20.210.190
211.24.50.219   21.04.2026 16:50:41  12336 AUTH ES_RDP_Short_Drop_2026-04-21_211.24.50.219
123.253.61.230  21.04.2026 16:50:41      9 AUTH ES_RDP_Short_Drop_2026-04-21_123.253.61.230
45.238.132.30   21.04.2026 16:50:42      7 AUTH ES_RDP_Short_Drop_2026-04-21_45.238.132.30
36.255.223.98   21.04.2026 21:00:41     16 SCAN ES_RDP_Short_Drop_2026-04-21_36.255.223.98
45.156.128.66   21.04.2026 21:10:43     17 SCAN ES_RDP_Short_Drop_2026-04-21_45.156.128.66
212.55.74.139   22.04.2026 00:10:42      9 AUTH ES_RDP_Short_Drop_2026-04-22_212.55.74.139
107.174.142.113 22.04.2026 01:00:42      6 AUTH ES_RDP_Short_Drop_2026-04-22_107.174.142.113
115.21.71.141   22.04.2026 01:10:41      6 AUTH ES_RDP_Short_Drop_2026-04-22_115.21.71.141
94.26.88.29     22.04.2026 07:00:45    319 AUTH ES_RDP_Short_Drop_2026-04-22_94.26.88.29
23.190.152.61   22.04.2026 07:30:42      6 AUTH ES_RDP_Short_Drop_2026-04-22_23.190.152.61
220.185.138.206 22.04.2026 07:40:45     12 SCAN ES_RDP_Short_Drop_2026-04-22_220.185.138.206
80.66.83.80     22.04.2026 07:50:44     17 AUTH ES_RDP_Short_Drop_2026-04-22_80.66.83.80
20.115.56.149   22.04.2026 08:20:44      9 AUTH ES_RDP_Short_Drop_2026-04-22_20.115.56.149
80.66.66.31     22.04.2026 10:20:52     32 SCAN ES_RDP_Short_Drop_2026-04-22_80.66.66.31
47.199.211.106  22.04.2026 14:10:49      6 AUTH ES_RDP_Short_Drop_2026-04-22_47.199.211.106
82.67.135.231   22.04.2026 14:40:50      6 AUTH ES_RDP_Short_Drop_2026-04-22_82.67.135.231
64.233.135.48   22.04.2026 15:30:47      6 AUTH ES_RDP_Short_Drop_2026-04-22_64.233.135.48
65.21.193.247   22.04.2026 15:30:50     19 SCAN ES_RDP_Short_Drop_2026-04-22_65.21.193.247
123.58.196.28   22.04.2026 17:40:08     15 SCAN ES_RDP_Short_Drop_2026-04-22_123.58.196.28
103.212.182.194 22.04.2026 18:20:06      6 AUTH ES_RDP_Short_Drop_2026-04-22_103.212.182.194
36.139.228.248  22.04.2026 21:10:06      8 AUTH ES_RDP_Short_Drop_2026-04-22_36.139.228.248
31.208.13.252   22.04.2026 22:20:06      9 AUTH ES_RDP_Short_Drop_2026-04-22_31.208.13.252
45.156.128.86   22.04.2026 22:20:08     13 SCAN ES_RDP_Short_Drop_2026-04-22_45.156.128.86
177.125.192.100 22.04.2026 22:40:06     11 AUTH ES_RDP_Short_Drop_2026-04-22_177.125.192.100
193.24.211.23   23.04.2026 00:20:07     10 AUTH ES_RDP_Short_Drop_2026-04-23_193.24.211.23
203.146.170.208 23.04.2026 00:20:07     17 AUTH ES_RDP_Short_Drop_2026-04-23_203.146.170.208
88.214.25.123   23.04.2026 00:40:07     58 AUTH ES_RDP_Short_Drop_2026-04-23_88.214.25.123
45.227.254.151  23.04.2026 01:00:08     74 AUTH ES_RDP_Short_Drop_2026-04-23_45.227.254.151
45.227.254.152  23.04.2026 01:00:08     74 AUTH ES_RDP_Short_Drop_2026-04-23_45.227.254.152
194.165.16.165  23.04.2026 01:00:09     74 AUTH ES_RDP_Short_Drop_2026-04-23_194.165.16.165
194.165.16.166  23.04.2026 01:20:07     74 AUTH ES_RDP_Short_Drop_2026-04-23_194.165.16.166
45.227.254.154  23.04.2026 01:30:07     74 AUTH ES_RDP_Short_Drop_2026-04-23_45.227.254.154
194.165.16.163  23.04.2026 01:30:07     29 AUTH ES_RDP_Short_Drop_2026-04-23_194.165.16.163
193.24.123.4    23.04.2026 01:40:11     48 SCAN ES_RDP_Short_Drop_2026-04-23_193.24.123.4
185.218.138.18  23.04.2026 01:50:08     15 AUTH ES_RDP_Short_Drop_2026-04-23_185.218.138.18
91.238.181.92   23.04.2026 02:30:08     70 AUTH ES_RDP_Short_Drop_2026-04-23_91.238.181.92
45.227.254.156  23.04.2026 04:10:08     37 AUTH ES_RDP_Short_Drop_2026-04-23_45.227.254.156
91.238.181.93   23.04.2026 04:20:08     56 AUTH ES_RDP_Short_Drop_2026-04-23_91.238.181.93
45.227.254.153  23.04.2026 04:40:08     73 AUTH ES_RDP_Short_Drop_2026-04-23_45.227.254.153
91.238.181.94   23.04.2026 04:50:08     73 AUTH ES_RDP_Short_Drop_2026-04-23_91.238.181.94
104.251.181.48  23.04.2026 04:50:09     70 AUTH ES_RDP_Short_Drop_2026-04-23_104.251.181.48
91.238.181.96   23.04.2026 05:00:09     74 AUTH ES_RDP_Short_Drop_2026-04-23_91.238.181.96
109.205.211.4   23.04.2026 05:50:10     45 AUTH ES_RDP_Short_Drop_2026-04-23_109.205.211.4
88.210.63.75    23.04.2026 06:10:10    123 AUTH ES_RDP_Short_Drop_2026-04-23_88.210.63.75


-----------------------
Total Banned: 50

=== [ ES-RDP CELL: PRISONER LIST ] ===
Isolation period from society: 21 days

Client          Ban Date            Rule Name
------          ---------           -----------
158.94.210.29   21.04.2026 02:07:04 ES_RDP_Long_Drop_2026-04-21_158.94.210.29
178.20.210.190  21.04.2026 16:07:05 ES_RDP_Long_Drop_2026-04-21_178.20.210.190
107.174.142.113 22.04.2026 01:07:04 ES_RDP_Long_Drop_2026-04-22_107.174.142.113
115.21.71.141   22.04.2026 02:07:04 ES_RDP_Long_Drop_2026-04-22_115.21.71.141
203.146.170.208 23.04.2026 01:07:05 ES_RDP_Long_Drop_2026-04-23_203.146.170.208
193.24.123.4    23.04.2026 02:07:06 ES_RDP_Long_Drop_2026-04-23_193.24.123.4


-----------------------
Total Banned: 6

=== [ ES-RDP CONCENTRATION CAMP: LIST OF PRISONERS ] ===
Period of isolation from society: 6 days.

Client           Ban date            Rule name
------           ---------           -----------
88.214.25.0/24   23.04.2026 01:07:05 ES_RDP_Net_Drop_2026-04-23_88.214.25.0
194.165.16.0/24  23.04.2026 02:07:06 ES_RDP_Net_Drop_2026-04-23_194.165.16.0
185.218.138.0/24 23.04.2026 02:07:06 ES_RDP_Net_Drop_2026-04-23_185.218.138.0
91.238.181.0/24  23.04.2026 05:07:05 ES_RDP_Net_Drop_2026-04-23_91.238.181.0
45.227.254.0/24  23.04.2026 05:07:05 ES_RDP_Net_Drop_2026-04-23_45.227.254.0


-----------------------
Total Banned: 5

=== [ ES-RDP CREMATORIUM: PRISONER LIST ] ===
Isolation period from society: 42 days.
No violators were found in this block.

=== [ COURT CHANCERY REPORT ] ===
Crime Rate Dynamics
(over the past 3 days)

Date       Crimes       Sentences
----       ------------ ----------
21.04.2026        12610         11
22.04.2026          515         19
23.04.2026         1168         20



=== [ PRISON SERVICE ARCHIVE ] ===
(on average, over the past 5 days)

Date  Prisoners
----  -----------
19.04          44
20.04          38
21.04          33
22.04          30
23.04          43



=== [ SECURITY LOG INSPECTION ] ===
SERVER: *****

Max. size (MB)    Current size (MB) Log entries   Oldest entry     Time to live (h)
----------------- ---------------- -------------- ---------------- ---------------
               48            57,07         124033 19.04.2026 19:08              86



=== [ ES-RDP SECURITY REPORT ] ===
Log analysis by event type

>>> AUTH event selection (ID 140)
>>> Analysis depth: 24 hours
>>> Response threshold: 6 hits

IP Address      Hits   Status     First Hits  Last Hits
--------        ------ ------     ----------- ---------
88.210.63.75       128 BANNED     23.04 06:06 23.04 06:10
194.165.16.166      74 BANNED     23.04 01:11 23.04 01:13
45.227.254.154      74 BANNED     23.04 01:23 23.04 01:25
45.227.254.152      74 BANNED     23.04 00:55 23.04 00:57
194.165.16.165      74 BANNED     23.04 00:50 23.04 00:52
45.227.254.151      74 BANNED     23.04 00:52 23.04 00:54
91.238.181.96       74 BANNED     23.04 04:52 23.04 04:54
45.227.254.153      73 BANNED     23.04 04:34 23.04 04:37
91.238.181.94       73 BANNED     23.04 04:43 23.04 04:46
91.238.181.92       70 BANNED     23.04 02:21 23.04 02:25
104.251.181.48      70 BANNED     23.04 04:43 23.04 04:45
91.238.181.93       62 BANNED     23.04 04:18 23.04 04:20
88.214.25.123       60 BANNED     23.04 00:36 23.04 00:40
109.205.211.4       52 BANNED     23.04 05:48 23.04 05:50
45.227.254.156      37 BANNED     23.04 04:04 23.04 04:05
194.165.16.163      33 BANNED     23.04 01:29 23.04 01:30
203.146.170.208     17 BANNED     23.04 00:07 23.04 00:19
185.218.138.18      15 BANNED     23.04 01:47 23.04 01:49
177.125.192.100     11 BANNED     22.04 22:27 22.04 22:39
193.24.211.23       10 BANNED     23.04 00:18 23.04 00:18
31.208.13.252        9 BANNED     22.04 22:12 22.04 22:19
36.139.228.248       8 BANNED     22.04 20:57 22.04 21:09
82.67.135.231        6 BANNED     22.04 11:06 22.04 14:35
47.199.211.106       6 BANNED     22.04 10:58 22.04 14:08
103.212.182.194      6 BANNED     22.04 11:30 22.04 18:11
64.233.135.48        6 BANNED     22.04 11:21 22.04 15:23


SUMMARY: DISABLED: 26 | FREE: 0

>>> SCAN Event Selection (ID 131)
>>> Analysis Depth: 24 hours
>>> Response threshold: 12 hits

IP Address      Hits   Status     First Hit   Last Hit
--------        ------ ------     ----------- ---------
88.210.63.75       130 BANNED     23.04 06:06 23.04 06:10
45.227.254.151      75 BANNED     23.04 00:52 23.04 00:54
45.227.254.152      75 BANNED     23.04 00:55 23.04 00:57
194.165.16.165      75 BANNED     23.04 00:50 23.04 00:52
91.238.181.96       75 BANNED     23.04 04:52 23.04 04:54
45.227.254.154      75 BANNED     23.04 01:23 23.04 01:25
194.165.16.166      75 BANNED     23.04 01:11 23.04 01:13
91.238.181.94       74 BANNED     23.04 04:43 23.04 04:46
45.227.254.153      74 BANNED     23.04 04:34 23.04 04:37
91.238.181.92       72 BANNED     23.04 02:21 23.04 02:25
104.251.181.48      71 BANNED     23.04 04:43 23.04 04:45
91.238.181.93       63 BANNED     23.04 04:18 23.04 04:20
88.214.25.123       62 BANNED     23.04 00:36 23.04 00:40
109.205.211.4       53 BANNED     23.04 05:48 23.04 05:50
193.24.123.4        48 BANNED     23.04 01:29 23.04 01:37
45.227.254.156      38 BANNED     23.04 04:04 23.04 04:05
194.165.16.163      34 BANNED     23.04 01:29 23.04 01:30
80.66.66.31         32 BANNED     22.04 10:10 22.04 10:15
192.168.0.188       23 FREE       22.04 09:30 23.04 09:15
65.21.193.247       19 BANNED     22.04 14:26 22.04 15:29
185.218.138.18      19 BANNED     23.04 01:47 23.04 01:50
203.146.170.208     17 BANNED     23.04 00:07 23.04 00:19
123.58.196.28       15 BANNED     22.04 17:32 22.04 17:32
45.156.128.86       13 BANNED     22.04 22:17 22.04 22:17
193.24.211.23       12 BANNED     22.04 23:35 23.04 00:18
177.125.192.100     11 BANNED     22.04 22:26 22.04 22:39
139.59.58.140       11 FREE       22.04 18:52 22.04 18:52
176.120.22.240      11 FREE       22.04 14:29 23.04 08:26
31.208.13.252        9 BANNED     22.04 22:12 22.04 22:19
36.139.228.248       8 BANNED     22.04 20:57 22.04 21:09
192.168.0.106        8 FREE       22.04 11:21 22.04 11:21
192.168.0.91         8 FREE       22.04 13:27 22.04 13:53
64.233.135.48        6 BANNED     22.04 11:21 22.04 15:23
103.212.182.194      6 BANNED     22.04 11:30 22.04 18:11
147.185.132.144      6 FREE       23.04 07:17 23.04 07:17
147.185.132.120      6 FREE       22.04 19:55 22.04 19:55
205.210.31.72        6 FREE       22.04 13:58 22.04 13:58
205.210.31.214       6 FREE       23.04 01:38 23.04 01:38
18.218.118.203       6 FREE       22.04 17:17 22.04 17:23
82.67.135.231        6 BANNED     22.04 11:06 22.04 14:35
47.199.211.106       6 BANNED     22.04 10:58 22.04 14:08
66.132.186.202       5 FREE       22.04 22:37 22.04 22:37
45.156.128.89        5 FREE       22.04 22:17 22.04 22:17
192.168.0.71         4 FREE       22.04 10:22 22.04 10:22
192.168.0.217        4 FREE       22.04 09:55 22.04 09:55
34.76.68.89          4 FREE       22.04 11:22 22.04 11:23
192.168.0.104        4 FREE       23.04 09:03 23.04 09:03
34.140.224.99        4 FREE       23.04 09:09 23.04 09:09
192.168.0.89         4 FREE       23.04 07:56 23.04 07:56
66.175.223.123       3 FREE       22.04 16:35 22.04 16:35
80.94.95.221         3 FREE       22.04 15:39 22.04 16:42
87.236.176.145       2 FREE       22.04 23:22 22.04 23:22
165.227.45.124       2 FREE       22.04 13:12 22.04 13:12
134.209.177.132      2 FREE       22.04 18:24 22.04 18:24
217.66.22.198        2 FREE       22.04 16:17 22.04 16:17
184.105.139.70       2 FREE       22.04 17:12 22.04 17:13
20.64.97.136         2 FREE       22.04 20:00 22.04 20:00
79.127.182.150       2 FREE       22.04 21:07 22.04 21:07
45.156.128.87        2 FREE       22.04 22:17 22.04 22:17
45.156.128.88        2 FREE       22.04 22:17 22.04 22:17
135.119.112.69       2 FREE       22.04 21:35 22.04 21:35


SUMMARY: DISABLED: 31 | FREE: 30

=== [ ACTIVITY ANALYZER BY ID ] ===
Statistics of events containing IP addresses
(for the last 24 hours)

Event ID    Requests  Unique IPs
----------- --------- -------------
131              1526            88
140              1199            29
139                96            10



--------------------------------------------

C:\Scripts>pause
Press any key to continue. . .

The content of this page is also available in Russian.


© Extra Systems, 2026 Extra Web Top