• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • 🚨 Ещё можно успеть на курс «OSINT: технология боевой разведки» от Академии Кодебай

    🔍 Изучите методы разведки с использованием открытых источников (OSINT) для проведения успешных атак.
    🛠️ Освойте ключевые инструменты, такие как Maltego, TheHarvester и другие.
    🧪 Пройдите практические лабораторные работы, имитирующие реальную разведку.
    🧠 Развивайте навыки, которые помогут вам стать экспертом в области информационной безопасности.

    Запись открыта до 23 мая Подробнее о курсе ...

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

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
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!

Курс AD