admin管理员组文章数量:1627952
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 firefox
exec(){
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]" SW
case $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 -d
admin: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 Ticket
curl -H "Host: kyfw.12306" \
-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/otn/lcxxcx/init" \
-k "https://kyfw.12306/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的办法
版权声明:本文标题:用脚本控制普通路由器:curl 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1729008802a1182972.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论