|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Yuri Golovach 2:463/197.36 05 Jan 2002 23:15:03 To : All Subject : Работа с сетевухой -------------------------------------------------------------------------------- Вопрос назрел - недавно ваял сниффер (на C ессно) в качестве курсача, сдал, все ok. Это вступление, теперь вопрос: перевести сетевуху в promisc mode делаю struct ifreq ifr; //--создаю структуру имени ifr (ifreq - стандартно подключаемая структура для работы с сетевухой) int fd; //--создаю дескриптор для спецфайла fd=socket(AF_INET, SOCK_PACKET, htons(0x800)); //--открываю интерфейс сокетов извращенным способом ifr.ifr_flags |= IFF_PROMISC; //--устанавливаю флаг promisc mode s=ioctl(fd, SIOCSIFFLAGS, &ifr); //--вызываю ioctl для изменения флагов сетевухи //--все Работает :)) ЧТО ДЕЛАТЬ, ЧТОБ ЕЕ (СЕТЕВУХУ) ПЕРЕВЕСТИ ОБРАТHО В HОРМАЛЬHЫЙ РЕЖИМ??? Вроде надо: ifr.ifr_flags |= _???????????_; s=ioctl(fd, SIOCSIFFLAGS, &ifr); ЧТО СТАВИТЬ HА МЕСТО _?????????_ - ну не нашел сколько не искал. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ P.S: посоветуйте книгу/ресурс, где расказывалось как работать (читай программировать) с сетевухой/сетью не через интерфейс сокетов а более низкий. (берклевский pcap не предлагать - извращение, имхо :) (под linux/win используя C). Манов нехватает катастрофически - по ним разве чужой исходник разобрать можно, а что свое лабать - диико геморройно. P.P.S: как получить/поменять MAC адресс приходящего/уходящего пакета??? P.P.S: если вопрос не по теме - посоветуйте куда стучаться, плз. C уважением, Yuri Golovach(Jr). --- УТВЕРЖДАЮ. MSG-редактор капитан 2.5 ранга Голд Дедович фор ДОС UNREG * Origin: А вы... очень темпераментный человек! (2:463/197.36) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/224183c377b09.html, оценка из 5, голосов 10
|