聊天脚本示例
本节包含一些聊天脚本,可供在创建聊天脚本时用于参考。调制解调器制造商的指南和来自 ISP 及其他目标主机的信息包含调制解调器和目标对等点的聊天要求。此外,许多 PPP Web 站点都有聊天脚本样例。
基本调制解调器聊天脚本
以下是一个基本聊天脚本,创建自己的聊天脚本时可以此为模板。
ABORT BUSY
ABORT 'NO CARRIER'
REPORT CONNECT
TIMEOUT 10
"" AT&F1M0&M5S2=255
SAY "Calling myserver\n"
TIMEOUT 60
OK "ATDT1-123-555-1212"
ogin: pppuser
ssword: \q\U
% pppd
下一个表描述了聊天脚本的内容。
| |
ABORT BUSY
| 如果调制解调器从对应对等点收到此消息,则中止传输。
|
ABORT 'NO CARRIER'
| 如果调制解调器在拨号时报告 ABORT 'NO CARRIER',则中止传输。出现此消息通常是因为拨号或调制解调器协商故障。
|
REPORT CONNECT
| 从调制解调器收集 CONNECT 字符串。输出字符串。
|
TIMEOUT 10
| 将初始超时设置为 10 秒。调制解调器会立即做出响应。
|
"" AT&F1M0&M5S2=255
| M0-连接过程中关闭扬声器。 &M5-使调制解调器要求进行错误控制。 S2=255-禁用 TIES "+++" 中断序列。
|
SAY "Calling myserver\n"
| 在本地计算机上显示消息 Calling myserver。
|
TIMEOUT 60
| 将超时重置为 60 秒,为链路协商留出更多时间。
|
OK "ATDT1-123-555-1212"
| 使用电话号码 123-555-1212 呼叫远程对等点。
|
ogin: pppuser
| 使用 UNIX 样式的登录来登录到对等点。提供用户名 pppuser。
|
ssword: \q\U
| \q-如果使用 –v 选项调试,则不进行日志记录。 \U-在此位置插入命令行上指定的 –U 之后的字符串内容。通常,该字符串包含口令。
|
% pppd
| 等待 % shell 提示,并运行 pppd 命令。
|
|
/etc/ppp/myisp-chat.tmpl 聊天脚本模板
此发行版包括 /etc/ppp/myisp-chat.tmpl 模板,可以修改该模板供您的站点使用。/etc/ppp/myisp-chat.tmpl 与基本调制解调器聊天脚本类似,不同的是该模板不包括登录序列。
ABORT BUSY
ABORT 'NO CARRIER'
REPORT CONNECT
TIMEOUT 10
"" "AT&F1"
OK "AT&C1&D2"
SAY "Calling myisp\n"
TIMEOUT 60
OK "ATDT1-123-555-1212"
CONNECT \c
| |
ABORT BUSY
| 如果调制解调器从对应对等点收到此消息,则中止传输。
|
ABORT 'NO CARRIER
| 如果调制解调器在拨号时报告 ABORT 'NO CARRIER',则中止传输。出现此消息通常是因为拨号或调制解调器协商故障。
|
REPORT CONNECT
| 从调制解调器收集 CONNECT 字符串。输出字符串。
|
TIMEOUT 10
| 将初始超时设置为 10 秒。调制解调器会立即做出响应。
|
"" "AT&F1"
| 将调制解调器重置为出厂缺省值。
|
OK "AT&C1&D2"
| 重置调制解调器,以便对于 &C1,来自调制解调器的 DCD 位于载波之后。如果远程端由于某种原因而挂起,DCD 将被丢弃。 对于 &D2,DTR 高到低转换会导致调制解调器“挂起”。
|
SAY "Calling myisp\n"
| 在本地计算机上显示消息 "Calling myisp"。
|
TIMEOUT 60
| 将超时重置为 60 秒,为链路协商留出更多时间。
|
OK "ATDT1-123-555-1212"
| 使用电话号码 123-555-1212 呼叫远程对等点。
|
CONNECT \c
| 等待来自对应对等点的调制解调器的 CONNECT 消息。
|
|
用于呼叫 ISP 的调制解调器聊天脚本
使用以下聊天脚本作为模板,用于从带有 U.S. Robotics Courier 调制解调器的拨出计算机呼叫 ISP。
ABORT BUSY
ABORT 'NO CARRIER'
REPORT CONNECT
TIMEOUT 10
"" AT&F1M0&M5S2=255
SAY "Calling myisp\n"
TIMEOUT 60
OK "ATDT1-123-555-1212"
CONNECT \c
\r \d\c
SAY "Connected; running PPP\n"
下表描述了聊天脚本的内容。
| |
ABORT BUSY
| 如果调制解调器从对应对等点收到此消息,则中止传输。
|
ABORT 'NO CARRIER'
| 如果调制解调器从对应对等点收到此消息,则中止传输。
|
REPORT CONNECT
| 从调制解调器收集 CONNECT 字符串。输出字符串。
|
TIMEOUT 10
| 将初始超时设置为 10 秒。调制解调器会立即做出响应。
|
"" AT&F1M0M0M0M0&M5S2=255
| M0-连接过程中关闭扬声器。 &M5-使调制解调器要求进行错误控制。 S2=255-禁用 TIES "+++" 中断序列。
|
SAY "Calling myisp\n"
| 在本地计算机上显示消息 Calling myisp。
|
TIMEOUT 60
| 将超时重置为 60 秒,为链路协商留出更多时间。
|
OK "ATDT1-123-555-1212"
| 使用电话号码 123-555-1212 呼叫远程对等点。
|
CONNECT \c
| 等待来自对应对等点的调制解调器的 CONNECT 消息。
|
\r \d\c
| 一直等到 CONNECT 消息结束。
|
SAY “Connected; running PPP\n”
| 在本地计算机上显示提示性消息 Connected; running PPP。
|
|
用于 UNIX 样式登录的增强型基本聊天脚本
以下聊天脚本是为呼叫远程 Oracle Solaris 对等点或其他 UNIX 类型的对等点而进行了增强的基本脚本。此聊天脚本在如何创建用于呼叫对等点的指令中使用。
SAY "Calling the peer\n"
TIMEOUT 10
ABORT BUSY
ABORT 'NO CARRIER'
ABORT ERROR
REPORT CONNECT
"" AT&F1&M5S2=255
TIMEOUT 60
OK ATDT1-123-555-1234
CONNECT \c
SAY "Connected; logging in.\n"
TIMEOUT 5
ogin:--ogin: pppuser
TIMEOUT 20
ABORT 'ogin incorrect'
ssword: \qmypassword
"% " \c
SAY "Logged in. Starting PPP on peer system.\n"
ABORT 'not found'
"" "exec pppd"
~ \c
下表说明了该聊天脚本的参数。
| |
TIMEOUT 10
| 将初始超时设置为 10 秒。调制解调器会立即做出响应。
|
ABORT BUSY
| 如果调制解调器从对应对等点收到此消息,则中止传输。
|
ABORT 'NO CARRIER'
| 如果调制解调器从对应对等点收到此消息,则中止传输。
|
ABORT ERROR
| 如果调制解调器从对应对等点收到此消息,则中止传输。
|
REPORT CONNECT
| 从调制解调器收集 CONNECT 字符串。输出字符串。
|
"" AT&F1&M5S2=255
| &M5-使调制解调器要求进行错误控制。 S2=255-禁用 TIES "+++" 中断序列。
|
TIMEOUT 60
| 将超时重置为 60 秒,为链路协商留出更多时间。
|
OK ATDT1-123-555-1234
| 使用电话号码 123-555-1212 呼叫远程对等点。
|
CONNECT \c
| 等待来自对应对等点的调制解调器的 CONNECT 消息。
|
SAY "Connected; logging in.\n"
| 显示提示性消息 Connected; logging in 以指出用户状态。
|
TIMEOUT 5
| 更改超时以便快速显示登录提示。
|
ogin:--ogin: pppuser
| 等待登录提示。如果未收到提示,则发送 RETURN 并等待。然后,将用户名 pppuser 发送到对等点。大多数 ISP 将随后的序列称为 PAP 登录。但是,PAP 登录与 PAP 验证毫不相关。
|
TIMEOUT 20
| 将超时更改为 20 秒,以便进行慢速口令验证。
|
ssword: \qmysecrethere
| 等待来自对等点的口令提示。收到提示时,发送口令 \qmysecrethere。\q 阻止将口令写入系统日志文件。
|
"% " \c
| 等待来自对等点的 shell 提示。聊天脚本使用 C shell。如果用户喜欢使用其他 shell 登录,可以更改此值。
|
SAY "Logged in. Starting PPP on peer system.\n"
| 显示提示性消息 Logged in. Starting PPP on peer system 以指出用户状态。
|
ABORT 'not found'
| 如果 shell 遇到错误,则中止传输。
|
"" "exec pppd"
| 在对等点上启动 pppd。
|
~ \c
| 等待在对等点上启动 PPP。
|
|
紧接 CONNECT \c 之后启动 PPP 通常被 ISP 称为 PAP 登录,但 PAP 登录实际上不属于 PAP 验证。
短语 ogin:--ogin: pppuser 指示调制解调器发送用户名 pppuser 以响应来自拨入服务器的登录提示。pppuser 是为拨入服务器上的远程 user1 创建的特殊 PPP 用户帐户名。有关在拨入服务器上创建 PPP 用户帐户的说明,请参阅如何配置拨入服务器的用户。
外部 ISDN TA 的聊天脚本
以下聊天脚本用于从使用 ZyXEL omni.net.ISDN TA 的拨出计算机进行呼叫。
SAY "Calling the peer\n"
TIMEOUT 10
ABORT BUSY
ABORT 'NO CARRIER'
ABORT ERROR
REPORT CONNECT
"" AT&FB40S83.7=1&K44&J3X7S61.3=1S0=0S2=255
OK ATDI18882638234
CONNECT \c
\r \d\c
SAY "Connected; running PPP\n"
下表说明了该聊天脚本的参数。
| |
SAY "Calling the peer"
| 在拨出计算机的屏幕上显示此消息。
|
TIMEOUT 10
| 将初始超时设置为 10 秒。
|
ABORT BUSY
| 如果调制解调器从对应对等点收到此消息,则中止传输。
|
ABORT 'NO CARRIER'
| 如果调制解调器从对应对等点收到此消息,则中止传输。
|
ABORT ERROR
| 如果调制解调器从对应对等点收到此消息,则中止传输。
|
REPORT CONNECT
| 从调制解调器收集 CONNECT 字符串。输出字符串。
|
"" AT&FB40S83.7=1&K44&J3X7S61.3=1S0=0S2=255
| 此行中的字母具有以下含义: &F-使用出厂缺省值
B40-执行异步 PPP 转换
S83.7=1-使用“通过语音承载传输数据”
&K44-启用 CCP 压缩
&J3-启用 MP
X7-报告 DCE 端速率
S61.3=1-使用包分段
S0=0-无自动应答
S2=255-禁用 TIES 转义
|
OK ATDI18882638234
| 进行 ISDN 呼叫。对于多链路,会对同一电话号码进行二次呼叫,通常大多数 ISP 要求这样做。如果远程对等点要求另一个不同的电话号码,可附加 "+nnnn"。nnnn 表示第二个电话号码。
|
CONNECT \c
| 等待来自对应对等点的调制解调器的 CONNECT 消息。
|
\r \d\c
| 一直等到 CONNECT 消息结束。
|
SAY "Connected; running PPP\n"
| 在拨出计算机的屏幕上显示此消息。
|
|
有关聊天脚本的选项说明和其他详细信息,请参阅 chat(1M) 手册页。有关 expect-send(期待发送)字符串的说明,请参阅/etc/uucp/Systems 文件中的聊天脚本字段。
更多聊天脚本示例
很多网站提供用于创建聊天脚本的聊天脚本样例和帮助。有关示例,请参见 http://ppp.samba.org/ppp/index.html。