Страница 1 из 1

вопрос на засыпку

Добавлено: 2011-01-26 22:06:57
schizoid

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

[root@/home/eugene]# ipfw add 2 count ip from 192.168.11.08 to any
ipfw: hostname ``192.168.11.08'' unknown
[root@ /home/eugene]# ipfw add 2 count ip from 192.168.11.06 to any
00002 count ip from 192.168.11.6 to any
[root@ /home/eugene]# ipfw add 2 count ip from 192.168.11.8 to any
00002 count ip from 192.168.11.8 to any
[root@ /home/eugene]# ipfw add 2 count ip from 192.168.11.07 to any
00002 count ip from 192.168.11.7 to any
[root@ /home/eugene]# ipfw add 2 count ip from 192.168.11.09 to any
ipfw: hostname ``192.168.11.09'' unknown
в чем прикол? почему 08 и 09 не прозавывает?:)

Re: вопрос на засыпку

Добавлено: 2011-01-26 22:56:27
hizel
причем тут shell

Re: вопрос на засыпку

Добавлено: 2011-01-26 23:02:41
schizoid
ну это был скрипт запуска...типа на шелле.
Скрипт есть, только для айпи 08 и 09 он почему-то не работает
ip="01 02 03 04 05 06 07 08 09 10"
for i in $ip
do
${fwcmd} add 1$i count ip from not 192.168.11.0/24 to 192.168.11."$i" out xmit rl0
${fwcmd} add 2$i count ip from 192.168.11."$i" to not 192.168.11.0/24 in recv rl0
done

Re: вопрос на засыпку

Добавлено: 2011-01-27 15:40:12
rmn
Числа, начинающиеся с 0, считаются восьмиричными. Так как 08 и 09 в этой системе - невалидные числа, inet_aton возвращает ошибку и запрос уходит в gethostbyname, которая пытается преобразовать имя "192.168.11.08" в IP, о невозможности чего фаерволл и сообщает:

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

ipfw: hostname ``192.168.11.08'' unknown

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

static int lookup_host (char *host, struct in_addr *ipaddr)
{
        struct hostent *he;

        if (!inet_aton(host, ipaddr)) {
                if ((he = gethostbyname(host)) == NULL)
                        return(-1);
                *ipaddr = *(struct in_addr *)he->h_addr_list[0];
        }
        return(0);
}

...

int inet_aton(const char *cp, struct in_addr *addr) 
{
...
    /*
     * Collect number up to ``.''.
     * Values are specified as for C:
     * 0x=hex, 0=octal, isdigit=decimal.
     */
...
}

Re: вопрос на засыпку

Добавлено: 2011-01-28 1:40:30
schizoid
вельми сенкс
теперь собсна отпал и второй вопрос на счет неправильности интерпритации некоторых "ипов" с нулями.
еще раз снкс за разъяснение :)