RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Ответить на сообщение
Имя:
e-mail:
FIDO:
Home page:
сохранить данные о вас
Тема:
> Привет всем. > Столкнулся с проблемой: > > мне нужно в программе ограничить входящие пакеты только прописанными в ifconfig (setup.cmd) локальными сетками. При этом компьютер имеет выход в Инет и могут быть попытки внешних соединений. > > Для этого я должен иметь список висящих на порту адресов вместе с alias и их маски. > > Получить их можно только примерно таким кодом > for (i = 0; i < nInterfaces; i++) { struct ifreq *item = &ifr[i]; struct > sockaddr_in *sin; > > if (item->ifr_addr.sa_family != AF_INET) continue; > > sin = (struct sockaddr_in *)&item->ifr_addr; printf("%s: IP %s", > item->ifr_name, inet_ntoa(sin->sin_addr)); > > { struct ifreq ifr_mask; > memset(&ifr_mask, 0, sizeof(ifr_mask)); > strncpy(ifr_mask.ifr_name, item->ifr_name, IFNAMSIZ); > ifr_mask.ifr_name[IFNAMSIZ - 1] = '