NATTable Методы



GetRows(AMaxRows as Integer, AFilterBy as Integer, AFilter as String) as Variant

Возвращает вариантный массив, который содержит записи таблицы NAT.

AMaxRows - Максимальное число записей, которое необходимо вернуть.

Если 0 - вернуть все записи.

AFilterBy - определяет, использовать-ли фильтр.

0 - фильтр отключен;

1 - фильтр по имени;

2 - фильтр по IP-адресу источника.

AFilter - маска или значение, по которому фильтровать, например "192.168.?.*" или "192.168.*"

 

Метод GetRows возвращает вариантный массив с элементами таблицы NAT.

Каждый элемент массива представляет собой строку в формате:

ИДЕНТИФИКАТОР|ИМЯ ПРАВИЛА|ПРОТОКОЛ|ИСТОЧНИК|НАЗНАЧЕНИЕ|СЕКУНДЫ|АКТИВНОСТЬ (0 или 1)|КБайт от источн. / К источн.|URL (может быть пустым)

Как видно - каждое поле записи разделено символом "|".

 

Пример реального элемента таблицы NAT:

12124968|NAT правило|TCP|192.168.0.5:2765|17.254.3.183:80|120|1|2.6 / 9.5|http://www.routix.net/rpc

 

       12124968 - Уникальный идентификатор элемента

NAT правило - Имя правила
TCP - Протокол (может быть TCP, UDP, ICMP...)
192.168.0.5:2765 - Источник
54.3.183:80 - Назначение
120 - Время с момента создания: 2 минуты
1 - Активно (0 - не активно)
2.6 / 9.5 - 2.6 КБайт от источн., 9.5 КБайт к источн.
http://www.routix.net/rpc - URL
 
Пример VBScript, как производить разбор массива, полученного при помощи этого метода:
 
       'вернуть не более 100 элементов, фильтрация отключена
       AData = TrafficFilter.NATTable.GetRows(100, 0, "")
       For I = 0 To UBound(AData)
               sItem = AData(I)
               aItem = Split(sItem, "|", -1, 1)
 
               'aItem(0) ИДЕНТИФИКАТОР
               'aItem(1) ИМЯ ПРАВИЛА
               'aItem(2) ПРОТОКОЛ
               'aItem(3) ИСТОЧНИК
               'aItem(4) НАЗНАЧЕНИЕ
               'aItem(5) ВРЕМЯ (В СЕКУНДАХ)
               'aItem(6) ЕСЛИ "1" - АКТИВНО, ЕСЛИ "0" - НЕ АКТИВНО
               'aItem(7) ТРАФИК
               'aItem(8) URL ЕСЛИ HTTP, ИНАЧЕ ПУСТО
       Next