• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

如何在linux下搭建一个猫池???

发布: 2007-7-04 12:06 | 作者: admin | 来源:  网友评论 | 查看: 9次 | 进入软件测试论坛讨论

领测软件测试网
请问:我要在家里拨号到公司的猫上,想在linux下搭一个拨号服务器。请问我要怎么做呢,有什么文章可以看吗?

 herogl 回复于:2003-09-01 15:42:05
一、从调制解调器开始  

---- 在Linux 2.4系列内核发布之前(在本文发稿时消息传来,Linux 2.4.0已于2001年1月4日正式发布),Linux还不能使用Windows专用的调制解调器(Win-Modem)。  

---- 对于Linux来讲,外置调制解调器要比内置的型号的更容易配置。具体的配置过程可以参考Linux Modem HOWTO。如果是配置即插即用的Modem,则一定要首先打开内核中的PnP选项。遇到问题可以参考Linux Plug and Play HOWTO。  

---- 安装调制解调器后,首先我们应该检查一下调制解调器所使用的串口,然后创建符号链接/dev/modem指向该串口。举个例子, 假设调制解调器安装在第二个串口上,我们用如下的命令创建符号链接:  

---- #ln -s /dev/cua1 /dev/modem  

---- 随后使用如下命令来检查安装情况。  

---- #ls -l /dev/modem  

---- lrwxrwxrwx 1 root uucp 9 Sep 19 19:10 /dev/modem -> /dev/cua1  

---- 串口与Linux设备文件的对应关系如附表。  


/dev/cua0 或 /dev/ttyS0 COM1  
/dev/cua1 或 /dev/ttyS1 COM2  
/dev/cua2 或 /dev/ttyS2 COM3  
/dev/cua3 或 /dev/ttyS3 COM4  

---- 您可以使用minicom程序来检查一下调制解调器的配置。  

二、呼叫Linux  

---- 配置回叫的第一步是Linux内核的配置,如果当前内核还不支持PPP,需要重新编译内核加入PPP支持。有关信息可以参考Linux Kernel-HOWTO。  

---- 内核编译完成后,即可开始回叫软件的安装与配置。回叫程序是mgetty-sendfax和ppp的一部分。您可在Linux发行版光盘中找到它们。为了实现回叫系统的双重身份确认,我们需要创建一个在服务器端运行PPP协议的用户pppuser,缺省shell为/etc/ppp/ppplogin。添加完成后,在/etc/passwd文件中应该增加了类似如下的一行:  

---- pppuser:klkIOM89mn65H:230javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">PP Dialin:/home/pppuser:/etc/ppp/ppplogin  

---- 在更改或设置口令之后。我们必须向文件/etc/ppp/pap-secrets中增加一些有关口令的信息。在该文件中增加如下一行:  

---- pppuser 所设用户口令  

---- 您可以使用用命令"man pppd"获得相关的详细信息。  

---- pppuser不能使用通常意义的shell,而只能使用文件/etc/ppp/ppplogin。我们需要手动创建这个文件。使用命令"vi /etc/ppp/ppplogin"并输入如下内容:  

---- #!/bin/sh  

---- exec /usr/sbin/pppd -detach 192.168.1.1:192.168.1.2  

---- 这里,192.168.1.1是拨号服务器的IP地址,192.168.1.2是为客户端调制解调器分配的IP地址。这个文件要具有可执行属性。这时,为了使用ppp守护程序,必须设置相关参数。编辑文件/etc/ppp/options,设置如下内容:  

netmask 255.255.255.0  

proxyarp  

lock  

crtscts  

modem  
---- 其中,proxyarp是最重要的一个选项。它的作用是使拨号客户端可以通过拨号服务器的调制解调器连接Internet。如果去掉proxyarp选项, 则拨号用户就只能在单位局域网中工作了。其余的选项是用来控制调制解调器的。PPP-HOWTO或pppd帮助文件中有更详细的信息。  

---- 接下来是调制解调器的设置。编辑文件/etc/inittab,设置连接在第二个串口的调制解调器如下::  

---- s1:2345:respawn:/sbin/mgetty ttyS1 -D /dev/ttyS1 vt100  

