|
|
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
|