Скомпилил Gigabase, хочу детальную статистику получать напрямую без привлечения биллинга. Подскажите кто чего знает о столбцах в таблице. Как расшифровать каждый из них?
<iptraffic_raw id="1261"> id - ?
<slink_id>612</slink_id> slink_id -?
<srcaddr>-843314992</srcaddr> srcaddr - ?
<dstaddr>-1062728442</dstaddr> dstaddr - ?
<nexthop>0</nexthop> nexthop -?
<input>109</input> input - ?
<output>0</output> output -?
<dPkts>4</dPkts> dPkts - передано пакетов?
<dOctets>389</dOctets> dOctets - передано байт?
<First>1036100740</First> First - ?
<Last>1036115268</Last> Last - ?
<srcport>5190</srcport> srcport - порт источника
<dstport>1033</dstport> dstport - порт получателя
<pad>195</pad> pad - ?
<tcp_flags>24</tcp_flags> tcp_flags - ?
<prot>6</prot> prot - ?
<tos>0</tos> tos -?
<src_as>0</src_as> src_as -?
<dst_as>0</dst_as> dst_as -?
<src_mask>16</src_mask> src_mask -?
<dst_mask>0</dst_mask> dst_mask -?
<t_class>400</t_class> t_class - класс трафика
<account_id>251</account_id> account_id - id аккаунта
<timestamp>1121068592</timestamp> timestamp - unixtime
</iptraffic_raw>
Кто еще чем владеет из этой таблички? Интересуют алгоритмы приведения к понятному человеческому виду на основе БД UTM5.
У кого есть примочки для получения деталки из Gigabase?
Ну а ты думал чем я вайл получил? Меня просто интересует какие поля с какими в отчете детальной статистики админки соотносятся, и как их вообще совпадающими можно сделать? Хотя-бы алгоритмы преобразований дайте, если не трудно.spec писал(а):Приветсти к понятному виду можно при помощи утилиты sub_sql, входящей в gigabase и реализующей к этой БД SQL-интерфейс с минимальным функционалом.
Полное описание сущности полей можно посмотреть в описании на нетфлоу - http://www.cisco.com/warp/public/cc/pd/ ... pps_wp.htmprog_iv писал(а):Ну а ты думал чем я вайл получил? Меня просто интересует какие поля с какими в отчете детальной статистики админки соотносятся, и как их вообще совпадающими можно сделать? Хотя-бы алгоритмы преобразований дайте, если не трудно.spec писал(а):Приветсти к понятному виду можно при помощи утилиты sub_sql, входящей в gigabase и реализующей к этой БД SQL-интерфейс с минимальным функционалом.
вот выдержка:
ipaddrtype srcaddr; /* Source IP Address */
ipaddrtype dstaddr; /* Destination IP Address */
ipaddrtype nexthop; /* Next hop router's IP Address */
ushort input; /* Input interface index */
ushort output; /* Output interface index */
ulong dPkts; /* Packets sent in Duration (milliseconds between 1st & last packet in
this flow)*/
ulong dOctets; /* Octets sent in Duration (milliseconds between 1st & last packet in
this flow)*/
ulong First; /* SysUptime at start of flow */
ulong Last; /* and of last packet of the flow */
ushort srcport; /* TCP/UDP source port number (.e.g, FTP, Telnet, etc.,or equivalent) */
ushort dstport; /* TCP/UDP destination port number (.e.g, FTP, Telnet, etc.,or equivalent) */
uchar pad; /* pad to word boundary */
uchar tcp_flags; /* Cumulative OR of tcp flags */
uchar prot; /* IP protocol, e.g., 6=TCP, 17=UDP, etc... */
uchar tos; /* IP Type-of-Service */
ushort dst_as; /* dst peer/origin Autonomous System */
ushort src_as; /* source peer/origin Autonomous System */
uchar dst_mask; /* destination route's mask bits */
uchar src_mask; /* source route's mask bits */
ushort pad; /* pad to word boundary */
самое простое , можно подключиться к mysql и выполнить:adminP писал(а):Так все-таки как из этих циферек <srcaddr>-843314992</srcaddr>
получить ip?
select inet_ntoa(-843314992 & 0xFFFFFFFF);
результат такой:
mysql> select inet_ntoa(-843314992 & 0xFFFFFFFF);
+------------------------------------+
| inet_ntoa(-843314992 & 0xFFFFFFFF) |
+------------------------------------+
| 205.188.8.208 |
+------------------------------------+
1 row in set (0.00 sec)
аналогично можно делать скриптом (perl) либо в программе на C/C++.
Вот код на перле. Для преобразования IP-адресов числового формата в обычные IP.
Для примера подставлено значение '-1', что соответствует IP адресу 255.255.255.255
PS! Я это не тестил. Написал по теории!!!
Для примера подставлено значение '-1', что соответствует IP адресу 255.255.255.255
Код: Выделить всё
#!/usr/bin/perl
use Socket;
$mysql_binip = -1;
$mysql_binip = $mysql_binip < 0 ? ($mysql_binip + 0xFFFFFFFF + 1):$mysql_binip;
$regular_ip = inet_ntoa(pack("N", $mysql_binip));
print "$regular_ip\n";