---- 如果调制解调器连接在第一个串口,上面的内容要相应做如下修改:  

---- s0:2345:respawn:/sbin/mgetty ttyS0 -D /dev/ttyS0 vt100  

---- 这时最好运行如下命令来对/etc/inittab文件做语法检查:  

---- #init q  

---- 如果输出信息中没有显示任何错误,就可以进入下一步了。回到/etc/ppp目录下,创建options.ttyS1(如果是COM1, 则为options.ttyS0,其余类推)文件,其内容格式如下:  

---- IP_local: IP_remote  

---- 对于我们在上面的例子中假设的网络,这一行对应为:  

---- 192.168.1.1:192.168.1.2  

---- 这时还应该检查文件/etc/mgetty+sendfax/login.config,其中如下一行最重要,其余都可以用#号注释掉。  

---- /AutoPPP/ - a_ppp /usr/sbin/pppd auth -chap +pap login detach kdebug 7 debug  

---- 我们还需要为PPP守护程序设置SUID属性, 因为pppuser必须运行pppd并访问网络接口设备。运行如下命令。  

---- #chmod u+s /usr/sbin/pppd  

---- 这时,可以使用命令"ls -l /usr/sbin/pppd"进行检查,如果得到类似如下的输出,就说明改动生效了。  

---- rwsr-xr-x 1 root root 106892 Jan 11 1999 /usr/sbin/pppd  

---- 建议您将它加入cron表,因为重新启动服务器后pppd的优先权可能会改变。另外,由于拨号服务器将承担路由器的工作,我们必须启用IP转发。将下面一行加入文件/etc/rc.d/rc.local中。  

---- echo 1 > /proc/sys/net/ipv4/ip_forward  

---- 在这里,如果您使用RedHat,可以在文件/etc/sysconfig/network中将FORWARD_IPV4的值由false改为true,也能达到同样的效果。  

---- 如果是使用Linux客户端拨号,我们通常使用脚本来完成这个工作,对于Windows系统要在拨号设置时选中"连接后弹出终端窗口"选项。  

---- 最后,我们以pppuser的身份登录。  

三、请Linux"回电"  

---- 如果前面步骤顺利完成,我们已经可以向Linux服务器拨号了。接下来就是回叫的设置。为此,我们只需要修改两个文件。首先创建一个空文件/etc/mgetty+sendfax/callback.conf。运行如下命令:  

---- #touch /etc/mgetty+sendfax/callback.conf  

---- 为了回叫,必须从用户那里得到电话号码,也就是记录下拨入的号码。为此,首先需要编辑文件/etc/mgetty+sendfax/login.conf, 加入如下一行:  

---- call - - /usr/sbin/callback - S 123456  

---- 这里的"call"是一个虚拟用户,用来初始化连接。这一行的作用是启动回叫程序, 呼叫指定的号码。本例中的号码是123456。同样的过程也适用于其他用户。当我们呼叫服务器时,我们以虚拟用户登录,通过身份确认。然后,客户机的的脚本将连接挂断,回叫程序开始工作。客户端pppuser的账号和口令再次进行身份确认,随后连接就绪。  

---- 拨号客户端的配置也比较简单。如果客户端使用Windows,我们必须为你的号码安装拨号程序. 在调制解调器的属性中找到"扩展属性"*"额外选项",加入如下命令:  

---- &c0s0=1  

---- 随后就可以按照上述说明拨号了。如果使用Linux客户端, 通常需要使用脚本来进行拨号。除了脚本配置以外,系统的PPP配置也非常重要。  

---- 下面的两份脚本文件分别基于Slackware和RedHat Linux调试通过。您可以参考PPP-HOWTO获得关于在Linux如何书写脚本的详细信息.  

---- 1.基于Slackware的脚本。  

---- 首先是pppd的配置文件(以COM2的调制解调器为例)/etc/ppp/options。  

