Перейти к основному содержанию

Powershell — отправка UDP пакета

Network

Понадобилось мне как-то проверить, работает ли UDP порт на компьютере. На получателе настраиваю прослушивание UDP порта с помощью PktMon:

PktMon — ловим UDP трафик в Windows 10

Слушаю, слушаю. Нет трафика. Нужно самому послать UDP пакет, а под рукой нет никаких подручных средств. На помощь приходит Powershell.

 
Send-UdpDatagram.ps1
function Send-UdpDatagram
{
      Param ([string] $EndPoint, 
      [int] $Port, 
      [string] $Message)

      $IP = [System.Net.Dns]::GetHostAddresses($EndPoint) 
      $Address = [System.Net.IPAddress]::Parse($IP) 
      $EndPoints = New-Object System.Net.IPEndPoint($Address, $Port) 
      $Socket = New-Object System.Net.Sockets.UDPClient 
      $EncodedText = [Text.Encoding]::ASCII.GetBytes($Message) 
      $SendMessage = $Socket.Send($EncodedText, $EncodedText.Length, $EndPoints) 
      $Socket.Close() 
} 
 
Usage.ps1
Send-UdpDatagram -EndPoint "127.0.0.1" -Port 53 -Message "Hello world"

Скрипт писал не сам, но проверил. Работает.

powershell

Примечание

Пришлось ещё разрешить выполнение PowerShell скриптов.

Powershell — невозможно загрузить файл ps1, так как выполнение сценариев отключено в этой системе

 

Похожие материалы

Windows Terminal — больше чем терминал

Windows Terminal — новое терминальное приложение в Windows 10 для разработчиков и системных администраторов. Инструмент позволяет в одном окне в режиме вкладок запускать различные оболочки командной строки, PowerShell и и WSL. В одной вкладке может отображаться несколько панелей.

Windows Server 2019 — NIC Teaming

Имеется сервер Supermicro SYS-6018R-MT. В сервер установлена двухпортовая SFP+ сетевуха производства HPE — HPE Ethernet 10Gb 2P 546SFP+ адаптер. Сетевуха нормально определилась. На сервер поставили Windows Server 2019, теперь нужно агрегировать сетевые порты.

Теги