![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как программно разорвать удаленный диал-ап? [D5, Win2k]
NikeOLD © (2003-11-29 14:02:00)
Есть задача: клиенты дозваниваются по диал-апу на сервер, происходит короткий обмен информацией, после чего клиент должен отсоединиться. Некоторые злоупотребляют и мешают другим. Имеется собственная программа по мониторингу клиентов без возможности принудительного их отключения. Как с сервера послать сообщение удаленной машине "повесить трубку" при условии, что клиент звонит не непосредственно на сервер, а на CISCO? TimeOut на CISCO стоять не должен.
Есть вариант, написать службу, которая будет слушать какой-либо порт и повесить ее на клиента. Когда придет сообщение с сервера, служба разорвет диал-ап. Однако есть неувязочка - на CISCO открыт лишь один порт по которому идет обмен.
Может быть можно как-то обойтись без написания службы?
NikeOLD (2003-12-02 12:57:00) [1]
Надеялся найти наиболее простой путь. А ты бы не стал этого делать в моей ситуации?
Все-равно благодарю за терпение!
Reindeer Moss Eater (2003-12-02 12:50:00) [2]
А уж вопросы эффективности и/или работоспособностиоставим на потом :-) .
Браво. Дык тебе любое решение подходит.
Зачем надо было столько времени мучительно искать решение?
NikeOLD (2003-12-02 12:48:00) [3]
> Поставь RAS сервер на компютере со своим сервером, и тогда
> проблем с отсоединением заснвуших клиентов действительно
> не будет. Потому что все будет в твоих руках.
Давно пора, но еть определеные проблемы в виде тормознутости и бюрократизированности некоторых наших организаций. Почти 1,5 года твержу про RAS-сервер. В итоге видишь чем заниматься приходится.
NikeOLD (2003-12-02 12:45:00) [4]
> panov © (02.12.03 12:36) [25]
Огромное спасибо.
Человек хотя бы что-то дельное предложил. Хотя бы ради опыта стоит написать клиентскую часть. А уж вопросы эффективности и/или работоспособности оставим на потом :-) .
Еще раз спасибо!!!
Reindeer Moss Eater (2003-12-02 12:43:00) [5]
Поставь RAS сервер на компютере со своим сервером, и тогда проблем с отсоединением заснвуших клиентов действительно не будет. Потому что все будет в твоих руках.
panov (2003-12-02 12:36:00) [6]
>NikeOLD (02.12.03 12:19) [24]
Исходя из исходных данных и уточнений решение может быть только таким:
1. Если клиентская и серверная часть твои, то проблем с отсоединением нет - сервер посылает соответствующее сообщение клиенту в основном потоке данных, клиент обрабатывает сообщение и отключается.
2. Клиентская и/или серверная часть не твои.
В этом случае решения нет.(Из-за условия - "открыт только один порт").
3. Если есть (или получить доступ к циске) - см. panov © (01.12.03 17:55) [14]
4. Договориться о настройке соответствующим Cisco с владельцем оной (Отключение клиентов по тайм-ауту). Cisco позволяет такое делать.
NikeOLD (2003-12-02 12:19:00) [7]
> А ты же хочешь что бы я линию не держал более положенного
> времени.
Именно! Так посоветуй что-нибудь конкретное!
Reindeer Moss Eater (2003-12-02 12:06:00) [8]
Ты меня интересовать не будешь.
Вот именно. Наклнец-то начинаешь понимать.
То, что я позвонил, и уже полдня занимаю линиюу циски ты даже не узнаешь. Потому что я к твоему драгоценному серверу даже не пытаюсь коннектиться.
А ты же хочешь что бы я линию не держал более положенного времени.
Удачи тебе в этом трудном деле.
panov (2003-12-02 12:03:00) [9]
Значит остается тебе писать сервис и устанавливать у каждого клиента.
NikeOLD (2003-12-02 11:56:00) [10]
> И что помешает мне позвонить на циску с win9x?
Да звони сколько влезет, если сможешь, конечно. Ты меня интересовать не будешь. Сказано же - не пройдешь. пройти можешь только как один из клиентов (под его логином, паролем и IP). Я же говорил - IP статичный! И радиус-сервер отуствует начисто. Есть IP - есть клиент. Если ты всего-лишь "дух", то ты не пострадаешь от дисконнекта (некому будет отрывать тебя от сети), но настоящий клиент все-равно пострадает тем или иным способом.
Reindeer Moss Eater (2003-12-02 11:22:00) [11]
> Тебе надо реализовать ограничение длительности сеанса твоего
> клиента с твоим сервером. Всего лишь. Остальное - не твоего
> ума дело.
Именно это я пытаюсь сделать. Только не средствами Циски, а собственными силами.
Нет. Ты пытаешся сделать не это.
Данная система работает только под WIN2000.
И что помешает мне позвонить на циску с win9x? (мне твоя система вообще сто лет не нужна. Я хочу занять линию)
Открытки я посылать не стану, все от них толку нет, да и велосипед это получиться - можно ведь без доп. сервиса net send послать. Вместо этого принудительный дисконнект. Клиент будет думать, что связь просто оборвалась (то же самое происходит, если кидает сама Циска). Только вот политинформация доходит туго. Многих уже не на одну зарплату начальство наказало, да толку пока маловато.
Когда же наконец до тебя дойдет, что дисконнект от твоего сервера - это не одно и тоже что и дисконнект от RAS сервера?
Ну сколько можно об одном и том же??????
NikeOLD (2003-12-02 11:16:00) [12]
> Тебе надо реализовать ограничение длительности сеанса твоего
> клиента с твоим сервером. Всего лишь. Остальное - не твоего
> ума дело.
Именно это я пытаюсь сделать. Только не средствами Циски, а собственными силами.
> Ну вот позвонил я из Win9x на эту циску. Никакой программы
> клиента у меня и в помине нет, или я ее не запускаю, или
> запускаю, но сразу выгружаю из памяти.
> Одним словом нет её. WinPopUp тоже выключен.
> Что ты мне пошлешь?
Данная система работает только под WIN2000.
> Ладно, допустим прислал ты мне открытку с требованием положить
> трубку.
> Клиент сам что ли не знает, что линию занимать нехорошо?
> Если не знает, то проведи политинформацию среди пользователей.
> А если знает, что отключатся надо, но все же не отключается,
> то что изменит сообщение полученное от тебя?
Открытки я посылать не стану, все от них толку нет, да и велосипед это получиться - можно ведь без доп. сервиса net send послать. Вместо этого принудительный дисконнект. Клиент будет думать, что связь просто оборвалась (то же самое происходит, если кидает сама Циска). Только вот политинформация доходит туго. Многих уже не на одну зарплату начальство наказало, да толку пока маловато.
> Не в свое дело однако лезешь, такие действия одназначно
> могут квалифицироваться как хакерские.
В моем случае - никто вякнуть не посмеет.
Reindeer Moss Eater (2003-12-02 09:23:00) [13]
Даже если он просто законнектился я его вижу своей прогой, сообщения могу слать и т.д. Требуется лишь сказать его машине: "повесь, блин, трубку и не мешай другим"
Ну вот позвонил я из Win9x на эту циску. Никакой программы клиента у меня и в помине нет, или я ее не запускаю, или запускаю, но сразу выгружаю из памяти.
Одним словом нет её. WinPopUp тоже выключен.
Что ты мне пошлешь?
Ладно, допустим прислал ты мне открытку с требованием положить трубку.
Клиент сам что ли не знает, что линию занимать нехорошо?
Если не знает, то проведи политинформацию среди пользователей.
А если знает, что отключатся надо, но все же не отключается, то что изменит сообщение полученное от тебя?
Anatoly Podgoretsky (2003-12-02 09:21:00) [14]
Не в свое дело однако лезешь, такие действия одназначно могут квалифицироваться как хакерские.
Reindeer Moss Eater (2003-12-02 09:14:00) [15]
...она вообще в ведении третьей организации, которая не позволит мне управлять ее сервисами...
Замечательно.
А теперь подумай, с какой стати ты занимаешся защитой ресурсов чужого устройства, к которому тебя даже не подпускают?
Защищаемый ресурс в этом случае - входная телефонная линия у RAS сервера.
Тебе надо реализовать ограничение длительности сеанса твоего клиента с твоим сервером. Всего лишь. Остальное - не твоего ума дело.
NikeOLD (2003-12-01 22:31:00) [16]
> Узнал твой сервер, что IP такой-то все получил и все равно
> не отсоединяется. И что?
> Начинает твой сервер слать душераздирающие крики о необходимости
> положить трубу, а программа клиент давным давно там выгружена
> из памяти (труба не положена, а программу выключили).
Ну и дал задание службе или программе, мониторящей определенный порт повесить трубку модема.
> Еще раз: пофик вообще вся твоя информация. Он позвонил,
> и сидит. Никуда вообще не коннектится. Информация твоя в
> порядке, а линия занята.
Даже если он просто законнектился я его вижу своей прогой, сообщения могу слать и т.д. Требуется лишь сказать его машине: "повесь, блин, трубку и не мешай другим"
> Поключайся в режиме терминала администратором к Cisco, мониторь
> логи и/или интерфесы и отключай/поднимай соответствующие
> интерфейсы. И не надо изобретать велосипед и усложнять себе
> задачу.
Циска находится в нескольких улицах от меня, в здание имеют доступ лишь несколько человек (она вообще в ведении третьей организации, которая не позволит мне управлять ее сервисами), а подключиться в режиме терминала без Линукса возможно? Если даже и да, то у меня все равно опыта в Циске 0%. Стоял одно время принудительный дисконнект через 15 минут, несовсем то, что нужно. Иногда разрыв связи приходился на обмен информацией, в итоге программа-сервер считала, что она все передала, а клиент ничего не получил - 2 часа работы в пустоту. Кстати, сервер и клиент написан не мной, я бы так криво в жизни ни написал, ну да меня никто спрашивать не станет, приходится администрировать то, что есть.
panov (2003-12-01 17:55:00) [17]
Так как используешь Cisco, то воспользуйся ее возможностями.
Поключайся в режиме терминала администратором к Cisco, мониторь логи и/или интерфесы и отключай/поднимай соответствующие интерфейсы. И не надо изобретать велосипед и усложнять себе задачу.
Reindeer Moss Eater (2003-12-01 17:31:00) [18]
Да он может висеть полдня, но он будет занимать линию, значит банальный пинг по всем известным даст мне "клиента-висуна". Он не может присоединиться никуда кроме моей системы, это ему нафиг не надо. Повременку платить и т.п., он присоединился чтобы забрать информацию или получить ее, но вот получив он может висеть, висеть и висеть.
Ну и что это меняет? Что это дает тебе?
Узнал твой сервер, что IP такой-то все получил и все равно не отсоединяется. И что?
Начинает твой сервер слать душераздирающие крики о необходимости положить трубу, а программа клиент давным давно там выгружена из памяти (труба не положена, а программу выключили).
Подпоркой это называется.
целая куча наворотов, которая не позволит чужаку забрать неполагающуюся только ему информацию.
Еще раз: пофик вообще вся твоя информация. Он позвонил, и сидит. Никуда вообще не коннектится. Информация твоя в порядке, а линия занята.
NikeOLD (2003-12-01 16:12:00) [19]
Нет здесь суть в том, что все клиенты ходят по статичным IP адресам. Клиент звонит на Циску, его по выделенке кидают на наш сервер приложений. Да он может висеть полдня, но он будет занимать линию, значит банальный пинг по всем известным даст мне "клиента-висуна". Он не может присоединиться никуда кроме моей системы, это ему нафиг не надо. Повременку платить и т.п., он присоединился чтобы забрать информацию или получить ее, но вот получив он может висеть, висеть и висеть.
Вот такая у нас дурацкая система. Кроме того клиент авторизовывается на Циске, никто кроме него не может пройти под его логином и IP, а в самой системе еще целая куча наворотов, которая не позволит чужаку забрать неполагающуюся только ему информацию.
Reindeer Moss Eater (2003-12-01 16:05:00) [20]
Если провести дозвон через шлюз - сервер просто пошлет подальше, вернее даже не сервер, а сама Циска.
Щазззз.
Расскажи мне как она узнает, что на звонящей стороне нет вообще нет твоего клиента?
Другой более простой случай.
Клиент дозвонился диалапом, не не спешит делать коннект к сервису твоей системы. Твой сервис даже не узнает, что один канал вот уже полдня как занят.