用Python管理TL-WR886N无线路由器后台

花了两天的时间大致写好了,大部分功能都有,下面说一说我的思路

  1. 登录实现

    简单来说,登录的过程分下面几步

    1)用户输入密码点击登录按钮或触发JS

    2)JS将用户密码加密成密文发送给路由器

  {"method":"do","login":{"password":"xHVQ3wiBpTefbwK"}}

3)路由器判断密码正确否,如果正确则返回:

  {"error_code":0, "stok":"%28sq14xBVxEKPg%2EF4%3Ey%3C%2AGif%7EhrDBgR%21r"}

否则:

  {"error_code":-40401, "data":{"code":-40401,"time":19,"group":0}}

命令执行由上面可知密码实在前端加密的通过抓包可以看出,浏览器向路由器发送命令都是类似Json的格式的数据如获取AP信息:{"guest_network":{"name":"guest_2g"},"method":"get"}路由器返回也是Json{"guest_network":{"guest_2g":{"ssid":"TPGuest_94D3","encrypt":"0","key":"12345667","enable":"0","accright":"1","upload":"0","download":"0","time_limit":"1","limit_type":"schedule","duration":"0","seccheck":"0"}},"error_code":0}浏览器抓包

从上图可以看出当认证通过后浏览器每发送一个消息的URL都是http://GW/stok=xxxxxxx/ds,stok也就是认证通过后路由器返回的

Python实现:

主要模块:requests

requests.post(url,json)

效果:

代码放到github:https://github.com/RJLWTF/python_study-script/blob/master/wriless_route_mange.py

时间: 2024-12-06 11:16:17

用Python管理TL-WR886N无线路由器后台的相关文章

python管理DNS

DNS    检测 NS     对应DNS服务器 SOA    授权哪个服务器可以作为dns服务器 MX     mailexchange 邮件交换记录 A      address CNAME  别名 TXT PTR    反向解析 /etc/hosts 先往根域查找,再往.com域查找,  客户端发起请求,递归 服务器之间是迭代 .根域 递归 迭代 dnsmasq  服务 tcp  不安全网址 udp cp -rp  权限 host   ns.example.com nsupdate ho

多版本python管理pyenv

pyenv安装: https://github.com/yyuu/pyenv#choosing-the-python-version pyenv命令: https://github.com/yyuu/pyenv/blob/master/COMMANDS.md pyenv virtualenv插件安装: https://github.com/yyuu/pyenv-virtualenv pyenv commands Lists all available pyenv commands. 不同pyth

python管理mysql,请叫我雷锋

#!/usr/bin/env python #coding:utf8 import os,sys,glob,time,MySQLdb,re DIRNAME = os.path.dirname(__file__) OPSTOOLS_DIR = os.path.abspath(os.path.join(DIRNAME,'..')) sys.path.append(OPSTOOLS_DIR) from library.mysqlconfig import MySQLDConfig,getMyVaria

linux下的python管理工具

刚开始同步系统的接触python和linux,在昊妹妹的指引下学习了使用python管理工具,希望能够通过不断熟练来学习 1.记录之前先复习以下linux下常用目录 ./  表示当前目录 ~/ 表示home目录 文件夹or文件前加 . 表示隐藏文件夹or文件,ls命令无法查看隐藏文件,需要带参数-a 2.python管理包 python管理工具比较常见的有esay_install和pip,pip好像普遍认为好一点,所以我们用pip,网上找到一段比较两者的 pip was originally w

跟后台打印程序系统服务通讯时出现错误。请打开服务管理单元,确认后台打印程序服务是否在运行。

一: 问题描述: [错误] 事件类型:警告事件来源:TermServDevices事件种类:无事件ID:1114日期:2013-10-16事件:0:06:41用户:N/A计算机:VPS描述:    跟后台打印程序系统服务通讯时出现错误.请打开服务管理单元,确认后台打印程序服务是否在运行.    有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心.数据: 二:问题原图: 三:解决方法: [解决方法一]    出现这个错误,一

python管理包(模块和包的应用)

一.python 管理包(模块和包的应用) 1.1 python管理包 1.1.1 distutils distutils是Python标准库的一部分,这个库的目的是为开发者提供一种方便的打包方式,同时为使用者提供方便的安装方式. 在distutils中描述扩展模块较纯python模块要复杂一些,其中描述扩展模块可以由setup函数的关键字参数ext_modules实现. 1.1.2 setuptools setuptools是对distutils的增强,尤其是引入了包依赖管理. setup脚本

Linux下开发python django程序(设置admin后台管理上传文件)

1.项目创建相关工作参考前面 2.在models.py文件中定义数据库结构 import django.db import modelsclass RegisterUser(models.Model): username=models.CharField(max_length=30) headImg = models.FileField(upload_to='./upload/') def __unicode__(self): return self.username 3.生成数据库 pytho

Linux下开发python django程序(设置admin后台管理模块)

1.新建项目和项目下APP django-admin startproject csvt03 django-admin startapp app1 2.修改settings.py文件 设置默认安装APP INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages

Python学习之——Django项目--后台管理

1.在终端创建用户,如图: 2.修改为中文显示 3.启动服务 (venv) C:\Software\pycharm\workspace\studyDjango>python manage.py runserver 44444 Watching for file changes with StatReloader Performing system checks... System check identified no issues (0 silenced). May 25, 2019 - 10