实验室有台闲置的服务器,我一直都想用,但是一直没什么需要,这几天看tensorflow,想拿实验室的服务器练练手。于是开始了
先在自己笔记本的虚拟机里搞好了,发现14.04ubuntuLTS安装tensorflow最简单,直接pip即可,于是我决定在服务器上装个这个版本。
说干就干吧。下载好了镜像,用软碟通刻录到U盘里。然后开始了。第一次装犯了个错误,网卡设置的时候,dhcp失败,我就直接跳出了,这还了得
装完后发现没有网卡,只有一个loop。搞了好久没有设置好。于是拿U盘重新修复一下吧,发现进入到网络设置的部分有个手动设置,大概是这里出问题了
于是自己重新装了一遍,好家伙,又没成功。找了找原因吧。原来第一次下载的是桌面版本,应该下载服务器版本的ubuntu,改吧。
终于改好了。看似一下OK
但是装完了傻眼了,根本没有用户界面啊。没有用户界面我就没法上网啊,没法上网就没法下载
想想办法,怎么装一个桌面吧,习惯了,虽然服务器不应该装ubuntu,更不应该有图形界面,但是自己顺手就好了,别人也不用,先实现了再说吧
新装好的需要配置IP。用原来的那一套192.168.1.1根本不行,最后发现实验室用的是10.5.81.129为gateway的,比较独特吧。于是设置好,鼓捣了好几天,终于Ping通了实验室
的其他机器。
然后需要想一下上网的事情了。学校用的是客户端加网页形式的上网认证。想到可以直接抓包,然后直接来UDP发包。于是用Wireshark直接抓了登录时交互
的包,但是发现好多事是乱码,想到既然有网页版,直接python模拟一个网页不更方便吗,说干就干吧。
网页源码
<form name="form1" method="post" action="" onSubmit="return ee()">
<tr>
<td height="40" width="27%" align="center">
用户名
</td>
<td height="40" width="71%" align="left">
<input type="text" id="username" name="DDDDD" class="input" maxlength="26" /></td>
</tr>
<tr>
<td height="40" width="27%" align="center">
密 码
</td>
<td height="40" width="71%" align="left">
<input type="password" id="password" name="upass" class="input" /></td>
</tr>
<tr>
<td height="40" width="27%" align="left">
</td>
<td height="40" width="71%" align="left">
<input type="checkbox" value="1" name="save_me">记住密码</td>
</tr>
<tr>
<td height="40" width="99%" align="left" colspan="2">
<p align="center">
<input type="submit" name="0MKKey" value="登 录" onclick="Clicked();" class="btn"> <input type="button" name="" value="忘记密码" onClick="post()" class="btn"></td>
</tr>
<input type="hidden" name="v6ip" value="">
<tr>
<td height="40" width="99%" align="left" colspan="2">
</td>
</tr>
<tr>
<td height="40" width="99%" align="left" colspan="2">
<p align="center"><a href="a55.png" class="lightbox_a" title="扫描二维码去下载哆点APP"><img src="a53.png" border="0" align="absmiddle" /></a> <a href="http://www.doctorcom.com/duodian/" target="_blank"><img src="a56.png" border="0" align="absmiddle" /></a></td>
</tr>
</form>
然后在控制台抓了一下,发现确实没有什么蹊跷的。这么着算是思路明确了
开始写python的程序吧
#coding:utf-8
#登录学校校园网
import urllib
import urllib2
url = 'http://192.168.254.251/0.htm'
values = {'DDDDD':'','upass':'','0MKKey':'µÇ+¼','v6ip':''}
data = urllib.urlencode(values)
print data
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
the_page = response.read()
print the_page
遇到的问题:开始以为url这里直接填IP地址。为什么会这么认为呢?以前都是直接填一个网址,然后我猜测直接DNS解析成一个IP。我这里只有个IP不需要解析可咋办啊。想了好久,最后看火狐浏览器上,写着url是这一个,恍然大悟
现在开始将写好的文件传到服务器上吧。怎么做呢?当时用的putty.有简单的命令PuTTY>pscp 源目录 目的目录
但是失败了,host识别的时候出错了。
U盘直接拷贝吧,试了试,umount /dev/sdd /mnt/usb 失败了,说是U盘类型错误。查了查原来需要指定U盘的格式,看到U盘是FAT32,加入 -t vfat即可,但是说我输入的不对
尝试了好几个还不行。这样还是找别的办法吧
换了secureCRT,我记得这个工具直接SZ就可以进行文件的传输,很方便,立马下载下来实验,但是又不行,需要下载包才能使用这命令
咋办呢,找了良久,终于找到方便的办法,secureCRT真是什么功能都有,直接sftp进行传输。
查询一下传输的目录,然后将.py文件拷贝到这里,直接put命令就拷贝过去了。这个问题就这么解决了。
激动人心的时刻到了。python schoolNet.py命令下去后看到成功了。立马试试吧
ping www.baidu.com
出错了又。但是明明上网的脚本显示成功了啊。想到可能是DNS的问题,于是找到百度的IP(ping www.baidu.com就有).然后发现可以ping通,下面就是修改DNS了。