pppoe客户端自动拨号原理及实现

pppoe客户端自动拨号原理及实现

家庭上网大多采用ADSL拨号上网,很多人使用ADSL网络提供商的拨号软件,可这些软件广告太多,并且还公窃取你的上网习惯等信息,所以可以使用XP自带的拨号软件。一般的XP下ADSL拨号操作如下:开始-附件-通讯-新建连接向导-连接到Internet-手动设置我的连接-用要求用户名和密码的宽带连接来连接,ISP名称随便填写,用户名和密码填写网络服务提供商提供的信息,连接建立好后会在桌面上建立上一个拨号的快捷方式,上网前双击它即可上网。

对于一个家庭用户来说,双击桌面上的连接快捷方式上网并不感觉很麻烦。可是对于小区宽带管理员来说,经常给用户解释怎么新建立ADSL连接还是不方便。可不可以建立一个文件代替上面建立连接的冗长的过程呢?确实可以。

实际上,拨号的过程是由XP中的rasphone.exe程序调用rasphone.pbk配置文件来完成的,我们上面建立连接的过程就是修改 rasphone.pbk配置文件的过程。根据这个原理,我们完全可以由管理员建立一个rasphone.pbk文件,然后用户拷回去后直接双击并填写用户名和密码即可拨号,从而避免了建立拨号连接的冗长的过程。

下面就是一个典型的rasphone.pbk配置文件的内容:
-------------不含此分割线--------------------
[adsl]
Encoding=1
Type=5
AutoLogon=0
UseRasCredentials=0
DialParamsUID=35169031
Guid=634FB3A1DDF5D14F9A87795DF822D9D0
BaseProtocol=1
VpnStrategy=0
ExcludedProtocols=3
LcpExtensions=1
DataEncryption=8
SwCompression=1
NegotiateMultilinkAlways=0
SkipNwcWarning=0
SkipDownLevelDialog=0
SkipDoubleDialDialog=0
DialMode=1
DialPercent=75
DialSeconds=120
HangUpPercent=10
HangUpSeconds=120
OverridePref=15
RedialAttempts=3
RedialSeconds=60
IdleDisconnectSeconds=0
RedialOnLinkFailure=1
CallbackMode=0
CustomDialDll=
CustomDialFunc=
CustomRasDialDll=
AuthenticateServer=0
ShareMsFilePrint=0
BindMsNetClient=0
SharedPhoneNumbers=0
GlobalDeviceSettings=0
PrerequisiteEntry=
PrerequisitePbk=
PreferredPort=
PreferredDevice=
PreferredBps=0
PreferredHwFlow=0
PreferredProtocol=0
PreferredCompression=0
PreferredSpeaker=0
PreferredMdmProtocol=0
PreviewUserPw=1
PreviewDomain=0
PreviewPhoneNumber=0
ShowDialingProgress=1
ShowMonitorIconInTaskBar=1
CustomAuthKey=-1
AuthRestrictions=632
TypicalAuth=1
IpPrioritizeRemote=1
IpHeaderCompression=0
IpAddress=0.0.0.0
IpDnsAddress=0.0.0.0
IpDns2Address=0.0.0.0
IpWinsAddress=0.0.0.0
IpWins2Address=0.0.0.0
IpAssign=1
IpNameAssign=1
IpFrameSize=1006
IpDnsFlags=0
IpNBTFlags=0
TcpWindowSize=0
UseFlags=1
IpSecFlags=0
IpDnsSuffix=

NETCOMPONENTS=
ms_server=0
ms_msclient=0

MEDIA=rastapi
Port=PPPoE6-0
Device=WAN 微型端口 (PPPOE)

DEVICE=PPPoE
PhoneNumbe

r=
AreaCode=
CountryCode=1
CountryID=1
UseDialingRules=0
Comment=
LastSelectedPhone=0
PromoteAlternates=0
TryNextAlternateOnFail=1

-------------不含此分割线--------------------
说到这里我们怎么让拨号自动完成呢,也就是不用人为双击拨号不用填写用户名和密码,让拨号随系统启动而自动完成呢?

这里又要说到另一个XP自带的拨号程序rasdial.exe程序,这个程序和rasphone.exe的都是用来拨号的,并且都是调用读取 rasphone.pbk配置文件,但rasdial是命令行拨号工具,而rasphone是图形化拨号工具。为了完成自动拨号,我们还是使用命令行拨号工具rasdial比较方便。

下面这行命令就是命令行下的拨号命令,把这个命令写入rasphone.bat脚本文件,并把rasphone.bat和上面提到的 rasphone.pbk文件放到同一个目录中,并让rasphone.bat随系统自启动,即可实现拨号的自动实现。

-------------不含此分割线--------------------
rasdial adsl pppuser001 ppppassword001 /phonebook:rasphone.pbk
-------------不含此分割线--------------------

命令中“adsl”是拨号连接名称,此名称要与rasphone.pbk中的第一行中标识的连接名称相同。pppuser001和 ppppassword001分别是拨号的用户名和密码,各用户要做适当修改。

总结:自动拨号的实现需要3个文件,其中 rasdial.exe、rasphone.pbk、rasphone.bat,其中rasdial.exe由XP自带。管理员只需要建立两个文件 rasphone.pbk和rasphone.bat,各文件内容见上文详述。把rasphone.pbk和rasphone.bat放在同目录中,并让 rasphone.bat自启动即可。

相关文档
最新文档