lock  
defaultroute  
noipdefault  
modem  
/dev/cua1  
33600  
crtscts  
debug  
passive  
asyncmap 0  
and the specific scripts  
the first named /etc/ppp/ppp-call  
#!/bin/bash  
teksta="Connection failed"  
tekstb="Probably, You will be connect"  
# /sbin/setserial /dev/cua1 spd_vhi  
killall -INT pppd 2>/dev/null  
rm -f /var/lock/LCK* /var/run/ppp*.pid  
(/usr/sbin/pppd -detach /dev/ttyS1 115200 \  
connect "/usr/sbin/chat -v -f /etc/ppp/pppcallback" &) || \  
(echo $teksta; ls marsss >/dev/null; exit 1)  
echo $tekstb  
exit 0  
第二个文件是/etc/ppp/pppcallback:  
TIMEOUT 60  
ABORT 'ERROR'  
ABORT 'BUSY'  
ABORT 'NO ANSWER'  
ABORT 'NO DIALTONE'  
ABORT '\nVOICE\r'  
ABORT '\nRINGING\r\n\r\  
nRINGING\r'  
'' AT&FH0 < p >'OK-+++\c-OK' 'AT&C0S0=1'  
TIMEOUT 75  
OK ATDT123456  
CONNECT ''  
ogingin: ppp_pseudouser  
'\nNO CARRIER\r' ''  
TIMEOUT 180  
'\nRING\r' AT&C1A  
CONNECT ''  
TIMEOUT 20  
ogingin: pppuser  
sword:-sword password_  
for_pppuser  
现在即可运行ppp-call了。  
2.基于RedHat的配置脚本。  
首先是/etc/ppp/options。  
lock  
defaultroute  
noipdefault  
modem  
33600  
crtscts  
debug  
passive  
asyncmap 0  
然后是/etc/ppp/pppcallback。  
TIMEOUT 5  
ABORT 'ERROR'  
ABORT 'BUSY'  
ABORT 'NO ANSWER'  
ABORT 'NO DIALTONE'  
ABORT '\nVOICE\r'  
ABORT '\nRINGING\r\n\  
r\nRINGING\r'  
'' AT&FH0 'OK-+++\c-OK' 'AT&C0S0=1'  
TIMEOUT 40  
OK ATDT5376443 CONNECT ''  
ogingin: ppp-pseudo-user  
'\nNO CARRIER\r' ''  
TIMEOUT 180  
'\nRING\r' AT&C1A  
CONNECT ''  
TIMEOUT 20  
ogingin: pppuser  
sword:-sword password_  
for_ppuser  
/usr/bin/ppp-call  
#!/bin/bash  
teksta="Connection failed"  
tekstb="Probably, You will be connect"  
# /sbin/setserial /dev/cua1 spd_vhi  
killall -INT pppd 2>/dev/null  
rm -f /var/lock/LCK* /var/run/ppp*.pid  
(/usr/sbin/pppd -detach call ppp_call &) || \  
(echo $teksta; ls marsss >/dev/null; exit 1)  
echo $tekstb  
exit 0  
编辑完成后,就可以使用ppp-call了。  
您使用Microsoft Windows系统,可以使用下面的脚本进行连接。  
proc main  
delay 1  
waitfor ogin:  
transmit call^M  
waitfor RINGtransmit ATA^Mwaitfor "CONNECTwaitfor ogin:  
transmit pppuser^M  
waitfor word:  
transmit ppp^M  
endproc  

四、小结  

---- 回叫本身的配置并不复杂,最重要的是在Linux上正确配置PPP服务器,本文描述的配置方法是经过多次试验总结出来的,但决不是一成不变的,我建议您阅读与其相关的文档, 譬如pppd手册、 NET4-HOWTO、PPP-HOWTO等,结合实践总结出自己的方法。这也正是使用Linux的乐趣所在。  


     打印本文 |  推荐朋友 |  收藏文章 |  关闭窗口
 
 

    相关文章

  Linux中的十个“快速”    (2001年9月11日)

  如何备份UNIX系统    (2001年8月21日)

  红旗Linux中LILO的配置    (2001年8月20日)

  Linux网络驱动程序编写    (2001年7月19日)

  Red Hat Linux 7.1安装指南(二)    (2001年7月16日)

  Red Hat Linux 7.1安装指南    (2001年7月16日)

  linux防火墙实现技术比较    (2001年7月10日)

  linux下糟糕的异常处理方式    (2001年7月10日)



 
 


 

