Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: 1
RSS
long2ip
 
Вот хотел поделится маленьким скриптом который конвертит unsigned int в "нормальный" IP.
Спс SOLDIER

Цитата
#!/bin/sh

#
# Script for converting unsigned int to IP
#

SQL_Q=$(mysql -ss -uroot -ppassword dbname -e 'select `Framed_IP_Address`,inet_ntoa(Framed_IP_Address+0x100000000) from dhs_sessions_log where ORDER BY id DESC LIMIT 1;')

FRAMEDIPINT=`echo $SQL_Q | awk '{print $1}'`
FRAMEDIP=`echo $SQL_Q | awk '{print $2}'`

echo "Framed-IP-Address-Unsigned = $FRAMEDIPINT"
echo "Framed-IP-Address-ReverseIP = $FRAMEDIP"

reverseIP() {
echo "$FRAMEDIP" | awk -F"." '{for(i=NF;i>0;i--) printf i!=1?$i".":"%s",$i}'
}

echo "Framed-IP-Address=`reverseIP`"

exit 0

Результат которого будет так

Код
srv01:~/temp# ./long2ip.sh
Framed-IP-Address-Unsigned = -934827840
Framed-IP-Address-ReverseIP = 200.71.168.192
Framed-IP-Address=192.168.71.200
 
У меня мускульной командой все делалось. :) Длинной.... Могу привести.
 
не спасибо, меня баш в полне устраивает (:

а вот интересно насчёт прозиводительности который будет быстрее

echo "$FRAMEDIP" | awk -F"." '{for(i=NF;i>0;i--) printf i!=1?$i".":"%s",$i}'
или мускуль ???
 
Ну дык эта. Сделай ишшо один скрипт. С одной строчкой:
echo "тут_мускульный_запрос" | mysql -u username -ppassword -h IP имя_базы
И оба скрипта прогони через time.
Страницы: 1
Читают тему