pppoe客户端自动拨号原理及实现(申精)
家庭上网大多采用ADSL拨号上网,很多人使用ADSL网络提供商的拨号软件,可这些软件广告太多,并且还公窃取你的上网习惯等信息,所以可以使用XP自带的拨号软件。一般的XP下ADSL拨号操作如下:开始-附件-通讯-新建连接向导-连接到Internet-手动设置我的连接-用要求用户名和密码的宽带连接来连接,ISP名称随便填写,用户名和密码填写网络服务提供商提供的信息,连接建立好后会在桌面上建立上一个拨号的快捷方式,上网前双击它即可上网。对于一个家庭用户来说,双击桌面上的连接快捷方式上网并不感觉很麻烦。可是对于小区宽带管理员来说,经常给用户解释怎么新建立ADSL连接还是不方便。可不可以建立一个文件代替上面建立连接的冗长的过程呢?确实可以。
实际上,拨号的过程是由XP中的rasphone.exe程序调用rasphone.pbk配置文件来完成的,我们上面建立连接的过程就是修改rasphone.pbk配置文件的过程。根据这个原理,我们完全可以由管理员建立一个rasphone.pbk文件,然后用户拷回去后直接双击并填写用户名和密码即可拨号,从而避免了建立拨号连接的冗长的过程。
下面就是一个典型的rasphone.pbk配置文件的内容:
-------------不含此分割线--------------------
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
PhoneNumber=
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自启动即可。
[ 本帖最后由 jibaowang 于 2008-12-3 11:26 编辑 ] 和和,没有这么麻烦的! 这个拨号配置文件很有用处的~~
用这个
可以用批处理的方式来拨号
不仅是pppoe 可以拨
vpn也是可以播的 我还以为只要脚本就可以了,还要其它文件,这个不太好。
回复 4# 的帖子
XP 上面这几个文件都有的,怎么不好,至少是一种思路 不错,不过就是在拨号完成以后,怎么不见拨号的连接状态呢? 6# admini只是建立连接,没有在建立连接过程中修改注册表,所以没有显示连接状态。
如果通连接向导建立连接,注册表会相应修改以显示连接状态图标。 支持.收下了,謝謝樓主. 简单的事情搞复杂了
简单两步 这个帖子开的不错,技术派和实用派都各得其所。
顶一下,建议加精 mark,学习。
页:
[1]