南京联创web认证攻略fttb+lan

由 藕节 在 08-22-2003 16:42 发表:

南京联创web认证攻略fttb+lan

首先,感谢zest在这期间给予的帮助,要是没有他,这个linux上网的问题肯定解决不了。

现在切入正题,我们这儿使用的联创的web认证,认证页面index.jsp无法下载下来,也就不能用whz81兄提供的上网方法了。

我们这儿上网通过了两次dhcp,一次是机器启动时分得的192.168.4.*的局域网ip,然后通过web认证,可获取有效上网ip,认证结束后弹出的aps.exe常驻右下角系统栏负责计时和想网关发送keep-alive包

首先在windows正常上网,用ethereal 抓取上网认证的数据包和keep alive包(此过程不要开其他任何能发送网络数据包的程序),经过zest分析,keep alive包的内容为本机ip+16进制MAC地址,且客户端每30秒向网关发送一次

zest原文如下:

UDP 协议的包

特征如下:

  • client 每 30 秒钟与 server 通讯一次

  • server ip: 219.219.36.1 port: 8002

  • client 发送的包中,data 为 10 byte,内容是 你的ip + 你的mac. 16进制

  • server 收到后,给你发送 data 同样内容的包。

于是,我们可以用python脚本自己构造一个keep alive包发送程序,每30秒发送一次keep alive包

原脚本由zest收集,本人根据情况稍作修改,代码如下:

#! /usr/bin/env python

Filename: send.py

"""

client

It sends out an UDP packet every 30 seconds

Please adjust the constant parameters as needed

"""

from socket import socket, AF_INET, SOCK_DGRAM,inet_aton

from time import time, ctime, sleep

print "\n##############################################################################\n"

print " linux客户端 CUMT 公网版\n"

print "程序环境Python\n 下载地址: ftp://202.119.199.88/incoming/soft\n说明:\n 本客户端包含两个文件send.sh和 send.py,使用时请直接执行send.sh,\n把ip地址的最后一个字段输入,回车即可\n 使用前请把send.py中的MAC地址改成你自己的网卡的MAC地址"

print "##############################################################################\n"

myip=raw_input("请输入你的ip地址218.3.194.")

myip='218.3.194.'+myip

print "\n你的ip",myip

SERVERIP = '218.3.194.1'

HBPORT = 8002

BEATWAIT = 30

msg=inet_aton(myip)+'\x00\xe0\x4d\x00\x33\xe5' #加号后的单引号内的内容为网卡MAC地址

print ""

#print "client sending to IP %s , port %d" % \

(SERVERIP, HBPORT)

print "\n客户端运行中 ,按 Ctrl-C 终止,\n你现在可以上网了\n"

while 1:

hbsocket = socket(AF_INET, SOCK_DGRAM)

hbsocket.sendto(msg, (SERVERIP, HBPORT))

if debug:

print "Time: %s" % ctime(time())

sleep(BEATWAIT)

另外附send.sh

#!/bin/bash

echo

dhclient eth0

echo

echo " 以上bound to 后的ip地址为你所获得的ip地址,请在下面相应位置填入相应数值"

./send.py

注意,send.py和send.sh要放在同一目录下

1、使用前,请先安装python,下载地址: http://www.python.org/download/

也可到 ftp://202.119.199.88/incoming/soft/homenet下载2.3版的

2、在使用前,请把send.py中的网卡MAC地址部分改成你自己的网卡MAC地址,格式不变

3、如果你是使用多网卡,请把send.sh中的eth0改为相应的连接internet的网卡设备名,相应的把send.py中的网卡MAC地址改成你连接internet的那块网卡的MAC地址

3、登陆web认证主页,按照windows下的情况正常登陆

4、当浏览器中出现“用户登陆中~”时,过3,4秒中后在终端下执行send.sh

按照相关提示完成操作即可。

5、若系统提示”没有权限“,请用命令"chmod +x 文件名"更改文件执行权限

6、若一次登陆不成功,请先用CTRL+C终止客户端程序,用命令dhclient eth0重新获取局域网ip,再从头开始登陆web认证主页重新登陆

至此,成功登陆网络

此程序由两大缺点,一是不能让程序自动获取ip,二是不能让程序自动获取网卡mac地址,若是能将此两项解决,应该是比较完美了


由 zest 在 08-22-2003 17:42 发表:

回复: 南京联创web认证攻略fttb+lan

> quote: > > * * * > > 最初由 藕节 发表
>
> **
>
>
>
> 此程序由两大缺点,一是不能让程序自动获取ip,二是不能让程序自动获取网卡mac地址,若是能将此两项解决,应该是比较完美了 ** > > * * *

好。

解决方法可参考以前的帖子:

http://www.linuxsir.com/bbs/showthr...mp;pagenumber=2


由 藕节 在 08-22-2003 17:49 发表:


感觉不好实现


由 藕节 在 08-22-2003 17:52 发表:


最好是能在python中实现


由 藕节 在 08-22-2003 17:53 发表:


如果能给程序加一个字符认证界面就更好了


由 zest 在 08-22-2003 18:19 发表:


这些都已经实现了。用shell 和 curl 或 python

http://www.linuxsir.com/postnuke/mo...le&sid=1066


由 藕节 在 08-23-2003 17:33 发表:


你给的python认证程序出错了

“ params = urllib.urlencode({'conne

Published At
Categories with 服务器类
Tagged with
comments powered by Disqus