Перейти до

А если флуд?


Рекомендованные сообщения

Надысь глядел в исходники старгейзера у увидел в cap.cpp(для линукса) такое:

capSock = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL));

и вот соб-но в чем вопрос - а почему бы не сделать ETH_P_IP вместо ETH_P_ALL, ведь потом все равно отсекается все кроме IP трафика(в функции ParsePacket). Так стг не будет отвлекаться на левый трафик.

 

Если вдуматься, то главная проблема здесь такая, что сокеты не обеспечивают гарантии доставки пакетов приложению - и если оно не будет успевать их обрабатывать то некоторые пакеты потеряются, но форвард для этих пакетов все равно будет - то есть если кто-то вздумает флудить машину левыми пакетами то стг может не успевать считать реальный трафик. А так стг можно будет зафлудить только ИП пакетами - который сам стг сможет отследить. + сделать чтоб ИП трафик который стг не считает, резало пакетным фильтром по пакетам в секунду, а флудить трафиком за который надо платить никто не станет :)

Ссылка на сообщение
Поделиться на других сайтах

очень даже интересное предложение

но тогда куда пихать пинг и АРП и много всего другого

самое главное в ентом деле - это подсчет (правильный и своевременный)

а там пускай он хоть че ентот пользователь делает - хоть мегатоннами пинга заливает сервак

 

самое главное своевременно это заметить и наказать такого неродивого пользователя (методы бывают разные)!

Ссылка на сообщение
Поделиться на других сайтах

Пинг(icmp) это тоже IP протокол(icmp+udp+tcp+gre+(ещё парочка)=IP)

 

самое главное своевременно это заметить и наказать такого неродивого пользователя (методы бывают разные)!

 

В том и дело если оставить ETH_P_ALL заметить не получиться - флудить можно будет хоть чем - лишь бы ethernet заголовок был корректен и стг всё поймает.

Ссылка на сообщение
Поделиться на других сайтах
  • 4 weeks later...

Есть идея попроще зачем что-то заменять. Просто имеет смысл сделать развязку обработчика и снифира пакетов, например с помощью бональной потокозащтщенной очереди. А тогда самих процессов обработки можно запустить сколько надо в зависимости от потребности. Правда есть и другая беда что при флуде будет переполнятся очередь, но опятьже при ее наличии и накоплении в ней опред кол-ва записей можно будет произвести экстренную остановку работы, сообщить админу и отключить всех юзверей. А состояние очереди отсортированно записать в лог для дальнейшего анализа, чтоб найти того умника, который флудит систему.

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...