|
Модераторы: feodorv |
|
Aoizora |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 18.11.2016 Репутация: нет Всего: нет |
Мне нужно написать простой анализатор пакетов, который снифает трафик, слегка анализирует пакеты и решает, отбрасывать пакет или нет. Написал такую программу:
Но при выполнении sniff в цикле функция recv ничего не читает из сокета, и в буфере остается мусор. Что я делаю не так? |
|||
|
||||
Aoizora |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 18.11.2016 Репутация: нет Всего: нет |
Добавил несколько проверок. При бинде сокета возвращается ошибка 10014: Bad address. The system detected an invalid pointer address in attempting to use a pointer argument of a call. This error occurs if an application passes an invalid pointer value, or if the length of the buffer is too small. For instance, if the length of an argument, which is a sockaddr structure, is smaller than the sizeof(sockaddr).
Я так понимаю, проблема в размере структур, которые я использую в вызове bind?
|
|||
|
||||
Aoizora |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 18.11.2016 Репутация: нет Всего: нет |
Одну проблему решил: не хватало закрывающей скобки. Каким образом из полученных данных можно извлечь данные и распечатать, а не выводить заголовок?
Для переделывания под IPv6, так понимаю, достаточно заменить структуру IP-пакета?
|
|||
|
||||
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |