У меня есть объект NetworkStream
, который подключен к удаленному экземпляру netcat
. Все работает, пока я печатаю на клавиатуре и данные передаются между хостами.
$serverStream.Read($bytes, 0, $bytes.Length))
Однако после ~ 60 секунд бездействия я получаю ошибку ниже (IOException
) в Read()
. Чтение документации говорит мне, что IOException
выбрасывается, когда сокет закрыт.
Я использовал netcat
много и никогда не испытывал, что это отключает сеансы. Итак, проблема связана с NetworkStream
, я полагаю?
Как я могу помешать $serverStream.Read()
вызвать исключение и вместо этого просто подождать, пока данные не станут доступны (сохраняя сеанс без изменений)?
NetworkStream
https://docs.microsoft.com/en-us/dotnet/api/system.net.sockets.networkstream.read?view=netframework-4.8
Exception calling "Read" with "3" argument(s): "Unable to read data from the transport connection: A connection attempt failed because the connected party did not properly respond after a period of time, or establishe
d connection failed because connected host has failed to respond."
At C:\Users\bd6164\Desktop\phishing_revsh.ps1:31 char:9
+ while (($i = $serverStream.Read($bytes, 0, $bytes.Length)) -ne 0) {
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : IOException