CMCC自动登录脚本
Tofloor
poster avatar
Coollove
deepin
2012-07-24 16:32
Author
OpenWrt山东移动WLAN自动登录脚本 - OpenWrt CMCC Shandong WLAN Relogin Script
  1. #!/bin/sh
  2. ##山东移动CMCC WLAN认证的脚本.
  3. ##与随e行客户端不兼容?? 通过sniffer(eg: HTTP Analyzer/HttpWatch/Wireshark/etc.)抓包得来认证交互流程, 改写成wget/curl命令即可.
  4. ##其他不兼容省份, 其他运营商的Portal认证, 只要没有CAPTHA, 也应可依法炮制.
  5. ##Tested on WGT634U with OpenWrt Backfire 10.03.1 rc6
  6. ##firewall script for initial login
  7. #echo "/root/relogin2.sh >/tmp/relogin2.log" >> /etc/firewall.user
  8. ##cronjob for keepalive and auto relogin (range(-) not supported on OpenWrt??)
  9. ##/etc/init.d/cron reload
  10. ## m h  dom mon dow   command
  11. #*/3 * * * * killall wget;wget http://hi.baidu.com/myeyre/blog/item/bb5470cfa42c2637f9dc613b.html -O /dev/null >/tmp/keepalive.log 2>&1 &
  12. #0 */6 * * * /root/relogin2.sh >/tmp/relogin2.log 2>&1 &
  13. export PATH=.:$PATH
  14. cd /root
  15. date "+%Y-%m-%d %H:%M:%S"
  16. #Fake UA should be better ;)
  17. user_agent="Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)"
  18. ##uci set network.wwan.username=13888888888
  19. ##uci set network.wwan.password=888888
  20. ##uci commit
  21. bpssUSERNAME=$(uci get network.wwan.username)
  22. bpssBUSPWD=$(uci get network.wwan.password)
  23. #echo $bpssUSERNAME $bpssBUSPWD
  24. #山东移动的CMCC Portal与其他省份的不同, 首次登陆地址中除了USERIP和ACNAME, 还有额外的参数(非必须??), 已登陆重新登陆会报错(??), 因此不能方便的通过重复登陆获取下线需要的参数.
  25. #此处若不存在登陆结果页面, 则跳过登出步骤; 即使存在, 也可能是过时的(但似乎可以正常下线??), 所以此脚本不能和其他登陆方式混用(比如浏览器登陆后此脚本就不起作用).
  26. #由于DD-WRT(preSP2 r14929 mini), OpenWrt(Backfire 10.03.1 rc6)内置的精简版wget不支持跳转, https等特性, 可能需要安装全尺寸的wget(-ssl, 或curl)
  27. #opkg update
  28. #opkg install wget #curl
  29. if [ -e login_res.html ]
  30. then
  31. base_url=$(cat login_res.html|grep "base href"|awk -F'"' '{print $2}')
  32. logout_url1=$(cat login_res.html|grep "LogoutServlet"|awk -F'"' '{print $2}')
  33. logout_url2=$(cat login_res.html|grep "ATTRIBUTE_UUID"|awk -F'"' '{print $2}')
  34. logout_url3=$(cat login_res.html|grep "ATTRIBUTE_IPADDRESS"|awk -F'"' '{print $2}')
  35. #echo "${base_url}${logout_url1}${logout_url2}${logout_url3}1"
  36. #logout_res
  37. wget "${base_url}${logout_url1}${logout_url2}${logout_url3}1" -O logout_res.html -U "${user_agent}" --no-check-certificate
  38. cat logout_res.html
  39. fi
  40. #下班后不再登陆
  41. if [ `date "+%H"` -gt 18 -o -e nologin ]
  42. then
  43. echo "Off duty. No login until 8:00 next weekday."
  44. exit
  45. fi
  46. #login_pre
  47. wget "http://www.google.com/" -O login_pre.html -U "${user_agent}"
  48. action_url=$(cat login_pre.html|grep "form action"|awk -F'"' '{print $2}'|head -1)
  49. wlanuserip_1=$(cat login_pre.html|grep "wlanuserip_1"|awk -F'"' '{print $8}'|head -1)
  50. wlanacname_1=$(cat login_pre.html|grep "wlanacname_1"|awk -F'"' '{print $8}'|head -1)
  51. wlanparameter_1=$(cat login_pre.html|grep "wlanparameter_1"|awk -F'"' '{print $8}'|head -1)
  52. #echo ${action_url}
  53. #echo ${wlanuserip_1} ${wlanacname_1} ${wlanparameter_1}
  54. ##login_res, post
  55. #wget "${action_url}" -O login_res.html -U "${user_agent}" --no-check-certificate \
  56. #--post-data="bpssUSERNAME=${bpssUSERNAME}&bpssBUSPWD=${bpssBUSPWD}&wlanuserip_1=${wlanuserip_1}&wlanacname_1=${wlanacname_1}&wlanparameter_1=${wlanparameter_1}&wlanuserfirsturl_1=http://www.google.com/&ssid_1=&userAgent_1=${user_agent}&usertype_1=pc&gotopage_1=/cmccpc.jsp&css_1=/css/cmccpc_include.css&sucesspage_1=/cmccpc_index.jsp&cookieage=1&loginmode=static&wlanacssid=&issaveinfo="
  57. ##get is fine
  58. wget "${action_url}?bpssUSERNAME=${bpssUSERNAME}&bpssBUSPWD=${bpssBUSPWD}&wlanuserip_1=${wlanuserip_1}&wlanacname_1=${wlanacname_1}&wlanparameter_1=${wlanparameter_1}&wlanuserfirsturl_1=http://www.google.com/&ssid_1=&userAgent_1=${user_agent}&usertype_1=pc&gotopage_1=/cmccpc.jsp&css_1=/css/cmccpc_include.css&sucesspage_1=/cmccpc_index.jsp&cookieage=1&loginmode=static&wlanacssid=&issaveinfo=" -O login_res.html -U "${user_agent}" --no-check-certificate
  59. grep "loginsuccess" login_res.html
  60. date "+%Y-%m-%d %H:%M:%S"
Copy the Code
Reply Favorite View the author
All Replies
tuhaihe
deepin
2012-07-24 18:35
#1
Reply View the author