PowerShell TCP Socket Function
The PowerShell function example below can be used to transmit information using the TCP protocol. For example, to perform an HTTP GET command on a website.
function fnTCPSock([string]$sHostName, [string]$sPort, [string]$sScript) {
# Converteer script string to byte for write stream...
[byte[]]$byteScript = [System.Text.Encoding]::ASCII.GetBytes($($sScript))
# Open 4096 Bytes buffer for read stream...
[byte[]]$byteBuffer = New-Object System.Byte[] 16384
# Connect to host...
$oTCPSock = New-Object System.Net.Sockets.TcpClient($sHostName, $sPort)
$oStream = $oTCPSock.GetStream()
# Feed script(byte) tot write stream...
$oStream.Write($byteScript, 0, $byteScript.Length)
# Return read buffer converted to string...
[string]$sCount = $oStream.Read($byteBuffer, 0, 16384)
return [System.Text.Encoding]::ASCII.GetString($byteBuffer, 0, $sCount)
# Close objects...
$oResult.Close()
$oSockTCP.Close()
}
[string]$sScript1 = "GET / HTTP/1.1`r`nAccept: text/html`r`nHost: [virtualhostname]`r`nReferer: http://host.domain.name/site/`r`n`r`n`r`n" [string]$sResult1 = fnTCPSock "hostname" "80" $($sScript1)