Войти

Показать полную графическую версию : Определение объема трафика


drekhaker
30-08-2012, 12:53
Доброго всем времени суток!
Можно ли средствами БАТ определить количество переданного трафика? В состоянии сети ХРюшки имеются показатели принятого и переданного трафика, вот как тут:
http://s018.radikal.ru/i513/1208/7f/388778c09c21t.jpg (http://radikal.ru/F/s018.radikal.ru/i513/1208/7f/388778c09c21.jpg.html)
Может они где в файле хранятся, или их можно как-то вытянуть из системы? Использоваться данные показатели будут для сравнения по прохождении определенного времени.

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

RostVY
30-08-2012, 17:01
net statistics workstation
net statistics server

Anonymоus
30-08-2012, 20:49
drekhaker, netstat -e и разбирайте\сравнивайте его вывод в цикле.
Когда-то писал подобный скрипт для мониторинга соединения:
http://plasmon.rghost.ru/40101993/image.png
Если заинтересуетесь, могу кинуть в личку, посмотрите как там организован разбор вывода команды.

drekhaker
31-08-2012, 14:23
Вот что получилось:

@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 минут, нужно сделать проверку по входящему трафику. Проверку как, от нового показателя, отнять старый, после чего проверить больше ли он Н-ого количества мегабайт. Но с арифметическими действиями у меня проблема( не могу никак отнять и проверить меньше-больше




© OSzone.net 2001-2012