• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

проверка открытого порта

karencho

Green Team
22.06.2018
166
3
Люди добрые пытаюсь проверить открыт ли порт на другом компе, если открыт пустить произвольный код... вот чего добился, но не могу понять почему в обоих случаях пишит "Yes"

сам код :

Код:
$TCPClient=New-Object System.Net.Sockets.TcpClient("google.com", 1)
$IsOpen =  $TCPClient.Connected
If ($IsOpen -eq $True) {write-host "Yes"}
Else {write-host "No"}

что я делаю не правильно?
 
C-подобный:
$cn = New-Object Net.Sockets.TcpClient
$cn.Connect("google.com","80")
    if($cn.Connected)
    {
        "Port is operational"
    }
    else
    {
        "Port is closed "
    }
 
Последнее редактирование:
  • Нравится
Реакции: karencho
спасибо помогли, а можно узнать, как сделать чтоб вместо "Port is closed" чтоб он повторял проверку порта каждые Н минут пытался "Start-Sleep -Seconds 100" но не получилось
 
спасибо помогли, а можно узнать, как сделать чтоб вместо "Port is closed" чтоб он повторял проверку порта каждые Н минут пытался "Start-Sleep -Seconds 100" но не получилось
Вы хотите что бы за вас всё написали, или вы хотите что бы просто подсказали в каком направление двигаться?
Если вопрос относится ко второму, то самый простой и наверное более правильный вариант будет цикл ( к примеру ).
Если к первому, то зачем вам это вообще нужно? (Вопрос чисто риторический, просто задумайтесь, отвечать здесь не надо.)

C-подобный:
$cn = New-Object Net.Sockets.TcpClient
do{
$cn.Connect("google.com","80")
    if($cn.Connected)
    {
        #"Port is operational"
        break
    }
    else
    {
    start-sleep -sec 100
      #"Port is closed "
    }
    }while($true)
Примерно как то так, powershell вообще не знаком, даже консоль не открывал, и написал чисто с воздуха, но конструкция будет примерно такой.
 
  • Нравится
Реакции: karencho и Marylin
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab