21.02.2006
Каждый пользователь стремится как можно более автоматизировать свое подключение к сети Интернет, а также хочет, чтобы это подключение было безопасным.
Стандартным решение для этой цели являются программы-звонилки. Они имеются самые разнообразные, предлагая пользователю массу услуг – от запоминания и шифрования паролей до подсчета затраченных денег.
Однако чем навороченней звонилка, тем сложнее разобраться в настройках. Наиболее яркий пример тому – превосходная некогда (и бесплатная) звонилка MuxaSoft Dialer, которая, будучи весьма дружественной к пользователю в версиях для Windows 98, стала весьма неудобоваримой в своей последней версии 4.1, предназначенной для XP. Много жалоб на форумах на то, что весьма трудно привести эту звонилку в работоспособное состояние. Даже уже настроенная и работающая, она некоторые свои функции выполнять отказывается. Впрочем, цель моей статьи не в описании опыта работы с этой звонилкой (я думаю, авторы получают отзывы от пользователей и постараются исправить все обнаруженные недостатки). Пытаясь максимально удобно организовать свое подключение к сети Интернет, перебрав не один десяток звонилок и программ ведения статистики, я отказалась от звонилок и организовала свое подключение с помощью стандартной команды rasdial.
Вот что пишется про нее в справочных файлах Windows XP: Команда rasdial выполняет запуск сетевого подключения, используя указанные параметры. Синтаксис rasdial имя_подключения [имя_пользователя [пароль | *]] [/domain:домен] [/phone:номер_телефона] [/callback:номер_для_ответного_вызова] [/phonebook:путь_к_телефонной_книге] [/prefixsuffix] Чтобы отключить установленное сетевое подключение, выполняется команда rasdial со следующими параметрами: rasdial [имя_подключения] /disconnect
Сразу скажу, что я не сторонница хранения паролей на жестком диске компьютера ни в каком виде, включая зашифрованный. Мало ли каких умельцев в сети… И ввод пароля с клавиатуры не обеспечивает нужной безопасности. Мало того, что у Вас за спиной в момент выхода в сеть могут стоять совершенно посторонние люди; существуют программы – клавиатурные шпионы, которые с превеликим удовольствием ваш пароль украдут, и будет потом Вася Пупкин за Ваш счет Интернетом пользоваться… Однако можно организовать работу так, что пароль можно будет хранить на обычной дискетке. Сделать это очень просто: в Свойствах вашего подключения к Интернет на вкладке «Безопасность» в разделе «Интерактивная регистрация и сценарий» Вы указываете подключение с помощью скрипта, находящегося на диске A, т.е. записанного на дискетку.
Скрипт этот в самом примитивном варианте может выглядеть так:
proc main waitfor "login:" transmit "my_login" transmit "^M"
waitfor "Password:" transmit "my_password" transmit "^M"
waitfor "PPP" endproc
Написать его можно в программе Блокнот, после чего сохранить на дискетку с соответствующим именем (в данном случае имя файла – full.scp). Разумеется, вместо my_login и my_password должны стоять Ваши логин и пароль. Уже теперь Вы можете подключиться к Интернет через ранее созданное Вами подключение, используя ввод логина и пароля с дискетки – не забудьте только вовремя вставить ее в дисковод.
Теперь вернемся к команде rasdial. Чтобы удобно подключаться и отключаться с ее помощью, нам необходимо создать командные файлы. Мы их напишем в программе Блокнот. В первом файле будет всего одна строка: rasdial VTK
Вместо VTK (это название моего соединения для выхода в Интернет) поставьте свое и сохраните файл под каким-нибудь подходящим именем, например, Вход.bat
Обратите внимание: если Вы для этого файла создадите ярлык и разместите его на Рабочем столе, то можно этому файлу присвоить клавишу быстрого вызова (правый клик > свойства), которая включится после перезагрузки. Удобно при этом пользоваться сочетаниями Ctrl +Alt+ какая-нибудь клавиша с цифровой клавиатуры (Num 1, Num 2 и т.д.) – такие сочетания редко используются в качестве горячих клавиш в других программах.
Для отключения от сети создадим еще один файлик, который будет называться, например, Выход.bat и будет содержать также одну строчку rasdial VTK /d
Эта строка в данном случае прерывает связь по соединению VTK (поставьте имя своего соединения). Создав и для этого файла быстрый клавиатурный вызов, организуем себе удобный процесс подключения-отключения от сети Интернет.
А как быть, например, с весьма удобной функцией программ-звонилок, запускающих необходимые для работы приложения? А очень просто. Для этого мы воспользуемся другой командой командной строки– start. Посмотреть все ее параметры, как и параметры остальных команд, можно в Справке Windows XP, нужно только набрать в строке поиска слова «командная строка» (без кавычек).
Например, мне для комфортной работы необходимо как минимум три приложения, которые должны запускаться до того, как я начну бродить по бескрайним просторам Интернета: файервол, антивирусник и программа подсчета статистики и расчета денежки, на эти прогулки потраченной.
Допишу я команды на запуск этих приложений в файл Вход.bat, щелкнув по нему правой кнопкой мыши и выбрав пункт «изменить»:
start "kav.exe" /D "С:\Program Files\Kaspersky Lab\Kaspersky Anti-Virus Personal" /MIN kav start "outpost.exe" /D "С:\program files\Agnitum\Outpost Firewall" /MIN outpost start "Statist.exe" /D "С:\Program Files\HomeWork Statist" /MIN Statist
здесь после названия команды указывается в кавычках имя приложения, потом /D “путь” указывает каталог запуска, ключ /MIN должен запускать приложение в свернутом виде (но некоторые программы сделаны так, что это не работает ), и, наконец, следуем имя файла и параметры запуска (если необходимо).
Эти команды должны быть записаны перед командой rasdial - таким образом, нужные приложения будут запущены еще до начала дозвона провайдеру.
Кстати, как видите, для учета статистики и подсчета расходов я пользуюсь программой HomeWork Statist – лучшей, на мой взгляд, программой для домашних пользователей. И практически бесплатной (те, кто не хочет регистрировать ее за символические 50 руб, которые просит за нее автор, могут раз в две недели бесплатно обновлять ключи, заходя на домашнюю страничку программы).
Конечно, если у Вас постоянно включен антивирусный монитор и файервол, эти строки можно не добавлять. Но для тех, у кого мало оперативной памяти, либо кому не требуется постоянный мониторинг вирусной активности, этот способ удобнее. Только не забудьте удалить эти программы из автозагрузки. Ну а прекратить их действие после завершения работы в интернете можно с помощью нашего второго файла, ответственного за разрыв связи.
Для этой цели изменим его содержимое, добавив после команды разрыва соединения строки: taskkill /IM outpost.exe /f taskkill /IM avpm.exe /f taskkill /IM Statist.exe /f
Здесь мы использовали команду прерывания процессов taskkill /im имя_образа Указывает имя образа процесса, который необходимо завершить. Используйте подстановочный знак (*) для указания всех имен образа. /f Указывает, что процесс(ы) должен быть принудительно завершен. Этот параметр не действует для удаленных процессов, все удаленные процессы завершаются принудительно.
Таким образом, после обрыва связи все запущенные интернет-приложения автоматически прекратят свою работу.
Разумеется, вы можете добавлять в список запускаемых программ любые другие, необходимые для работы программы.
Немного о грустном. Не знаю, у кого как, а вот у моего провайдера не всегда бывает хорошо с дозвоном. Увы, нет-нет, да и появится грустное окошечко с сообщением о невозможности осуществления связи. Если для дозвона мы используем имеющиеся соединения, стандартная звонилка Windows XP умеет в таких случаях перезванивать. А как быть с командой rasdial, спросите вы. Да, оказывается, и тут можно все предусмотреть! Командная строка Windows XP позволяет обрабатывать такие ошибки – те, кто немного знаком с программированием, могут написать себе цепочку команд, учитывающую возникшие во время дозвона ошибки.
Ошибки на стороне моего провайдера бывают разные, чаще всего возникает ошибка соединения с кодом 619, но иногда случаются и другие, с большими номерами. Ошибки, возникающие при использовании компонента «Сетевые подключения», имеют коды от 600 до 800.
Конструкция, позволяющая при возникновении ошибок 619 и больших, выглядит так: :connect rasdial VTK if ERRORLEVEL 619 goto connect
Переменная ERRORLEVEL после нормального соединения равна нулю, если же произошла ошибка, то ей присваивается код этой ошибки. Таким образом, в данной конструкции при возникновении ошибки с кодом 619 либо большим происходит возврат к метке :connect, после чего опять выполняется команда rasdial, т.е запускается цикл. При нормальном же дозвоне цикла не возникает и управление передается следующей строке (которой у нас нет, т.е. к концу командного файла).
Можно, конечно, сразу поставить в эту конструкцию код 600.
Теперь попробуем посмотреть на наши bat-файлы целиком.
Файл Вход.bat
rem Дозвон и подключение программ start "kav.exe" /D "C:\Program Files\Kaspersky Lab\Kaspersky Anti-Virus Personal" /MIN kav start "outpost.exe" /D "C:\program files\Agnitum\Outpost Firewall" /MIN outpost start "Statist.exe" /D "C:\Program Files\HomeWork Statist" /MIN Statist :connect rasdial VTK if ERRORLEVEL 619 goto connect
Файл Выход.bat
rem Разрыв связи и отключение программ rasdial VTK /d taskkill /IM outpost.exe /f taskkill /IM avpm.exe /f taskkill /IM Statist.exe /f
rem, как Вы, наверное, догадались, - это комментарий, который все культурные люди должны добавлять… чтоб не забыть, для чего эти странные файлы были ими несколько лет назад созданы… Если вам требуется что-то еще для настроек дозвона, внимательно изучите описание этих команд в справке Windows XP (например, в rasdial можно пользоваться callback – ответным звонком, услугой, поддерживаемой некоторыми провайдерами в целях борьбы с любителями чужих паролей).
Таким образов, с минимумом затрат и без особых мучений с настройками сторонних программ мы создали удобный механизм подключения к сети и запуска приложений.
|