关于统一 | 联系合作 | 统一作品 | 版权申明 | 建站服务 | 更多说明
Copyright 2000-2003 Tongyi All rights reserved. Powered by 统一视觉

 herogl 回复于:2003-09-01 15:42:29
一、从调制解调器开始  


---- 对于Linux来讲,外置调制解调器要比内置的型号的更容易配置。具体的配置过程可以参考Linux Modem HOWTO。如果是配置即插即用的Modem,则一定要首先打开内核中的PnP选项。遇到问题可以参考Linux Plug and Play HOWTO。  

---- 安装调制解调器后,首先我们应该检查一下调制解调器所使用的串口,然后创建符号链接/dev/modem指向该串口。举个例子, 假设调制解调器安装在第二个串口上,我们用如下的命令创建符号链接:  

---- #ln -s /dev/cua1 /dev/modem  

---- 随后使用如下命令来检查安装情况。  

---- #ls -l /dev/modem  

---- lrwxrwxrwx 1 root uucp 9 Sep 19 19:10 /dev/modem -> /dev/cua1  

---- 串口与Linux设备文件的对应关系如附表。  


/dev/cua0 或 /dev/ttyS0 COM1  
/dev/cua1 或 /dev/ttyS1 COM2  
/dev/cua2 或 /dev/ttyS2 COM3  
/dev/cua3 或 /dev/ttyS3 COM4  

---- 您可以使用minicom程序来检查一下调制解调器的配置。  

二、呼叫Linux  

---- 配置回叫的第一步是Linux内核的配置,如果当前内核还不支持PPP,需要重新编译内核加入PPP支持。有关信息可以参考Linux Kernel-HOWTO。  

---- 内核编译完成后,即可开始回叫软件的安装与配置。回叫程序是mgetty-sendfax和ppp的一部分。您可在Linux发行版光盘中找到它们。为了实现回叫系统的双重身份确认,我们需要创建一个在服务器端运行PPP协议的用户pppuser,缺省shell为/etc/ppp/ppplogin。添加完成后,在/etc/passwd文件中应该增加了类似如下的一行:  

---- pppuser:klkIOM89mn65H:230PP Dialin:/home/pppuser:/etc/ppp/ppplogin  

---- 在更改或设置口令之后。我们必须向文件/etc/ppp/pap-secrets中增加一些有关口令的信息。在该文件中增加如下一行:  

---- pppuser 所设用户口令  

---- 您可以使用用命令"man pppd"获得相关的详细信息。  

---- pppuser不能使用通常意义的shell,而只能使用文件/etc/ppp/ppplogin。我们需要手动创建这个文件。使用命令"vi /etc/ppp/ppplogin"并输入如下内容:  

---- #!/bin/sh  

---- exec /usr/sbin/pppd -detach 192.168.1.1:192.168.1.2  

---- 这里,192.168.1.1是拨号服务器的IP地址,192.168.1.2是为客户端调制解调器分配的IP地址。这个文件要具有可执行属性。这时,为了使用ppp守护程序,必须设置相关参数。编辑文件/etc/ppp/options,设置如下内容:  

netmask 255.255.255.0  

proxyarp  

lock  

crtscts  

modem  
---- 其中,proxyarp是最重要的一个选项。它的作用是使拨号客户端可以通过拨号服务器的调制解调器连接Internet。如果去掉proxyarp选项, 则拨号用户就只能在单位局域网中工作了。其余的选项是用来控制调制解调器的。PPP-HOWTO或pppd帮助文件中有更详细的信息。  

---- 接下来是调制解调器的设置。编辑文件/etc/inittab,设置连接在第二个串口的调制解调器如下::  

---- s1:2345:respawn:/sbin/mgetty ttyS1 -D /dev/ttyS1 vt100  

---- 如果调制解调器连接在第一个串口,上面的内容要相应做如下修改:  

---- s0:2345:respawn:/sbin/mgetty ttyS0 -D /dev/ttyS0 vt100  

---- 这时最好运行如下命令来对/etc/inittab文件做语法检查:  

---- #init q  

