BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Ip адрес
СообщениеДобавлено: 07 авг 2015, 12:00 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
Пришло письмо из гу мвд с просьбой вычислить по ip-адресу :) Как это можно лучше всего сделать? Я хочу сделать запрос в бд, но в таблице log_session ip адрес хранится в непонятном для меня формате, такого типа 531350000.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ip адрес
СообщениеДобавлено: 07 авг 2015, 14:07 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
SELECT ipaddr, INET_NTOA(ipaddr) FROM bgbilling_test.log_session_21_201207;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ip адрес
СообщениеДобавлено: 07 авг 2015, 14:37 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Цитата:
такого типа 531350000

ip-адрес — это 32-битовое число по определению
так вот это оно и есть :umnik:

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ip адрес
СообщениеДобавлено: 07 авг 2015, 17:12 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
Спасибо


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ip адрес
СообщениеДобавлено: 26 дек 2015, 00:58 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
bgb_IP_search.sh
Код:
#!/bin/sh

# IP адрес абонента, который нужно найти
ip_adress='1.2.3.4'

# имя файла, куда запишутся результаты поиска
log_file="/path/to/IP_search_$ip_adress.txt"

# SQL Server configuration
db_host='localhost'
db_port='3306'
db_user='bill'
db_pass='bgbilling'
db_name='bgbilling'

mysql="/usr/bin/mysql -h $db_host -P $db_port -u $db_user -p$db_pass -D $db_name -B --default-character-set=utf8 -e"

session_table_list=`$mysql "SHOW TABLES FROM bgbilling WHERE Tables_in_bgbilling LIKE 'log_session_1_%';" | grep -v 'Tables_in_bgbilling'`

echo 'dogovor;start;stop;time;mac;ip' > $log_file

if [ -n "$session_table_list" ]; then
    for table_name in $session_table_list; do
        $mysql "SELECT (SELECT c.title FROM contract c LEFT JOIN user_login_1 ul ON (ul.cid = c.id) WHERE ul.id = lid) AS dogovor, DATE_FORMAT(session_start, '%d.%m.%Y %T') AS start, DATE_FORMAT(session_stop, '%d.%m.%Y %T') AS stop, SEC_TO_TIME(session_time) AS time, from_number AS mac, INET_NTOA(ipaddr) AS ip FROM $table_name WHERE ipaddr = INET_ATON('$ip_adress');" | \
        awk '/'$ip_adress'/ {printf("%s;%s %s;%s %s;%s;%s;%s\n",$1,$2,$3,$4,$5,$6,$7,$8)}' >> $log_file
    done
fi

bgb_MAC_search.sh
Код:
#!/bin/sh

# MAC адрес абонента, который нужно найти
# адрес записывать только так, как он отобраджается в биллинге,
# т.е. в нижнем регистре без каких либо символов разделителей
mac_adress='010203040506'

# имя файла, куда запишутся результаты поиска
log_file="/path/to/MAC_search_$mac_adress.txt"

# SQL Server configuration
db_host='localhost'
db_port='3306'
db_user='bill'
db_pass='bgbilling'
db_name='bgbilling'

mysql="/usr/bin/mysql -h $db_host -P $db_port -u $db_user -p$db_pass -D $db_name -B --default-character-set=utf8 -e"

session_table_list=`$mysql "SHOW TABLES FROM bgbilling WHERE Tables_in_bgbilling LIKE 'log_session_1_%';" | grep -v 'Tables_in_bgbilling'`

echo 'dogovor;start;stop;time;mac;ip' > $log_file

if [ -n "$session_table_list" ]; then
    for table_name in $session_table_list; do
        $mysql "SELECT (SELECT c.title FROM contract c LEFT JOIN user_login_1 ul ON (ul.cid = c.id) WHERE ul.id = lid) AS dogovor, DATE_FORMAT(session_start, '%d.%m.%Y %T') AS start, DATE_FORMAT(session_stop, '%d.%m.%Y %T') AS stop, SEC_TO_TIME(session_time) AS time, from_number AS mac, INET_NTOA(ipaddr) AS ip FROM $table_name WHERE from_number = '$mac_adress';" | \
        awk '/'$mac_adress'/ {printf("%s;%s %s;%s %s;%s;%s;%s\n",$1,$2,$3,$4,$5,$6,$7,$8)}' >> $log_file
    done
fi

Вдруг кому пригодится.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ip адрес
СообщениеДобавлено: 08 янв 2016, 06:43 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
И этот человек ещё на меня фейспалмил...))))

_________________
Код:
  Клиент: вер. 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: Ip адрес
СообщениеДобавлено: 08 янв 2016, 09:15 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
skyb писал(а):
И этот человек ещё на меня фейспалмил...))))

Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ip адрес
СообщениеДобавлено: 20 янв 2016, 16:28 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
skyb писал(а):
И этот человек ещё на меня фейспалмил...))))

Нормальный скрипт.. Думаю фейспалм был за что-то похуже :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ip адрес
СообщениеДобавлено: 26 фев 2016, 18:25 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
stark писал(а):
skyb писал(а):
И этот человек ещё на меня фейспалмил...))))

Нормальный скрипт.. Думаю фейспалм был за что-то похуже :)

дело не в скрипте, а в его использовании, зачем пользоваться башем, создавать файл для переменных, если все уже встроено в биллинге и можно делать гораздо удобней, я не к коду придрался, а к юзабилити самого процесса, микроскопом забивать можно гвозди, но зачем )))
snark, я любя ;-)

_________________
Код:
  Клиент: вер. 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
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


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

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


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

Сейчас этот форум просматривают: Google [Bot] и гости: 1


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

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