Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
2 / 2 / 1
Регистрация: 13.12.2015
Сообщений: 72

Сниффер на основе WinPcap

13.12.2015, 22:17. Показов 4268. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем здравствуйте.
Пишу самый простейший сниффер (анализатор пакетов) на C++. Простейший он потому, что вся (по крайней мере, начальная) информация берётся с официального сайта библиотеки Winpcap.
На вот этом этапе пошла ошибка типа LNK1120 (1 неразрешенных внешних элементов).
Что с ней делать - понятия не имею (ошибка в функции преобразования сетевой последовательности байтов в "хостовую" - ntohs(), что находится packet_handler() - функция в самом низу).
Думал, что нужно где-то находить необходимые библиотеки для этого самого ntohs. Библиотека вроде как есть, но скачать её нигде не дают. Кроме того, и не в этом дело, т.к. пробуя передать какой-то параметр не того типа, что принимает функция ntohs() компилятор выдаёт, какой именно тип должен присутствовать. Т.е. где-то эта функция прописана. Если функцию убрать и приравнивать
C++
1
2
sport = uh->sport;
dport = uh->dport;
, то результат-то есть, но я сомневаюсь, что он правильный.
Помогите, пожалуйста. Разумеется, что-то такое серьёзное на C++ пишу впервые. Тем более, задача специфичная, в сеть лезть надо.
Тестируем так (вдвоём с братом пишем): создали две виртуальные машины, на одной есть сам программный код. Объединили в сеть, дали ip. Запускаем сниффер, и "пингуем" со второй виртуальной машины. Система - Windows XP.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.12.2015, 22:17
Ответы с готовыми решениями:

Разработать сниффер с драйвером winpcap
Всем привет! Кароч надо разработать сниффер с драйвером winpcap. Пакеты должны записываться последовательно в файл. Прога должна сохранять...

WinPcap и Трафик!
В WinPcap-е можно задать IP адрес, который не будет учитыватся в трафике (.SetIgnoreIP). А как задать давольно большой диапазон (Скажем...

Работа с WinPcap
Собрал немного трафика с роутера через wireshark。 Сохранил в файл формата .pcapng。 Далее попытался открыть его в своей программе двумя...

11
Brainsbreaker
 Аватар для Digit@ll
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
14.12.2015, 02:43
Bro_2, ты не то искал или же читал между строк. Тебе осталось подключить ws2_32 либу.
1
2 / 2 / 1
Регистрация: 13.12.2015
Сообщений: 72
14.12.2015, 18:58  [ТС]
Digit@ll, через Свойства->Компоновщик->Общие->Дополнительные каталоги библиотек?
0
Brainsbreaker
 Аватар для Digit@ll
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
14.12.2015, 21:44
Нет, не так. А она у тебя уже есть? Поинтересуйся у Гугла что это за библиотека.
0
2 / 2 / 1
Регистрация: 13.12.2015
Сообщений: 72
14.12.2015, 22:03  [ТС]
Решил поискать на самой "виртуалке". Конкретно файл WS2_32.Lib имеется.
0
Brainsbreaker
 Аватар для Digit@ll
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
14.12.2015, 22:07
Да, ну ладно. Попробуй подключить через прагму.
0
2 / 2 / 1
Регистрация: 13.12.2015
Сообщений: 72
14.12.2015, 22:11  [ТС]
Я в Visual C++ в первый раз делаю что-то серьёзное. Подскажите, пожалуйста, поподробней, что нужно делать? Т.к. сам Winpcap подключал именно тем методом, что написал в сообщении выше (по инструкции вот здесь), поэтому выполнял по аналогии.
0
Brainsbreaker
 Аватар для Digit@ll
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
14.12.2015, 22:27
Лучший ответ Сообщение было отмечено Bro_2 как решение

Решение

Понятно. Bro_2, WS2_32.Lib это системная библиотека, у меня она появилась после установки пакета SDK. Ну пробуй: #pragma comment (lib, "ws2_32"), либа закинутая в папку с проектом. Если не выйдет пропиши к ней полный путь.
1
2 / 2 / 1
Регистрация: 13.12.2015
Сообщений: 72
15.12.2015, 21:10  [ТС]
Большое спасибо за помощь и потраченное время. Заработало.
0
Brainsbreaker
 Аватар для Digit@ll
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
15.12.2015, 23:03
Bro_2, как либу подключал, с установкой пакета или stand-alone? Хочу кое-что для себя прояснить.
0
2 / 2 / 1
Регистрация: 13.12.2015
Сообщений: 72
15.12.2015, 23:19  [ТС]
Digit@ll, Не силён в жаргоне.
Скопировал найденную библиотеку в папку Lib, что уже была в проекте (потому что так подключал сам WinPcap). До этого - скачал с официального сайта вот этот exe-файл - WinPcap_4_1_3.exe. Установил. После чего из папки WpdPack_4_1_2 скопировал папки Lib и Include в папку с проектом. Остальное - точно по этой инструкции..
Вроде ничего не упустил.
1
Brainsbreaker
 Аватар для Digit@ll
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
15.12.2015, 23:29
Это мне и надо было узнать. У меня давно уже установлен этот SDK, так вот, через прагму отдельным файлом эта либа у меня не подключалась. Думал, что ты так подключал, должно было в принципе работать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.12.2015, 23:29
Помогаю со студенческими работами здесь

Подключение библиотеки WinPCap
Здравствуйте! Столкнулся с проблемой. Не знаю как правильно подключить библиотеку. может кто-нибудь по пунктам для чайника...

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

Winpcap и TCP, фильтр
На оф.сайте есть пример фильтра для ip и udp : http://www.winpcap.org/docs/docs_41/html/group__wpcap__tut6.html Но я не могу найти...

Работа с указателями и WinPcap
Доброго времени суток! Проблема вот в чём: есть переменная pcap_t*, которая указывает на первый байт куска памяти, куда был помещен файл...

WinPcap - модификация пакета
Мне нужно перехватить определенный пакет, изменить его , и отослать уже браузеру. Подскажите, справится ли с этим WinPcap , или она только...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru