实战Python一分钟实现0.1秒登录校园网

 目录

思路

一、抓包

二、一键生成请求

 三、脚本完善

1.引入库

2.更改数据

总结


思路

python发送直接登录请求,避免web登录认证浪费时间


一、抓包

登录校园网时可以利用浏览器自带的开发人员工具,F12打开以后可以看到图中这些功能,现在我们利用到的是网络功能。

点击黑色的小圆点,红色为激活抓包,黑色为关闭抓包。

关闭状态

开启状态 

 打开某校登录认证系统,并确保网络抓包激活,进行登录。

这时我们可以在 网络 中接收到登录请求所用到的流量包

 此时,我们发现一共有三条数据,我们逐条检查,寻找刚刚输入的账号密码

 在这一条中就找到了关键词,里面有我们所输入的123 123的账号密码,都是没有加密的,很容易就可以找到。

右键单击他,选择复制为cURL(bash)

curl 'http://10.11.0.10:801/eportal/portal/login?callback=dr1042&login_method=1&user_account=%2C0%2C123&user_password=123&wlan_user_ip=10.90.106.254&wlan_user_ipv6=&wlan_user_mac=000000000000&wlan_ac_ip=&wlan_ac_name=&jsVersion=4.1.3&terminal_type=1&lang=zh-cn&v=5458&lang=zh' \
  -H 'Connection: keep-alive' \
  -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36' \
  -H 'Accept: */*' \
  -H 'Referer: http://10.11.0.10/a79.htm' \
  -H 'Accept-Language: zh-CN,zh;q=0.9' \
  --compressed \
  --insecure

 复制出来是这样子的

二、一键生成请求

我们需要用到一个黑科技网站:

Convert curl commands to Python

这个网站可以帮助你将上面得到的bash 一键生成python 等语言的请求脚本

 将他生成的复制出来,扔到python里面

 三、脚本完善

1.引入库

#import requests由于上面生成的脚本里面已经有引入过requests模块了,这里就不用再引入了。
import socket

2.更改数据

代码如下:

socket.gethostbyname(socket.gethostname()))

只需要修改这个位置就可以了

这个位置是你登录的IP地址,因为每次获取的IP是动态的,所以要实时更改登录IP。

这里我们用了socket模块来获取本地IP地址,你也可以用其他模块来代替,可以获取IP就行了。


总结

完整代码:

import requests
import socket
headers = {
    'Connection': 'keep-alive',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36',
    'Accept': '*/*',
    'Referer': 'http://10.11.0.10/a79.htm',
    'Accept-Language': 'zh-CN,zh;q=0.9',
}

params = [
    ('callback', 'dr6673'),
    ('login_method', '1'),
    ('user_account', ',0,123@cmcc'),#账号
    ('user_password', '123'),#密码
    ('wlan_user_ip', socket.gethostbyname(socket.gethostname())),
    ('wlan_user_ipv6', ''),
    ('wlan_user_mac', '000000000000'),
    ('wlan_ac_ip', ''),
    ('wlan_ac_name', ''),
    ('jsVersion', '4.1.3'),
    ('terminal_type', '1'),
    ('lang', 'zh-cn'),
    ('v', '5841'),
    ('lang', 'zh'),
]
response = requests.get('http://10.11.0.10:801/eportal/portal/login', params=params, headers=headers, verify=False)
print(response.content.decode())

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值