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

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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

karencho

Green Team
22.06.2018
166
3
BIT
0
Люди добрые пытаюсь проверить открыт ли порт на другом компе, если открыт пустить произвольный код... вот чего добился, но не могу понять почему в обоих случаях пишит "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"}

что я делаю не правильно?
 

centr

Green Team
31.01.2017
408
475
BIT
0
C-подобный:
$cn = New-Object Net.Sockets.TcpClient
$cn.Connect("google.com","80")
    if($cn.Connected)
    {
        "Port is operational"
    }
    else
    {
        "Port is closed "
    }
 
Последнее редактирование:
  • Нравится
Реакции: karencho

karencho

Green Team
22.06.2018
166
3
BIT
0
спасибо помогли, а можно узнать, как сделать чтоб вместо "Port is closed" чтоб он повторял проверку порта каждые Н минут пытался "Start-Sleep -Seconds 100" но не получилось
 

centr

Green Team
31.01.2017
408
475
BIT
0
спасибо помогли, а можно узнать, как сделать чтоб вместо "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
Мы в соцсетях:

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