-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathserver.ps1
More file actions
33 lines (29 loc) · 825 Bytes
/
server.ps1
File metadata and controls
33 lines (29 loc) · 825 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
$port=8000
# Create server
$endpoint = New-Object System.Net.IPEndPoint([System.Net.IpAddress]::Any, $port)
$listener = New-Object System.Net.Sockets.TcpListener($endpoint)
$listener.Start()
Write-Host 'Listening on port'$port'...'
# Wait for connection
$client = $listener.AcceptTcpClient()
$stream = $client.GetStream()
$reader = New-Object System.IO.StreamReader($stream)
$writer = New-Object System.IO.StreamWriter($stream)
Write-Host [ -NoNewline;Write-Host * -Fore Green -NoNewline;Write-Host ] Connection established !
# Interact with the client
while($true) {
$cmd = Read-Host
$writer.WriteLine($cmd)
$writer.Flush()
if ($cmd -eq 'exit') {
break
}
$output = $reader.ReadLine()
echo $output
""
}
# Cleanup
$reader.Close()
$writer.Close()
$client.Close()
$listener.Stop()