Название: Прослушивание TCP/IP портов в windows Отправлено: Bepec от Июнь 18, 2012, 19:31 Приветствую заглянувших.
Собственно хочу задать вопрос: Как можно прослушать порты TCP/IP в Windows. Уточняю - имеется приложения, открывающее рандомный порт и посылающее в него данные. Как можно реализовать прослушку - т.е. получать данные, которые приходят/уходят, при этом чтобы сохранялось работоспособность приложения? Название: Re: Прослушивание TCP/IP портов в windows Отправлено: V1KT0P от Июнь 18, 2012, 19:52 Один из способов что то перехватывать незаметно в винде это хуки.
Название: Re: Прослушивание TCP/IP портов в windows Отправлено: Bepec от Июнь 18, 2012, 20:06 Виктор, со всем моим уважением к вашему опыту - КАК? :D
Хук поставить я могу. Вопрос только какой тип хука, точнее он позволит перехватывать по отдельному порту данные или нет? А если ставить хук глобальный то это просто ппц :D Я не против хуков, но напомню - у нас Qt шный так то форум. PS В любом случае СПАСИБО огромное за ответ. PPS есть у кого уточнения, ещё идеи? PPPS вопрос пока о "незаметности прослушки" не стоит. Просто перехватить? Название: Re: Прослушивание TCP/IP портов в windows Отправлено: V1KT0P от Июнь 18, 2012, 20:11 Виктор, со всем моим уважением к вашему опыту - КАК? :D Посмотри в сторону Wireshark. Он бесплатен, открыт и превосходно мониторит весь трафик.Хук поставить я могу. Вопрос только какой тип хука, точнее он позволит перехватывать по отдельному порту данные или нет? А если ставить хук глобальный то это просто ппц :D Я не против хуков, но напомню - у нас Qt шный так то форум. PS В любом случае СПАСИБО огромное за ответ. PPS есть у кого уточнения, ещё идеи? PPPS вопрос пока о "незаметности прослушки" не стоит. Просто перехватить? Да кстати совсем забыл, есть же библиотека Pcap: http://ru.wikipedia.org/wiki/Pcap (http://ru.wikipedia.org/wiki/Pcap). Специально сделана для тех кому надо мониторить трафик. Название: Re: Прослушивание TCP/IP портов в windows Отправлено: Bepec от Июнь 18, 2012, 20:25 Кхм... Тут собственно и кроется проблема :)
Стукнуло меня по голове отлетевшей лопастью вентилятора из системника, и захотелось сделать это самому, без сторонних библиотек :) К тому же я не просто так спрашиваю - необходимо в дальнейшем результат этой сумасшедшей темы использовать в своей программе. PS Wireshark крут, не спорю. Но лопасть от вентилятора сильнее :D Название: Re: Прослушивание TCP/IP портов в windows Отправлено: mutineer от Июнь 18, 2012, 20:27 PS Wireshark крут, не спорю. Но лопасть от вентилятора сильнее :D Что мешает посмотреть сорцы Wireshark? Думаю лопасть не обидится на такое читерство Название: Re: Прослушивание TCP/IP портов в windows Отправлено: Bepec от Июнь 18, 2012, 20:35 Проблема в моей не очень большой опытности в просмотре и разборе чужого кода, увы :)
Очень сложно воспринимаю чегой то :) PS К тому же WireShark использует Pcap библиотеку :) Название: Re: Прослушивание TCP/IP портов в windows Отправлено: V1KT0P от Июнь 18, 2012, 21:12 Стукнуло меня по голове отлетевшей лопастью вентилятора из системника, и захотелось сделать это самому, без сторонних библиотек :) Сперва ты начнешь делать перехват без сторонних библиотек, затем ты решишь что сетевой карте не нужен сторонний драйвер и решишь его написать сам. А там глядишь и до своей не сторонней ОС и своему процу дойдешь =).Название: Re: Прослушивание TCP/IP портов в windows Отправлено: Bepec от Июнь 19, 2012, 00:15 Просто хочется освоить winapi/возможности C++ на сетевом уровне.
Конечно готовое это хорошо. Очень хорошо. Но основы надо знать и понимать, что ты можешь сделать :) Я вот к примеру (кто не слышал) изучил сначала Qt. А потом начал плюсы :D Вот Qt это готовое :) А плюсы это как раз конструктор блин ) То есть никто незнает, как иначе можно "подслушать порт", не пользуясь сторонними библиотеками? PS меня на 2 форумах забанили, когда я начал спрашивать про "незаметный перехват" :D Типа хацкер блин я :) update: А вот до драйверов дело наверняка дойдёт. Ибо позволяют мноооогое. Тот же перехват видео с экрана - влёт идёт, в отличие от bitBtl. Название: Re: Прослушивание TCP/IP портов в windows Отправлено: V1KT0P от Июнь 19, 2012, 04:20 Просто хочется освоить winapi/возможности C++ на сетевом уровне. WinPcap вроде как использует свой сетевой драйвер. Советую все-таки полазить по сайту, может и найдешь ссылки на нужные статьи.Конечно готовое это хорошо. Очень хорошо. Но основы надо знать и понимать, что ты можешь сделать :) А так советую начать с официальной виндовой документации. Название: Re: Прослушивание TCP/IP портов в windows Отправлено: Serr500 от Июнь 19, 2012, 07:49 Год назад изучал этот вопрос, хотел сделать свой счётчик трафика. Насколько я понял, PCap не самое лучшее решение. Медленное и способное пропустить пакеты. Пришёл к выводу, что лучше всего NDIS-драйвера. Проект бросил из-за сложности написания драйверов ядра. Если мне не изменяет память, существует что-то около семи различных методов перехвата трафика. Если вспомню, напишу.
Название: Re: Прослушивание TCP/IP портов в windows Отправлено: CuteBunny от Июнь 19, 2012, 09:36 http://www.xakep.ru/post/30601/ (http://www.xakep.ru/post/30601/) - средствами windows sockets.
Название: Re: Прослушивание TCP/IP портов в windows Отправлено: Bepec от Июнь 19, 2012, 12:02 Официальную виндовую документацию ненавижу :D
100% впадение в ярость, после десяти минут чтения :D Как же надо было поступить, чтобы написать о классе в одном месте, о его функциях во втором, о параметрах функций в третьем, о необходимых инклудах в четвёртом и как добивающий - о необходимых перечислениях в пятом, шестом и седьмом месте :D Название: Re: Прослушивание TCP/IP портов в windows Отправлено: Serr500 от Июнь 19, 2012, 12:05 Официальную виндовую документацию ненавижу :D А я уже привык... :(100% впадение в ярость, после десяти минут чтения :D Название: Re: Прослушивание TCP/IP портов в windows Отправлено: Bepec от Июнь 19, 2012, 12:34 Человек такое существо. Адаптивность зашкаливает :)
Таки иных предложений не поступает видимо. Промежуточный итог(надеюсь ещё кто нить что нить напишет): 1) писать свой драйвер ядра NDIS 2) использовать сторонние библиотеки (бее) 3) использовать winSock Ещё будут варианты? :) Название: Re: Прослушивание TCP/IP портов в windows Отправлено: alexis031182 от Июнь 19, 2012, 12:35 С горя перейти на Linux
Название: Re: Прослушивание TCP/IP портов в windows Отправлено: fuCtor от Июнь 19, 2012, 17:54 http://habrahabr.ru/post/111672/ Пишем свой промежуточный драйвер. Часть 1
http://habrahabr.ru/post/111592/ Краткий обзор драйверов спецификации NDIS http://habrahabr.ru/post/113233/ NDIS. Введение Название: Re: Прослушивание TCP/IP портов в windows Отправлено: Bepec от Июнь 19, 2012, 18:45 Очень хорошие статьи, много нового, спасибо. Жалко автор не дошёл до процесса написания самого драйвера.
Таки ещё будут решения? :) Название: Re: Прослушивание TCP/IP портов в windows Отправлено: Bepec от Июнь 23, 2012, 19:53 Ап( прошу понять - тема увяла, надо ж и интерес поднять ) :D
Название: Re: Прослушивание TCP/IP портов в windows Отправлено: DmitryM от Июнь 29, 2012, 14:20 Насколько я понял, PCap не самое лучшее решение. Медленное и способное пропустить пакеты. Дайте свеженький пруф.Название: Re: Прослушивание TCP/IP портов в windows Отправлено: ZicoRio от Июль 07, 2012, 09:15 Присоединяюсь к теме.
Тоже хочу написать снифер, но только, чтобы localhost нюхал. Просьба ткнуть носом в какой-нибудь пример на Qt или статью. Вобщем пригодится любая информация по теме. |