PowerShell/Docs/send-udp.md

100 lines
2.8 KiB
Markdown
Raw Normal View History

2022-12-04 10:40:18 +01:00
## The *send-udp.ps1* Script
2022-11-17 20:02:26 +01:00
2023-05-26 12:20:18 +02:00
This PowerShell script sends a UDP datagram message to an IP address and port.
2021-10-17 14:33:27 +02:00
## Parameters
```powershell
2023-05-26 12:20:18 +02:00
/home/mf/Repos/PowerShell/Scripts/send-udp.ps1 [[-TargetIP] <String>] [[-TargetPort] <Int32>] [[-Message] <String>] [<CommonParameters>]
-TargetIP <String>
Specifies the target IP address
Required? false
Position? 1
Default value
Accept pipeline input? false
Accept wildcard characters? false
-TargetPort <Int32>
Specifies the target port number
Required? false
Position? 2
Default value 0
Accept pipeline input? false
Accept wildcard characters? false
2021-10-17 14:33:27 +02:00
2023-05-26 12:20:18 +02:00
-Message <String>
Specifies the message text to send
Required? false
Position? 3
Default value
Accept pipeline input? false
Accept wildcard characters? false
2021-10-17 14:33:27 +02:00
[<CommonParameters>]
This script supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction,
WarningVariable, OutBuffer, PipelineVariable, and OutVariable.
```
2023-05-26 12:20:18 +02:00
## Example
```powershell
PS> ./send-udp 192.168.100.100 8080 "TEST"
✔️ Done.
```
## Notes
Author: Markus Fleschutz | License: CC0
## Related Links
https://github.com/fleschutz/PowerShell
2022-11-17 20:02:26 +01:00
## Source Code
2022-11-17 20:05:34 +01:00
```powershell
2022-11-17 20:02:26 +01:00
<#
.SYNOPSIS
Sends a UDP datagram message to an IP address and port
.DESCRIPTION
This PowerShell 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
.EXAMPLE
PS> ./send-udp 192.168.100.100 8080 "TEST"
✔️ Done.
.LINK
https://github.com/fleschutz/PowerShell
.NOTES
Author: Markus Fleschutz | License: CC0
#>
2023-05-26 12:20:18 +02:00
param([string]$TargetIP = "", [int]$TargetPort = 0, [string]$Message = "")
2022-11-17 20:02:26 +01:00
try {
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" }
$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()
"✔️ Done."
exit 0 # success
} catch {
"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
exit 1
}
2022-11-17 20:05:34 +01:00
```
2022-11-17 20:02:26 +01:00
2021-10-17 14:33:27 +02:00
*Generated by convert-ps2md.ps1 using the comment-based help of send-udp.ps1*