PowerShell/Scripts/send-udp.ps1

42 lines
1.3 KiB
PowerShell
Raw Normal View History

2021-09-27 10:38:12 +02:00
<#
2021-07-13 21:10:02 +02:00
.SYNOPSIS
2021-10-04 21:29:23 +02:00
Sends a UDP datagram message to an IP address and port
2021-07-13 21:10:02 +02:00
.DESCRIPTION
2021-10-16 16:50:10 +02:00
This script sends a UDP datagram message to an IP address and port.
.PARAMETER TargetIP
Specifies the target IP address
.PARAMETER TargetPort
Specifies the target port number
.PARAMETER Message
Specifies the message text to send
2021-07-13 21:10:02 +02:00
.EXAMPLE
2021-09-24 17:19:49 +02:00
PS> ./send-udp 192.168.100.100 8080 "TEST"
2021-10-17 11:56:55 +02:00
Done.
2021-08-29 17:50:03 +02:00
.NOTES
Author: Markus Fleschutz · License: CC0
2021-07-13 21:10:02 +02:00
.LINK
https://github.com/fleschutz/PowerShell
2020-12-29 15:14:21 +01:00
#>
2020-11-28 09:18:36 +01:00
2021-07-15 15:51:22 +02:00
param([string]$TargetIP = "", [int]$TargetPort = 0, $[string]Message = "")
2020-11-28 09:18:36 +01:00
2020-11-28 09:43:13 +01:00
try {
2021-07-15 15:51:22 +02:00
if ($TargetIP -eq "" ) { $TargetIP = read-host "Enter target IP address" }
if ($TargetPort -eq 0 ) { $TargetPort = read-host "Enter target port" }
if ($Message -eq "" ) { $Message = read-host "Enter message to send" }
2020-11-28 09:43:13 +01:00
$IP = [System.Net.Dns]::GetHostAddresses($TargetIP)
$Address = [System.Net.IPAddress]::Parse($IP)
$EndPoints = New-Object System.Net.IPEndPoint($Address, $TargetPort)
$Socket = New-Object System.Net.Sockets.UDPClient
$EncodedText = [Text.Encoding]::ASCII.GetBytes($Message)
$SendMessage = $Socket.Send($EncodedText, $EncodedText.Length, $EndPoints)
$Socket.Close()
2021-08-24 20:46:03 +02:00
"✔️ Done."
2021-09-27 10:09:45 +02:00
exit 0 # success
2020-12-09 10:30:55 +01:00
} catch {
2021-09-16 20:19:10 +02:00
"⚠️ Error: $($Error[0]) ($($MyInvocation.MyCommand.Name):$($_.InvocationInfo.ScriptLineNumber))"
2020-12-09 10:30:55 +01:00
exit 1
}