一道面试题
来源:互联网 发布:端口范围1 65535 编辑:程序博客网 时间:2024/06/14 02:57
【试题】
这是一个脚本试题
为了定时检测服务器状态 需要有一个可以定时运行的脚本,此脚本运行在Linux服务器环境下 可以检测http://lonlife.net/lonlife.xml页面内所有的服务器状态,目前配置为每10分钟检测一次 服务器分三种
第一种种是socks5代理的 端口通常为443或53 比如 这里面port为端口 host为服务器地址
第二种是snt 此业务在linux下 无客户端 所以不用检测了 端口为80
第三种是openvpn 在栏内
只要检测 第一 和 第三种 就行了
要求先提取lonlife.xml内的服务器列表再进行检测
检测方法是 找到linux下的socks5与openvpn的客户端软件,搜索"socks5 linux client"或"openvpn linux client"会找到
对lonlife.xml内所有的服务器地址与端口进行连接 连接成功后访问www.123cha.com或www.ip138.com 如果能正常访问则表示服务正常 记录日志 如果检测的服务器不正常 则发邮件至tech@lonlife.net 并记录日志
openvpn的证书 可以在这里下载 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和openvpn检测没有做
#!/bin/bashwget http://lonlife.net/lonlife.xmlif [ $? = 1 ];thenecho "get failied ! exit "exit 1fifile=./lonlife.xmltemp_file=./.temp_filei=1 #line_numflag=0 #注释标识rm -f $temp_file#提取服务器列表 name,host,portcat $file | while read linedo#echo "$i:$line"#判断是否被注释if [ $flag = 1 ];thenif echo "x$line" | grep -q "x-->";thenflag=0let "i = $i + 1"continueelselet "i = $i + 1"continuefifiif echo "$line" | grep -q "<!--";thenflag=1let "i = $i + 1"continuefiecho $line|grep server|grep host|grep port >/dev/nullif [ $? = 0 ];then#echo "$i:$line"echo "$line" | awk 'BEGIN{FS="[\" =]";OFS=",";} {print $4,$8,$12}' >>$temp_filefilet "i = $i + 1"donesocks5_check(){echo "socks5 $1 $2 $3"#test command}openvpn_check(){echo "openvp $1 $2 $3"#test command}#连接并测试cat $temp_file |while read linedoname=`echo "$line" |awk -F',' '{print $1}'`host=`echo "$line" |awk -F',' '{print $2}'`port=`echo "$line" |awk -F',' '{print $3}'`#echo $name $port $hostif [ $port = 443 -o $port = 53 ];thensocks5_check $name $host $portelif [ $port = 80 ];thencontinueelseopenvpn_check $name $host $portfidone
0 0
- 一道微软面试题
- 一道面试题
- 华为一道面试题
- 一道面试题
- 一道面试题
- 一道sql面试题
- 一道面试题
- 一道面试题
- 一道华为面试题
- 一道面试题
- 一道微软面试题
- 一道c++面试题
- 一道sql面试题
- 关于一道面试题
- 一道面试题
- 一道microsoft面试题
- 一道javascript面试题
- 一道面试题
- 无公网一样实现个人电脑做WEB服务器的方法
- 多字节与unicode
- 霍纳法则(Horner's rule)
- apache禁止访问某些文件或目录的方法
- Struts2+Hibernate3.2+Spring的整合配置(包的配置)
- 一道面试题
- 项目启动报错
- 基于高斯算法 CSDN挑战编程题自己尝试的设计思路
- Android有用处理代码集锦-----Sdcard相关
- C# 创建年、月、周、日TreeView
- Java静态内部类
- oracle创建索引
- GitHub上最火的74个Android开源项目
- sbt安装