$listener = [System.Net.Sockets.TcpListener]::new([Net.IPAddress]::Any,1389)
$listener.Start()
Write-Host "[+] Listening on 0.0.0.0:1389"
while ($true) {
  $client = $listener.AcceptTcpClient()
  $remote = $client.Client.RemoteEndPoint.ToString()
  $ts = (Get-Date).ToUniversalTime().ToString("s") + "Z"
  Write-Host "[$ts] Hit from $remote"
  try {
    $stream = $client.GetStream()
    $buf = New-Object byte[] 256
    $read = $stream.Read($buf,0,$buf.Length)
    Write-Host ("    First bytes: " + [System.BitConverter]::ToString($buf,0,$read))
  } catch { Write-Host ("    recv error: " + $_) }
  $client.Close()
}
