![]() |
Прослушивание 80 порта
Как можно настроить сокет на прослушку 80 порта? когда я его настрайваю мне пишет что одним портом может пользоваться только одна прога. Но проблема в том что когда я соеденяюсь с гугл, он присылает ответ на 80 порт, хотя мой сокет работает на 181.
|
Тебе нужно воспользоватся снифером. (например ethereal)
http://www.ethereal.com/ А открывать сокет на один и тот же порт нельзя (имхо) Иначе как программа определит что это её пакет? :] |
Цитата:
Цитата:
|
Цитата:
|
КАК МОЖНО ОТПРАВЛЯТЬ ОТВЕТ ЧЕРЕЗ СОКЕТ???
Можно отправлять IP пакет с TCP фреймом, в котором есть SrcIP DstIP SrcPORT DstPORT В винде хендл - это индекс в таблицах которые храняться в ядре. Хендлы можно копировать из одного процесса в другой, с помощью DuplicateHandle. Сокеты - это ХЕНДЛЫ. Их используют чтобы приложению было легче. Гугл шлет ответ на твой айпи и порт который может быть ЛЮБЫМ. Так что либо ты пишешь драйвер который атачит девайс на \Device\Tcp, либо создаешь RAW сокет, ставишь сетевуху в неразбор. режим и слушаешь все пакеты которые идут. Доступа к Ethernet заголовкам тогда нету. |
Цитата:
Цитата:
|
Цитата:
New Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.Unspecified) мне выдает вот что: "Предпринятая операция не поддерживается для выбранного типа объекта" Как бы я не менял настройки, практически всегда мне выдает такую фигню |
Цитата:
|
ascas
почитай про перехват апи. Очень хорошие статьи с исходниками на delphi и C++ есть на Wasm.ru - автор Ms-rem. В случае с сокетами перехват лучше реализуется в ring0. |
Цитата:
Используя какой язык ты будешь из вызывать - не имеет никакого значения, хоть на вашем дурацком делфи. (Ты спросил - я ответил) Цитата:
Для самых ленивых Код:
#include <conio.h> |
| Время: 02:39 |