Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Определение объема трафика (http://forum.oszone.net/showthread.php?t=241663)

drekhaker 30-08-2012 12:53 1979813

Определение объема трафика
 
Доброго всем времени суток!
Можно ли средствами БАТ определить количество переданного трафика? В состоянии сети ХРюшки имеются показатели принятого и переданного трафика, вот как тут:

Может они где в файле хранятся, или их можно как-то вытянуть из системы? Использоваться данные показатели будут для сравнения по прохождении определенного времени.

Суть этого всего в том, что имеется программа, которая занимается передачей файлов, за работоспособностью которой нужно следить (Могут выскакивать окна с ошибками, которые как я понимаю средствами Батника не отследить). Есть желание сравнивать каждые 10 минут показатели трафика, и в случае, если изменений не происходило - перезагружать программу.

RostVY 30-08-2012 17:01 1979984

Код:

net statistics workstation
net statistics server


Anonymоus 30-08-2012 20:49 1980111

drekhaker, netstat -e и разбирайте\сравнивайте его вывод в цикле.
Когда-то писал подобный скрипт для мониторинга соединения:

Если заинтересуетесь, могу кинуть в личку, посмотрите как там организован разбор вывода команды.

drekhaker 31-08-2012 14:23 1980531

Вот что получилось:
Код:

@echo off

:Start

set /A FIRST=3
set /A CNT=1

set TRAFIC=netstat -e
 
setlocal enabledelayedexpansion
 
for /f "tokens=*" %%S in ('%TRAFIC%') do (
  if !CNT! == %FIRST% For /f "tokens=1,2 delims=©в" %%A In ("%%S") Do Set TEMP=%%B
  set /A CNT=!CNT!+1
)
echo."%TEMP%"
set TEMP=%TEMP:                    =%
set TEMP=%TEMP:      =+%
echo.%TEMP%

For /f "tokens=1,2 delims=+" %%B In ("%TEMP%") Do Set IN=%%B&Set OUT=%%C
echo %IN%>>C:\trafic.txt
echo %OUT%>>C:\trafic.txt

TIMEOUT /T 300
Goto :start

Говнокода конечно тут хоть отбавляй... За это сори, первый скрипт...

После ожидания в 5 минут, нужно сделать проверку по входящему трафику. Проверку как, от нового показателя, отнять старый, после чего проверить больше ли он Н-ого количества мегабайт. Но с арифметическими действиями у меня проблема( не могу никак отнять и проверить меньше-больше


Время: 03:14.

Время: 03:14.
© OSzone.net 2001-