Руководство администратора сети в ОС Linux




Набор номера с chat


Одна из вещей, которая может испугать Вас как неудобная в вышеизложенным примере - то, что Вы должны установить связь вручную прежде, чем Вы могли бы запустить pppd. В отличие от dip, pppd не имеет собственный script язык для набора незначительной системы и регистрации, но полагается на некоторую внешнюю программу или shell script для того, чтобы сделать это. Команда, которая будет выполнена может быть дана pppd с connect командой line option. Pppd переназначит вход и выход к последовательной линии. Одна полезная программа для этого - expect, написанная Don Libes. Она имеет очень мощный язык основанный на Tcl, и была разработана точно для этого сорта приложения.

Pppd пакет идет с подобной программой называемой called chat, которая позволяет Вам определить UUCP-style chat script. В основном, chat script состоит из чередующихся последовательности строк, которые мы ожидаем получить от отдаленной системы, и ответов, которые мы должны послать. Мы будем называть expect и send строки, соответственно. Это типичная выборка из chat script;

ogin: b1ff ssword: s3kr3t

Он сообщает chat чтобы ждать отает из отдаленной системы для того, чтобы послать login prompt, и вернуть login имя b1ff. Мы только ждем ogin: так чтобы было все равно стартует ли login prompt с верхнего регистра или с нижнего регистра I, или приходит искаженным. Следующяя строка - expect string снова, которая заставит chat ждать пароль, и посылать свой пароль в ответ.

Вот это в основном и все то, для чего предназначен chat scripts. Полный script для соединения с PPP сервером, несомненно должен включать соотствующие команды модема. Представте, что ваш модем понимает Hayes команды, и номер телефона сервера был 318714. Полный вызов chat для установки связи с c3po был бы:

$ chat -v '' ATZ OK ATDT318714 CONNECT '' ogin: ppp word: GaGariN

По определению, первая строка должна бы быть expect строкой, но так как модем не будет говорить что - нибудь прежде, чем мы пнули его, мы сделаем chat так, чтобы он сначала ожидал, опрзделкв пустую строку. Мы продолжаем и посылаем ATZ, reset команда для Hayes-совместимых модемов, и ждем реакцию (OK). Следующая строка посылает dial команду с номером телефона для chat, и ожидает сообщение CONNECT в ответ. За этим следует пустая строка снова, потому что мы не хотим посылать, но лучше подождать для быстрого входа в систему. Остаток от chat script работает точно так, как описано выше.




Содержание  Назад  Вперед