Этот диалог предназначен для создания скрипта дозвона для соединения с вашим Интернет-провайдером. Вы можете использовать мини-терминал и сведения, предоставленные вашим Интернет-провайдером, для создания необходимого скрипта.
Выберите опцию из раскрывающегося списка слева, а затем укажите параметры для выбранного действия в окне редактирования справа. Используйте кнопку Добавить для добавления записи в конец скрипта, который отображается в нижней части диалога. Используйте кнопку Вставить для вставки записи в любое место скрипта, а также кнопку Удалить для удаления строки из скрипта.
Доступные опции:
Kppp будет ожидать получения заданной строки.
Kppp отправит заданную строку.
Kppp будет сканировать входящий поток данных на предмет наличия заданной строки и сохранит все символы, начиная от конца строки и до начала новой, во внутреннем буфере. Символы пробелов как в начале строки, так и в конце будут проигнорированы.
Постоянно хранить заранее просканированную строку в заданном регистре. На данный момент единственным доступным является регистр password.
Приостановить на заданное число секунд.
Kppp отдаст модему команду повесить трубку.
Kppp установит модем в режим ответа.
Изменить таймаут по умолчанию на заданное число секунд при выполнении скрипта. При необходимости можно изменять таймаут в скрипте несколько раз.
Запросить у пользователя Kppp ввод строки в ответ на заданную строку- подсказку. Набранные символы будут видны пользователю. Если в заданной строке содержится метка ##, в таком случае она будет заменена на содержимое внутреннего буфера сканирования, то есть на значение, сохранённое командой scan.
Запросить у пользователя Kppp ввод строки в ответ на заданную строку-подсказку. Каждый введённый пользователем символ будет отображён символом Звёздочка.
Если поле Имя пользователя на главном экране Kppp заполнено, — отправить имя пользователя. Если поле Имя пользователя не заполнено, — запросить пользователя Kppp ввести имя пользователя в ответ на заданную строку-подсказку. Набранные символы будут отображены. На следующем шаге, например, в цикле повторения или же при авторизации в режиме обратного звонка, запрос будет выводиться вне зависимости от заполнения поля Имя пользователя.
Если поле Пароль на главном экране Kppp заполнено, — отправить пароль. Если поле Пароль не заполнено, — запросить пользователя Kppp ввести пароль в ответ на заданную строку-подсказку. Каждый набранный символ будет отбражен символом Звёздочка. На следующем шаге, например, в цикле повторения или же при авторизации в режиме обратного звонка, запрос будет выводиться вне зависимости от заполнения поля Пароль.
Kppp будет ожидать получения заданной строки и сохранит её для использования переменной Конец цикла.
Kppp будет ожидать получения заданной строки для выхода из цикла. Если сперва будет получена строка, заданная как Начало цикла, это вызовет переход к к строке после Начала цикла и повторение парного диалога имя_пользователя/пароль.
Пример 1.1. Пример простого скрипта логина
Ниже приведён пример простого скрипта, который можно использовать для подключения к Интернет-провайдеру
Expect ID: # ожидать имя пользователя: Send myid # замените myid на ваше имя пользователя Expect word: # ожидать пароль Send 4u3fjkl # отправить пароль '4u3fjkl' Expect granted # Интернет-провайдер при успешном логине сообщает 'Permission granted'. Send ppp # Эта команда запускает ppp-соединение # на удалённом компьютере Интернет- провайдера.
Пример 1.2. Скрипт логина, запрашивающий имя пользователя и пароль, а затем зацикливающийся
Ниже приведён пример скрипта с запросом имени пользователя и пароля. Этот скрипт каждый раз запрашивает имя пользователя и пароль, вне зависимости от заполнения полей Имя пользователя и пароль на главном экране Kppp.
Этот скрипт также поясняет применение структуры Начало цикла/Конец цикла. Если при процедуре логина происходит сбой, к примеру, при наборе пароля допущена ошибка, Интернет-провайдер выдаст сообщение об ошибке и повторно начнёт цикл имя_пользователя/пароль, отправив строку ID:. Если строка ID: будет получена до обработки параметра Конец цикла, Kppp начнёт выполнение скрипта со строки с параметром Начало цикла.
LoopStart ID: # ожидать имя пользователя: Prompt Enter ID: # запрос на ввод имени пользователя с последующей отправкой. Expect word: # ожидать пароль PWPrompt Enter Password: # запрос на ввод пароля с последующей отправкой. LoopEnd granted # Интернет-провайдер при успешном логине сообщает 'Permission granted'. Send ppp # Запуск ppp-соединения на удалённом компьютере
Пример 1.3. Запрашивает сведения, не указанные в основном диалоге
Я использую этот скрипт для подключения к своему Интернет-провайдеру. Скрипт запрашивает имя пользователя и пароль только в том случае, если я не заполнил соответствующие графы в главном диалоге Kppp.
LoopStart ID: # ожидать имя пользователя: ID Enter ID: # запрос на ввод имени пользователя с последующей отправкой. Expect word: # ожидать пароль Password Enter Password # запрос на ввод пароля с последующей отправкой. LoopEnd granted # Интернет-провайдер при успешном логине сообщает 'Permission granted'. Send ppp # Эта команда запускает ppp-соединение на # удалённом компьютере Интернет- провайдера
Пример 1.4. Скрипт для соединения с Интернет-провайдером, использующим авторизацию с ответами на запросы
Вот скрипт, который я использую для подключения к Интернет-провайдеру, который требует авторизации с ответами на запросы. Обычно у вас есть устройство типа смарт-карты с дисплеем и калькулятором, предоставленное вам вашим Интернет-провайдером. Чтобы использовать его, вам необходимо знать пароль. Дозвонившись до провайдера, вы увидите запрос, который нужно будет ввести в устройство и получить динамический пароль на вход. Его вам и надо будет ввести.
LoopStart ID: # ожидать имя пользователя: ID Enter ID: # запрос на ввод имени пользователя с последующей отправкой. Scan Challenge: # сканировать поток до значения 'Challenge' и сохранить все последующие данные до начала новой строки. Expect Password: # ожидать пароль Prompt Your token is ## - Enter Password # запрос на ввод пароля с последующей отправкой. LoopEnd granted # Интернет-провайдер при успешном логине сообщает 'Permission granted'. Send ppp # Эта команда запускает ppp-соединение на # удалённом компьютере Интернет- провайдера
Пример 1.5. Использование опций сканирования и сохранения в скриптах
В следующем логе приводится пример подключения к несуществующему Интернет-провайдеру, который изменяет пароль при каждом новом соединении. Новый пароль должен быть проверен и сохранен для использования при следующем соединении.
University of Lummerland Login:mylogin Password: The password for your next session is: YLeLfkZb Please record and enter it for verification. Verification:YLeLfkZb 1 = telnet 2 = SLIP 3 = PPP Your choice:
Kppp выполнит всю эту работу вместо вас, при этом устранит риск потери клочка бумаги, на котором записан ваш пароль. Ключевым моментом следующего скрипта является использование комбинации опций Сканировать/Сохранить (Scan/Save).
7 Expect Login: # ожидать запрос на логин ID # отправить имя пользователя Expect Password: # ожидать запрос на пароль Password # отправить пароль Scan is: # ожидать значения '... next session is:' and # сканировать значение пароля Save password # сохранить новый пароль для следующего логина Expect Verification: # ожидать значения 'Verification:' Password # отправить новый пароль Expect choice: # ожидать запрос на выбор типа # соединения (telnet, SLIP, PPP) Send 3 # выбрать опцию 3, т. е. PPP