Насчет trafd и MySQL

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
sashaz
рядовой
Сообщения: 18
Зарегистрирован: 2006-04-28 12:38:39
Контактная информация:

Насчет trafd и MySQL

Непрочитанное сообщение sashaz » 2006-11-03 13:36:20

Добрый день! Настроил связку trafd+MySQL по статье ув.Лиссяры http://www.lissyara.su/?id=1010 и вот появилась необходимость раздельно считать внутренний Украинский (UA-IX) и остальной трафик, т.е. в существующую MySQL таблицу добавить еще 2 ячейки - к примеру uaix и nonuaix (ну это после all_bytes). Нарыл пример скрипта на PHP для проверки принадлежности ip-адресса к точки обмена траффиком UA-IX, и хотелось бы доработать sh-скрипт приведенный Лиссярой, чтобы он проверял и регестировал в таблице сколько и какой пользователь накачал с точки UA-IX и с другиз мест... Но так как в shell я не силен, то прошу Вашей помощи! Вот сам скрипт на ПХП для проверки принадлежности адресса к UA-IX:

Код: Выделить всё

#!/usr/bin/php -q
<?
// Для получения списка сетей :
// wget http://www.colocall.net/ua/?list -O ua-list.txt

function parse_net($ip)
{
sscanf ($ip, "%d.%d.%d.%d/%d", $one, $two, $three, $four, $mask);
$addr = $one*pow(2,24) + $two*pow(2,16) + $three*pow(2,8) + $four;
for ($i = 0; $i < round($mask); $i++) $bitmask += 1 << (31 - $i);
return array($addr, $addr+abs($bitmask));
}

function parse_ip($ip)
{
sscanf ($ip, "%d.%d.%d.%d", $one, $two, $three, $four);
return $one*pow(2,24) + $two*pow(2,16) + $three*pow(2,8) + $four;
}
function check_ip($ip)
{
$f=file('ua-list.txt');
$IP=parse_ip($ip);
foreach ($f as $net)
{
list($min,$max)=parse_net(trim($net));
if ($IP>=$min && $IP<$max) return true;
}
return false;
}

$ip=$_SERVER["argv"][1];

if (check_ip($ip)) echo "OK - host '$ip' in UA-IX\n";
else echo "FALSE - host '$ip' NOT in UA-IX\n";

?>
в parse_net после sscanf стоит добавить mask = mask ? mask : 24 потому что в некоторых списках иногда отсутствует маска подсети и могут быть проблемы.

Жду ответа!

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-11-13 19:25:07

дык... php.net в зубы - на пять минут дел-то....
Убей их всех! Бог потом рассортирует...

sashaz
рядовой
Сообщения: 18
Зарегистрирован: 2006-04-28 12:38:39
Контактная информация:

Непрочитанное сообщение sashaz » 2006-11-22 19:03:57

уже сам все сделал... если хочешь, то спроси меня как! :lol: