用脚本控制普通路由器:curl
来源:互联网 发布:临沂淘宝拍照详情制作 编辑:程序博客网 时间:2024/05/17 23:19
Which can control your tp-link router automatically.
适用于无人值守,管理不便但已知路由器管理权限的情况,实现由远程主机对路由器(普联、水星等)配置进行修改(打开端口映射,静态地址等)。
1.获取GET请求:
连接路由器,进页面,点“保存”,GET请求暴露无遗。
Copy as cURL(bash):
curl 'http://192.168.1.1/userRpm/WlanNetworkRpm.htm?ssid1=guanlixi&wlMode=2&channel=0&mode=5&chanWidth=2&ap=1&broadcast=2&brlssid=&brlbssid=&keytype=1&wepindex=1&authtype=1&keytext=&Save=%B1%A3+%B4%E6' -H 'Authorization: Basic YWRtaW46YWRtaW4=' -H 'Accept-Encoding: gzip, deflate, sdch' -H 'Accept-Language: zh-CN,zh;q=0.8' -H 'Upgrade-Insecure-Requests: 1' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' -H 'Referer: http://192.168.1.1/userRpm/WlanNetworkRpm.htm' -H 'Connection: keep-alive' --compressed
(之前不知道Chrome有这么一个功能Copy as cURL,当然,也可以直接在右下角抄些头部信息来写脚本。)
整理后:
#!/bin/bash# WiFi SW# Test device: TP-Link 740# Client: Ubuntu 12.04# Browser: Mozilla firefoxexec(){curl -H "Host: 192.168.1.1" \ -H "Authorization: Basic%20YWRtaW46MTIzNDU2Cg==" \ -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" \ -H "Accept-Language: en-US,en;q=0.5" \ -H "Accept-Encoding: gzip, deflate" \ -A "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0" \ -e "http://192.168.1.1/userRpm/WlanNetworkRpm.htm" \ "http://192.169.1.1/userRpm/WlanNetworkRpm.htm?ssid1=Hope_2&wlMode=2&channel=0&mode=5&chanWidth=2$1&broadcast=2&brlssid=&brlbssid=&detctwds=1&keytype=1&wepindex=1&keytext=&Save=%B1%A3+%B4%E6" >> /dev/null}AP1="&ap=1"read -p "Wifi enable?[y/n]" SWcase $SW in y)exec $AP1 ;;& n)exec ;;&esac
2.curl参数
-A/–user-agent 设置用户代理(客户端信息)
-H/–header 自定义头信息(header)
-e/–referer 来源网址
3.关于登录验证
用户名、密码包含于每次请求的头部参数中并进行了base64加密:
Authorization:Basic%20YWRtaW46MTIzNDU2Cg==
其中,%20 代表一个空格,从后面的字符串开始解:
pi@RAS:~/tplink $ echo "YWRtaW46MTIzNDU2Cg==" | base64 -dadmin:123456#用户名:密码
4.关于中文乱码
加入 iconv -f gb2312 -t utf-8iconv -f gb2312 -t utf-8
pi@RAS:~/tplink $ ./status_virtual_server | iconv -f gb2312 -t utf-8iconv -f gb2312 -t utf-8
5.拓展
#!/bin/bash# 12306 Ticketcurl -H "Host: kyfw.12306.cn" \ -H "Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3" \ -H "Accept-Encoding: gzip, deflate" \ -H "Cache-Control: no-cache" \ -A "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0" \ -e "https://kyfw.12306.cn/otn/lcxxcx/init" \ -k "https://kyfw.12306.cn/otn/lcxxcx/query?purpose_codes=ADULT&queryDate=2016-09-13&from_station=WHN&to_station=OTQ" \ | jq '.'
6.工具集
站长工具之URL编码解码
站长工具之Base64加密解密
鸣谢
curl命令伪装http_referer和user-agent访问
curl为何不生效呢?
php实现登录tplink WR882N获取IP和重启
几种在Linux下查询外网IP的办法
0 0
- 用脚本控制普通路由器:curl
- 用curl控制hudson
- 普通路由器配置ipv6
- 用 curl 和 scsh 编写 web 脚本
- 路由器IP限速控制
- 花生壳远程控制路由器
- 远程控制路由器
- 普通应用控制待机
- 利用CURL定时重启无线路由器
- 手把手教你将普通wifi路由器变为智能广告路由器
- 把普通路由器扩展为WIFI广告路由器
- 用PHP命令行控制脚本
- 用PHP命令行控制脚本
- 网通升级成pppoe拔号方式用普通路由器共享上网的方法
- 控制脚本
- 路由器基本配置命令脚本
- 路由器定时重启脚本
- shell 脚本之 curl 请求
- 三种经典的递归-java
- RedisCluster 安装
- hadoop2
- 怎么让mac终端输入python默认打开python3
- POJ 2932 Coneology (平面扫描)
- 用脚本控制普通路由器:curl
- [Microsoft][ODBC Microsoft Access Driver] FROM 子句语法错误。
- DefaultMessageListenerContainer
- CodeFirst
- poj 1703
- SpringMVC简单构造restful, 并返回json
- DBCP连接池配置参数说明
- erase
- 判断一个数是否是2的整数次幂