HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Этичный хакинг или пентестинг
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 15.08.2025, 18:06
Slassika
Новичок
Регистрация: 14.08.2025
Сообщений: 2
С нами: 396019

Репутация: 0
По умолчанию

Всем привет!
Для проверки на предмет открытых портов есть TCP Port Scanner - прекрасная программа, а для проверки, что доступно подключение RDP пользуюсь RDPSS.
И хочу организовать, чтобы сразу проводилась проверка на предмет доступности удаленного рабочего стола по этому адресу. Чтобы не копировать и вставлять из одной в другую программу список.
Как это можно сделать?
 
Ответить с цитированием

  #2  
Старый 16.08.2025, 15:03
Triton
Новичок
Регистрация: 30.09.2016
Сообщений: 0
С нами: 5061452

Репутация: 0
По умолчанию

Заскриптуй. На входе ипняки.

Код:


Код:
$IPFilePath = "C:\tools\ips.txt"
$OutputFile = "C:\tools\rdp_available.txt"
$Port = 3389
$Timeout = 3000

if (Test-Path $OutputFile) { Remove-Item $OutputFile }

if (-not (Test-Path $IPFilePath)) {
    Write-Host "Файл $IPFilePath не найден!" -ForegroundColor Red
    Read-Host "Нажмите Enter для выхода..."
    exit
}

$IPList = Get-Content $IPFilePath | ForEach-Object { $_.Trim() } | Where-Object { $_ -ne "" -and $_ -notmatch "^#" }

if ($IPList.Count -eq 0) {
    Write-Host "Список IP пуст или не прочитан." -ForegroundColor Yellow
    Read-Host "Нажмите Enter для выхода..."
    exit
}

Write-Host "Проверка доступности RDP (порт $Port) для $($IPList.Count) хостов...`n" -ForegroundColor Cyan

$AvailableIPs = @()

foreach ($IP in $IPList) {
    $client = New-Object System.Net.Sockets.TcpClient
    $connect = $client.BeginConnect($IP, $Port, $null, $null)
    $wait = $connect.AsyncWaitHandle.WaitOne($Timeout, $false)

    if (!$wait) {
        Write-Host "$IP`: ❌ Недоступен (таймаут)" -ForegroundColor Red
        $client.Close()
        continue
    }

    try {
        $client.EndConnect($connect)
        Write-Host "$IP`: ✅ Доступен по RDP" -ForegroundColor Green
        $AvailableIPs += $IP
    } catch {
        Write-Host "$IP`: ❌ Недоступен (ошибка подключения)" -ForegroundColor Red
    }

    $client.Close()
}

if ($AvailableIPs.Count -gt 0) {
    $AvailableIPs | Out-File -Encoding UTF8 -FilePath $OutputFile
    Write-Host "`n✅ Доступные RDP-хосты сохранены в: $OutputFile" -ForegroundColor Green

    $runRDPSS = Read-Host "Запустить RDPSS для доступных хостов? (y/n)"
    if ($runRDPSS -match "^[yY]") {
        foreach ($ip in $AvailableIPs) {
            Write-Host "Запуск RDPSS для $ip"
            Start-Process "rdpss.exe" -ArgumentList $ip -WorkingDirectory "C:\Путь\к\RDPSS\"
            Start-Sleep -Milliseconds 500
        }
    }
} else {
    Write-Host "`n❌ Ни один хост не доступен по RDP." -ForegroundColor Red
}

Write-Host "`nГотово. Нажмите Enter для выхода..." -ForegroundColor Cyan
Read-Host
 
Ответить с цитированием

  #3  
Старый 17.08.2025, 02:29
Slassika
Новичок
Регистрация: 14.08.2025
Сообщений: 2
С нами: 396019

Репутация: 0
По умолчанию

Здравствуйте! Интересно, сейчас буду смотреть и гуглить. Очень надеюсь, что осилю.
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.