[チュートリアル] 華南理工大学キャンパスネットワークログインパケットキャプチャとプロトコルシミュレーション

毎回手動でログインするのは非常に面倒ですし、時々中断されるので、スクリプトを作成して定期的に監視し、切断して再接続する方が便利です。このスクリプトの書き方についてはここでは説明しませんが、ログイン時のパケット キャプチャの内容のみを記録します。

心配しないで、すぐに分析に進みましょう。複雑ではないので、誰でも一目で理解できると思います。

目次

パケットキャプチャ分析

郵便配達員テストのリクエスト

Pythonシミュレーション


パケットキャプチャ分析

オフィスエリアネットワークのログインアドレス:https ://172.25.31.129:9444/

Base64 エンコードについては、こちらを参照してください: Base64 オンライン エンコードとデコード | Base64 暗号化と復号化 - Base64.us

主な情報を抽出します。

请求 URL:
https://172.25.31.129:9444/byod/byodrs/login/defaultLogin

请求方法:
POST

请求头:
cookie=testcookie=yes; userip=分给你的IP,连上WiFi就会给你

请求负载:(为方便展示,实际请求时候不要有空格或者换行)
{
    "username":"你的学号",
    "userPassword":"登录密码并使用base64编码",
    "serviceSuffixId":"-1",
    "dynamicPwdAuth":false,
    "code":"",
    "codeTime":"",
    "validateCode":"",
    "licenseCode":"",
    "userGroupId":0,
    "validationType":0,
    "guestManagerId":0,
    "shopIdE":null,
    "wlannasid":null
}

郵便配達員テストのリクエスト

Pythonシミュレーション

import requests
import socket

def get_local_ip():
    ip_address = ''
    try:
        hostname = socket.gethostname()
        ip_address = socket.gethostbyname(hostname)
    except:
        pass
    return ip_address


url = r'https://172.25.31.129:9444/byod/byodrs/login/defaultLogin'
data = {"userName":"学号","userPassword":"密码的base64编码","serviceSuffixId":"-1","dynamicPwdAuth":False,"code":"","codeTime":"","validateCode":"","licenseCode":"","userGroupId":0,"validationType":0,"guestManagerId":0,"shopIdE":None,"wlannasid":None}
headers = {"cookie":"testcookie=yes; userip="+get_local_ip()}


res = requests.post(url, json=data, headers=headers, verify=False).text
print(res)

おすすめ

転載: blog.csdn.net/sxf1061700625/article/details/132392523