一道面试题

【试题】
这是一个脚本试题
 

为了定时检测服务器状态 需要有一个可以定时运行的脚本,此脚本运行在Linux服务器环境下 可以检测http://lonlife.net/lonlife.xml页面内所有的服务器状态,目前配置为每10分钟检测一次 服务器分三种


第一种种是socks5代理的 端口通常为443或53 比如 这里面port为端口 host为服务器地址

第二种是snt 此业务在linux下 无客户端 所以不用检测了 端口为80

第三种是open 在栏内

只要检测 第一 和 第三种 就行了

要求先提取lonlife.xml内的服务器列表再进行检测

检测方法是 找到linux下的socks5与open的客户端软件,搜索"socks5 linux client"或"open linux client"会找到

对lonlife.xml内所有的服务器地址与端口进行连接 连接成功后访问www.123cha.com或www.ip138.com 如果能正常访问则表示服务正常 记录日志 如果检测的服务器不正常 则发邮件至[email protected] 并记录日志

open的证书 可以在这里下载 www.lonlife.net/down 下载的客户端里有 配置文件则请将lonlife.xml内flag中内容进行base64反编译即可获得

测试用的用户名密码为 lontestt 加密后密码为d89f3c83 (加密后的密码仅用于登陆第三方客户端 即非lonlife加速器客户端)

Windows版本测试客户端 http://lonlife.net/files/s5.rar 下载后运行 SuperSocks5Cap_RunAsAdmin.exe 即可打开 此时可以点"配置"对代理进行配置 可以修改账号密码 连接的服务器地址与端口 也可以直接点击"代理所有新进程(排除)运行的进程" 点击后代理就生效了 先关闭所有的浏览器 再重新打开 然后可以打开www.ip138.com或www.123cha.com 可以看到已经变成代理服务器的ip地址了 证明代理生效了。

这个脚本我们的sa在8小时内完成 所以要求应试人员在8小时内完成 如果能写出来 超过8小时也行

 

socks5和open检测没有做

 

#!/bin/bash

wget http://lonlife.net/lonlife.xml
if [ $? = 1 ];then
echo "get failied ! exit "
exit 1
fi

file=./lonlife.xml
temp_file=./.temp_file
i=1    #line_num
flag=0 #注释标识
rm -f $temp_file

#提取服务器列表 name,host,port
cat $file | while read line
do
#echo "$i:$line"
#判断是否被注释
if [ $flag = 1 ];then
	if echo "x$line" | grep -q "x-->";then
		flag=0
		let "i = $i + 1"
		continue
	else
		let "i = $i + 1"
		continue
	fi
fi

if echo "$line" | grep -q "
                    

你可能感兴趣的:(linux,shell,引号,单引号,反引号简介)