Модераторы: feodorv
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Windows] AcceptEx() - Ддос; GetLastError - 1450; Insufficient system resources exist to c 
:(
    Опции темы
MuForum
Дата 3.4.2011, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 427
Регистрация: 13.6.2007
Где: Молдова, Кишинев

Репутация: нет
Всего: 4



Доброго времени суток.
Написал простенькую программу для подключения игроков к серверу.
Задействовал на подключение асинхронную функцию AcceptEx().
Всё работает отлично и очень быстро.
Первый пакет не принимаю. (0 ставлю в длину приёма пакета)
Код

    lpCC->m_sListen            = WSASocket(AF_INET, SOCK_STREAM, IPPROTO_IP, NULL, 0, WSA_FLAG_OVERLAPPED);
    // ----
    if ( lpCC->m_sListen == INVALID_SOCKET )
    {
        g_Log.Add(TColor::Red, "[%s->%s]  %s", "TIOCP", "PrepareAccept", "Error creating accept socket.");
    }
    // ----
    //g_Log.Add(TColor::Red, "[%s->%s] lpCC->m_sListen: %d;", "TIOCP", "PrepareAccept", lpCC->m_sListen);
    // ----
    // # First Associate then AcceptEx();
    // ----
    AssociateSocketWithCompletionPort(lpCC->m_sListen, m_hIOCP, dwListIndex);
    // ----
    iRes    = m_lpfnAcceptEx(m_sListen,
                    lpCC->m_sListen,
                    lpCC->m_pInBuf,
                    0,
                    sizeof(sockaddr_in) + 16,
                    sizeof(sockaddr_in) + 16,
                    & dwBytes,
                    (LPOVERLAPPED) & (lpCC->m_WSARecvOverlapped));


Но вот один человек начал ддосить мою программу.
- Удивило то, что во время ддоса программа начинает загружать систему на 90%, после чего функция GetQueuedCompletionStatus() возвращает false, GetLastError() ошибку 1450;
Цитата

GetLastError() - System Error Codes (1300-1699);
....
ERROR_NO_SYSTEM_RESOURCES
1450 (0x5AA)
Insufficient system resources exist to complete the requested service.

Поискав в интернете куча тем, но везде решение одно и тоже, увеличить значение переменной реестра IRPStackSize;
- Но хотелось бы не делать временных решений....

# Добавлено: На одном из порталов интернета нашел следующее лечение. (Перейти)
Цитата

...
Теория здесь:
http://support.microsoft.com/kb/312362;
http://support.microsoft.com//kb/285089;
...
1. Само собой, запускаем regedit.exe.
2. Идём в HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Memory Management
3. Создаём запись с именем: PoolUsageMaximum, тип: REG_DWORD, забиваем значение: 60 в десятичной системе исчисления.
4. Создаём запись с именем: PagedPoolSize, тип: REG_DWORD, забиваем значение: 0xFFFFFFFF само собой в шестнадцатиричной системе исчисления.
5. Идём в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
6. Создаём запись с именем: IRPStackSize, тип: REG_DWORD, забиваем значение: 50 в десятичной системе исчисления.



P.S. -> Хотелось бы понять принцип ддоса, то есть каким образом ддосят и постараться защититься от этого.

Это сообщение отредактировал(а) MuForum - 3.4.2011, 14:19


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли)
PM MAIL WWW ICQ Skype MSN   Вверх
Олег2005
Дата 3.4.2011, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Завсегдатай
Сообщений: 421
Регистрация: 26.5.2005
Где: Рига Латвия

Репутация: 6
Всего: 11



Посмотрите в гугле
или здесь:
http://www.compdoc.ru/secur/xacer/what_is_ddos_attack/
И у вас скорее всего не ddos - a dos
PM MAIL WWW MSN   Вверх
MuForum
Дата 3.4.2011, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 427
Регистрация: 13.6.2007
Где: Молдова, Кишинев

Репутация: нет
Всего: 4



На сколько я понял, это Syn flood, так как симптомы подходят полностью.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли)
PM MAIL WWW ICQ Skype MSN   Вверх
Олег2005
Дата 6.4.2011, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Завсегдатай
Сообщений: 421
Регистрация: 26.5.2005
Где: Рига Латвия

Репутация: 6
Всего: 11



Да, это оно и есть.....
PM MAIL WWW MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0663 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.