![]() |
Модераторы: Snowy, Poseidon, MetalFan |
![]() ![]() ![]() |
|
XStrike |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 31.3.2006 Репутация: нет Всего: нет |
здравствуйте, вот не так давно появилась задача, надо сделать прогу, задать ейконкретный порт(по которому общается клиент с сервером), и заставить ее анализировать пакеты идущие ... ну и сделать пару правил по которым пакеты будут остановлены, и не дойдут до сервера...
пакеты в принципе я узнаю легко, сниффером ... порт так-же знаю ... вопрос 1: как думаете? лучше такую программу цеплять на каждого клиента, или на сервер? как надежней? вопрос 2: на каком языке лучше писать? (пишу в разделе Дельфи так как с ним лучше знаком) вопрос 3: может у кого есть примеры подобных прог? за ранее спасибо .. |
|||
|
||||
Romikgy |
|
||||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 3 Всего: 146 |
имхо на сервер, хотя для этих целей что-т типа файрвола делается
все равно у меня нет ![]() за ранее пожалуста , только правила на форум почитай надосуге ![]() -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
||||
|
|||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Для этих целей отлично подходит TIdTCPMappedPort С закладки Indy Servers
|
|||
|
||||
XStrike |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 31.3.2006 Репутация: нет Всего: нет |
увы .. не нашел ... понимаю .... звучит туповато ... Snowy ... Link please
![]() |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Да какой тут линк.
Запускай дельфи. Найди закладку Indy Servers. Найди на най компонент IdMappedPortTCP. Брось его на форму. Нажми F1. Читай хелп. Посты по нему: http://forum.vingrad.ru/index.php?showtopic=83150 http://forum.vingrad.ru/index.php?showtopi...st&p=618877 |
|||
|
||||
XStrike |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 31.3.2006 Репутация: нет Всего: нет |
thanks огромное ... выручил чайника ...
![]() кстати ... вопрос ... в связи с правилами ... канал у меня не очень... форум довольно тяжко грузится ... Snowy ... разрешаешь аськой воспользоваться ??? Это сообщение отредактировал(а) XStrike - 31.3.2006, 14:25 |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Вот код мапера.
Данный код просто протоколирует данные - скидывает все в файл. Но вместо этого может и другие действия выполнять.
Добавлено @ 13:03 Приаттачиваю полный проект Присоединённый файл ( Кол-во скачиваний: 164 ) ![]() |
|||
|
||||
XStrike |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 31.3.2006 Репутация: нет Всего: нет |
еще вопрос ... будет ли маппер определять айпи адреса ... так как коннектов к серверу будет много (до двух сотен пользователей одновременно) ... принцип таков, заставлю его анализировать пакеты ... отслеживать надо будет только 2-4 из всех ... т.е. если проходит такой пакет, тогда в течении скажем 8-и секунд не пропускать на сервер такой-же пакет(заменять его другим, к примеру пакетом отключения от сервера, или просто "глушить" пакет ....) но ... пакет ведь идет прямо от клиента ... и если не сделать анализа по айпи ... программа будет обламывать всех юзеров ... а нужно только отправителя/получателя....
З.Ы. если кому интересно ... это античит для онлайн игрушки ... Это сообщение отредактировал(а) XStrike - 31.3.2006, 15:05 |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
||||
|
||||
XStrike |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 31.3.2006 Репутация: нет Всего: нет |
проект не полный ... не хватает .res файла ... пытался его скомпилировать ... не вышло ... говорит типа файл reconstructed ... но не появляется ...
|
|||
|
||||
XStrike |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 31.3.2006 Репутация: нет Всего: нет |
![]() ![]() ![]() ![]() а вот и ошибки ... скрины ... |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
А он и не нужен.
Нажми "сохранить" - появится. Под Delphi7 компилится без проблем. Написан под Indy9. Для Indy10 код скорее всего будет другим. |
|||
|
||||
XStrike |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 31.3.2006 Репутация: нет Всего: нет |
сохранял ... не появляется ... переписывал полностью - ничего .... видать дело в дельфи ... я в 6-м это делал ...
кстати ... может есть линк на апдейт ? |
|||
|
||||
XStrike |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 31.3.2006 Репутация: нет Всего: нет |
Snowy, я достал 7-й дельфи и всё стало на место ... получил исполняемый файлик ...но беда в другом ... по идее должен идти лог пакетов идущих через указанный порт(ePort) ... но как бы не хотелось - файл постоянно пустой ....
как я понимаю, если вешать мапера на порт сервера(55901, так как именно сюда обращается клиент) то сам сервер нужно переводить на другой порт(ведь на 1 порт 2 процесса не повесить, так?) ... делал и это(вешал сервер на 55902, так как именно он используется SubServer'ом, если такой используется) ... но результ был вообще ужасный ... клиент не соединялся с сервером ... Думаю дело в том что надо использовать в программке еще один порт, и на него пересылать данные одновременно с их записью в файл (хотя в будующем протоколирование заменю фильтрацией некоторых пакетов) ... но как бы я не старался ... перенаправить их на другой порт так и не получилось ... ![]() пока удалось добавить ePort2, cnPort2 и оформить его в ini файл ... Это сообщение отредактировал(а) XStrike - 2.4.2006, 01:36 |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
DefaultPort установи 55901
MappedPort - 55902 MappedHost - localhost Клиенты должны цепляться на 55901 (DefaultPort) Маппер будет все перенаправлять на 55902 (MappedPort) localhost'a. Вероятно ты DefaultPort оставил 8080. Вот и не работает... Я просто не выносил его в настройку, а сделал фиксированным. Смени на нужный. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Сети" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |