LINUX.ORG.RU

не получается в IFF_PROMISC

 linuc,


0

1

доброго вечера :)
перевожу я свою сетевуху в PROMISCOUS mode, и она, таки да, говорит, что перевелась. Но по-факту ловит только пакеты предназначенные строго ей...

ioctl(args->sock_in, SIOCGIFFLAGS, &ifr_in);                              
ifr_in.ifr_flags |= IFF_PROMISC;                                          
if (ioctl(args->sock_in, SIOCSIFFLAGS, &ifr_in)) {                        
        perror("ioctl");                                                  
        close(args->sock_in);                                             
        free(buffer);                                                     
        return NULL;                                                      
}                                                                                            
ioctl(args->sock_out, SIOCGIFFLAGS, &ifr_in);                                                
printf("ift_in = %x, IFF_PROMISC = %d\n", ifr_in.ifr_flags, !!(IFF_PROMISC & ifr_in.ifr_flags));


или anonymous тут был прав, и нужен hub?

[upd] конечно нужен! тупой вопрос, тему можно закрывать :)

Ответ на: комментарий от Anoxemian

Ну если ты в свиче, то чужих пакетов и не должно быть. Это как бы его прямая функция.

ага, я как раз вспомнил, когда на «Поместить» нажал, чем хабы от свитчей отличаются :)

metawishmaster ★★★★★
() автор топика