BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 28 мар 2024, 15:51

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: IPN. преобразование детализации
СообщениеДобавлено: 30 июл 2010, 09:05 
Не в сети

Зарегистрирован: 17 ноя 2009, 08:47
Сообщения: 215
Откуда: krsn
Карма: 48
что это такое:
Скрипт нужен для того, чтобы в случае создания сырой детализации преобразовать его к более читабельному виду. IP адреса преобразуются в доменные имена по возможности, выводится таблица, в которой вместо голых IP как раз пишутся эти доменные имена, каждый домен кликабелен, при клике происходит переход на сервис whois.

После основной таблицы выводится таблица суммарного трафика по каждому домену.

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

требования:
  • apache2
  • php5

установка:
  • создать каталог в директории www
  • распаковать туда содержимое архива ip2name.zip

как пользоваться:
  • Забираем файл сырой детализации из сервера биллинга.
  • Распаковываем csv файл из архива с детализацией.
  • Через браузер заходим на скрипт преобразования.
  • Нажимаем кнопку выбора файла, выбираем файл, нажимаем кнопку "Отправить".
  • Ждем
  • Сохраняем полученный результат в файл и даем клиенту, чтобы убедился, что эот именно он качал прон из кантагтега =))

в планах
Сделать возможность фильтрации по входящему/исходящему, трафику, ну, и возможность фильтрации по всяким там ip

_________________
Изображение
using billingClient.BGB 4.6;
using server.Ubuntu server 9.10;
using server.Java "1.6.0_15";
using client.Ubuntu 10.04;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IPN. преобразование детализации
СообщениеДобавлено: 27 дек 2012, 03:57 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
Как сделать этот пункт "Распаковываем csv файл из архива с детализацией."?
не могу открыть просто так файл с таким расширением .bgdl


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IPN. преобразование детализации
СообщениеДобавлено: 27 дек 2012, 06:40 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
это нада заказать детализацию по сессии
в ipn кажись в договоре, там в отчетах.


для диалапа тоже пойдет?

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IPN. преобразование детализации
СообщениеДобавлено: 27 дек 2012, 16:11 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
skyb писал(а):
для диалапа тоже пойдет?

Кратко - да.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IPN. преобразование детализации
СообщениеДобавлено: 28 дек 2012, 00:09 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
snark писал(а):
skyb писал(а):
для диалапа тоже пойдет?

Кратко - да.

не пробовал ставить?

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IPN. преобразование детализации
СообщениеДобавлено: 28 дек 2012, 03:21 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
skyb писал(а):
не пробовал ставить?

А смысл? Если б была нужда - уже давно написал бы простенький парсер (всего то надо file() + preg_match() + gethostbyaddr()), а раз нужды нет - свое не написал и стороннее не ставил ;)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IPN. преобразование детализации
СообщениеДобавлено: 22 сен 2013, 12:50 
Не в сети

Зарегистрирован: 24 июл 2007, 10:58
Сообщения: 89
Карма: 0
Спасибо, попробовал, работает, но только на php-5.2, на более новых нет. А сам я от программирования весьма далек ((
Поэтому вопрос: Данный скрипт все еще актуален? В биллинге не появилось встроенных возможностей по переработке детализации в более удобоваримый вид? Как с этим в модуле Inet? В мануале и вики ничего не нашел, поэтому ткните мордой если не трудно.

Цитата:
в планах
Сделать возможность фильтрации по входящему/исходящему, трафику, ну, и возможность фильтрации по всяким там ip


Если актуальность еще есть, то можно где то скачать более новую версию данного скрипта?
Или может кто подскажет более продвинутый способ?

_________________
Сервер: вер. 7.1.1021 / 11.09.2018 13:02:44
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_73
inet: вер. 7.1.628 / 11.09.2018 13:02:53


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IPN. преобразование детализации
СообщениеДобавлено: 24 сен 2013, 16:01 
Не в сети
Клиент

Зарегистрирован: 17 дек 2010, 15:27
Сообщения: 147
Карма: 22
Вот тут мне накатали

Код:
#!/usr/bin/perl -w
use strict;
use warnings;
use Socket;

# Сеть
my $net = {
                'addr'  => "192.168.хх.0",
                'mask'  => "24",
                };

# Проверка находится ли ip в сети
sub CheckIpInNet($$)
        {
        my ($net, $addr) = @_;
        my $result = undef;

        # Считаем сеть
        my $ip_address_binary = inet_aton( $net->{'addr'} );
        my $netmask_binary = ~pack("N", (2**(32-$net->{'mask'}))-1);
        my $network_address = inet_ntoa( $ip_address_binary & $netmask_binary );
        # Первый и последний адреса сети
        my $first = inet_ntoa( pack( 'N', unpack('N', $ip_address_binary & $netmask_binary ) + 1 ));
        my $last = inet_ntoa( pack( 'N', unpack('N', $ip_address_binary | ~$netmask_binary ) - 1 ));
        # Приводим адреса в int
        my $int_first = unpack 'N' => pack 'C4' => split /\./ => $first;
        my $int_addr = unpack 'N' => pack 'C4' => split /\./ => $addr;
        my $int_last = unpack 'N' => pack 'C4' => split /\./ => $last;
        # Проверяем адреса
        if(($int_first <= $int_addr) and ($int_addr <= $int_last))
                {$result = 1;}

        return $result;
        }

my %summ = ();
open(FL, "data.csv") or die($!."\n");
while(<FL>)
        {
        chomp();
        # Время;С адреса;С порта;На адрес;На порт;Байт;С интерфейса;На интерфейс
        my @row = split(/;/, $_);
        # Пропускаем строки, где нет числа в трафике
        if((!defined($row[5])) or ($row[5] !~ m/^\d+$/))
                {next;}
        my %info = (
                        'src'   => $row[1],
                        'dst'   => $row[3],
                        'traf'  => $row[5],
                        );
        # Если ip источника/назначния есть в сети, добавим информацию о трафике
        if(&CheckIpInNet($net, $info{'src'}))
                {$summ{$info{'src'}}->{'out'} += $info{'traf'};}
        elsif(&CheckIpInNet($net, $info{'dst'}))
                {$summ{$info{'dst'}}->{'in'} += $info{'traf'};}
        }
close(FL) or die($!."\n");
# Сортировка и вывод
foreach my $ip (reverse sort {$summ{$a}->{'in'} <=> $summ{$b}->{'in'}} keys %summ)
        {print $ip."\t".$summ{$ip}->{'in'}."\t".$summ{$ip}->{'out'}."\n";}


1;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IPN. преобразование детализации
СообщениеДобавлено: 24 сен 2013, 16:23 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
Magistr писал(а):
Код:
# Сеть
my $net = {
                'addr'  => "192.168.хх.0",
                'mask'  => "24",
                };

Я сам профессиональный параноик, но чтобы так шифроваться :)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.061s | 36 Queries | GZIP : On ]