---- 如果输出信息中没有显示任何错误,就可以进入下一步了。回到/etc/ppp目录下,创建options.ttyS1(如果是COM1, 则为options.ttyS0,其余类推)文件,其内容格式如下:  

---- IP_local: IP_remote  

---- 对于我们在上面的例子中假设的网络,这一行对应为:  

---- 192.168.1.1:192.168.1.2  

---- 这时还应该检查文件/etc/mgetty+sendfax/login.config,其中如下一行最重要,其余都可以用#号注释掉。  

---- /AutoPPP/ - a_ppp /usr/sbin/pppd auth -chap +pap login detach kdebug 7 debug  

---- 我们还需要为PPP守护程序设置SUID属性, 因为pppuser必须运行pppd并访问网络接口设备。运行如下命令。  

---- #chmod u+s /usr/sbin/pppd  

---- 这时,可以使用命令"ls -l /usr/sbin/pppd"进行检查,如果得到类似如下的输出,就说明改动生效了。  

---- rwsr-xr-x 1 root root 106892 Jan 11 1999 /usr/sbin/pppd  

---- 建议您将它加入cron表,因为重新启动服务器后pppd的优先权可能会改变。另外,由于拨号服务器将承担路由器的工作,我们必须启用IP转发。将下面一行加入文件/etc/rc.d/rc.local中。  

---- echo 1 > /proc/sys/net/ipv4/ip_forward  

---- 在这里,如果您使用RedHat,可以在文件/etc/sysconfig/network中将FORWARD_IPV4的值由false改为true,也能达到同样的效果。  

---- 如果是使用Linux客户端拨号,我们通常使用脚本来完成这个工作,对于Windows系统要在拨号设置时选中"连接后弹出终端窗口"选项。  

---- 最后,我们以pppuser的身份登录。  

三、请Linux"回电"  

---- 如果前面步骤顺利完成,我们已经可以向Linux服务器拨号了。接下来就是回叫的设置。为此,我们只需要修改两个文件。首先创建一个空文件/etc/mgetty+sendfax/callback.conf。运行如下命令:  

---- #touch /etc/mgetty+sendfax/callback.conf  

---- 为了回叫,必须从用户那里得到电话号码,也就是记录下拨入的号码。为此,首先需要编辑文件/etc/mgetty+sendfax/login.conf, 加入如下一行:  

---- call - - /usr/sbin/callback - S 123456  

---- 这里的"call"是一个虚拟用户,用来初始化连接。这一行的作用是启动回叫程序, 呼叫指定的号码。本例中的号码是123456。同样的过程也适用于其他用户。当我们呼叫服务器时,我们以虚拟用户登录,通过身份确认。然后,客户机的的脚本将连接挂断,回叫程序开始工作。客户端pppuser的账号和口令再次进行身份确认,随后连接就绪。  

---- 拨号客户端的配置也比较简单。如果客户端使用Windows,我们必须为你的号码安装拨号程序. 在调制解调器的属性中找到"扩展属性"*"额外选项",加入如下命令:  

---- &c0s0=1  

---- 随后就可以按照上述说明拨号了。如果使用Linux客户端, 通常需要使用脚本来进行拨号。除了脚本配置以外,系统的PPP配置也非常重要。  

---- 下面的两份脚本文件分别基于Slackware和RedHat Linux调试通过。您可以参考PPP-HOWTO获得关于在Linux如何书写脚本的详细信息.  

---- 1.基于Slackware的脚本。  

---- 首先是pppd的配置文件(以COM2的调制解调器为例)/etc/ppp/options。  

