VBS/WSH/JS - JS Скрипт, получения TCP соединений (по типу netstat -a -n -p TCP), не работает.

Ответить
Аватара пользователя
andr_mozg

VBS/WSH/JS - JS Скрипт, получения TCP соединений (по типу netstat -a -n -p TCP), не работает.

Сообщение andr_mozg »

Скрипт следующий:





Скрытый текст

[spoiler]PHP код:
[/spoiler]

Код: Выделить всё

var WshShell = new ActiveXObject("WScript.Shell");
var oExec    = WshShell.Exec('%comspec% /c netstat -a -n -p TCP');

function ReadAllFromAny(oExec)
{
     if (!oExec.StdOut.AtEndOfStream)
          return oExec.StdOut.Read(1);
     
     return -1;
}

var allInput = "";
var tryCount = 0;
var c_est=0;
var c_tim=0;
var c_lis=0;

while (true)
{
     
     
     var input = ReadAllFromAny(oExec);
     
     if (-1 == input)
     {
          if (tryCount++ > 10 && oExec.Status == 1)
               break;
          WScript.Sleep(100);
     }
     else
     {
          allInput += input;
          
          
            if (input=="\n")
            {
            WScript.Echo(allInput);
            WScript.Echo("\n");
          
            if (allInput.search("ESTABLISHED") >0 ) {
                c_est+=1
                
            } else if (allInput.search("TIME_WAIT") >0) {    
                c_tim+=1
            } else if (allInput.search("LISTENING") >0) {    
                c_lis+=1

            }
            
            
              allInput=""    
            
          }
          tryCount = 0;
     }
}

WScript.Echo ("ESTABLISHED - " + c_est);
WScript.Echo ("TIME_WAIT - " + c_tim);
WScript.Echo ("LISTENING - " + c_lis); 
















На windows 7 все работает, на 2008 R2 уходит в безконечный цыкл сыпит пустыми окнами CMD.

А вторая беда в том что скрипт должен запускать софт, а он работает на движке Rhino, и возможно с этим связано что он в упор не видит ActiveXObject



Как можно обойти эти проблемы?



P.S. Идеальным было бы получить через запрос WMI, но я немогу найти решения. Вроде как было что то но в Windows XP. Это действительно так и метода нет?



Спасибо
Ответить

Вернуться в «Скриптовые языки администрирования Windows»