lock  
defaultroute  
noipdefault  
modem  
/dev/cua1  
33600  
crtscts  
debug  
passive  
asyncmap 0  
and the specific scripts  
the first named /etc/ppp/ppp-call  
#!/bin/bash  
teksta="Connection failed"  
tekstb="Probably, You will be connect"  
# /sbin/setserial /dev/cua1 spd_vhi  
killall -INT pppd 2>/dev/null  
rm -f /var/lock/LCK* /var/run/ppp*.pid  
(/usr/sbin/pppd -detach /dev/ttyS1 115200 \  
connect "/usr/sbin/chat -v -f /etc/ppp/pppcallback" &) || \  
(echo $teksta; ls marsss >/dev/null; exit 1)  
echo $tekstb  
exit 0  
第二个文件是/etc/ppp/pppcallback:  
TIMEOUT 60  
ABORT 'ERROR'  
ABORT 'BUSY'  
ABORT 'NO ANSWER'  
ABORT 'NO DIALTONE'  
ABORT '\nVOICE\r'  
ABORT '\nRINGING\r\n\r\  
nRINGING\r'  
'' AT&FH0 < p >'OK-+++\c-OK' 'AT&C0S0=1'  
TIMEOUT 75  
OK ATDT123456  
CONNECT ''  
ogingin: ppp_pseudouser  
'\nNO CARRIER\r' ''  
TIMEOUT 180  
'\nRING\r' AT&C1A  
CONNECT ''  
TIMEOUT 20  
ogingin: pppuser  
sword:-sword password_  
for_pppuser  
现在即可运行ppp-call了。  
2.基于RedHat的配置脚本。  
首先是/etc/ppp/options。  
lock  
defaultroute  
noipdefault  
modem  
33600  
crtscts  
debug  
passive  
asyncmap 0  
然后是/etc/ppp/pppcallback。  
TIMEOUT 5  
ABORT 'ERROR'  
ABORT 'BUSY'  
ABORT 'NO ANSWER'  
ABORT 'NO DIALTONE'  
ABORT '\nVOICE\r'  
ABORT '\nRINGING\r\n\  
r\nRINGING\r'  
'' AT&FH0 'OK-+++\c-OK' 'AT&C0S0=1'  
TIMEOUT 40  
OK ATDT5376443 CONNECT ''  
ogingin: ppp-pseudo-user  
'\nNO CARRIER\r' ''  
TIMEOUT 180  
'\nRING\r' AT&C1A  
CONNECT ''  
TIMEOUT 20  
ogingin: pppuser  
sword:-sword password_  
for_ppuser  
/usr/bin/ppp-call  
#!/bin/bash  
teksta="Connection failed"  
tekstb="Probably, You will be connect"  
# /sbin/setserial /dev/cua1 spd_vhi  
killall -INT pppd 2>/dev/null  
rm -f /var/lock/LCK* /var/run/ppp*.pid  
(/usr/sbin/pppd -detach call ppp_call &) || \  
(echo $teksta; ls marsss >/dev/null; exit 1)  
echo $tekstb  
exit 0  
编辑完成后,就可以使用ppp-call了。  
您使用Microsoft Windows系统,可以使用下面的脚本进行连接。  
proc main  
delay 1  
waitfor ogin:  
transmit call^M  
waitfor RINGtransmit ATA^Mwaitfor "CONNECTwaitfor ogin:  
transmit pppuser^M  
waitfor word:  
transmit ppp^M  
endproc  

四、小结  

---- 回叫本身的配置并不复杂,最重要的是在Linux上正确配置PPP服务器,本文描述的配置方法是经过多次试验总结出来的,但决不是一成不变的,我建议您阅读与其相关的文档, 譬如pppd手册、 NET4-HOWTO、PPP-HOWTO等,结合实践总结出自己的方法。这也正是使用Linux的乐趣所在。  


     打印本文 |  推荐朋友 |  收藏文章 |  关闭窗口
 
 

    相关文章

  Linux中的十个“快速”    (2001年9月11日)

  如何备份UNIX系统    (2001年8月21日)

  红旗Linux中LILO的配置    (2001年8月20日)

  Linux网络驱动程序编写    (2001年7月19日)

  Red Hat Linux 7.1安装指南(二)    (2001年7月16日)

  Red Hat Linux 7.1安装指南    (2001年7月16日)

  linux防火墙实现技术比较    (2001年7月10日)

  linux下糟糕的异常处理方式    (2001年7月10日)



 
 


 

关于统一 | 联系合作 | 统一作品 | 版权申明 | 建站服务 | 更多说明
Copyright 2000-2003 Tongyi All rights reserved. Powered by 统一视觉

 herogl 回复于:2003-09-01 15:43:33
或者可以参考:
http://www.itdats.com/education/SoftView.asp?SoftID=98

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网