CHEETAH_FORM — the Cheetah login form

The managed switches’ web UI. A plain HTML form: username and password posted in the clear to /base/cheetah_login.html, answered with a session cookie. No nonce, no hashing.

Switches

Switch

HTML dialect

Reached over

Login path

Fields

Session

gsm7228ps

S3300

HTTP

/base/cheetah_login.html

uname, pwd

cookie, SID

gsm7252ps

XE_FASTPATH

HTTP

/base/cheetah_login.html

uname, pwd

cookie, SID

Two dialects on one login

gsm7252ps and gsm7228ps log in identically and then serve the same Cheetah XE page grid, so both reuse the parse_xe_* parsers for ports, statistics, PVIDs, VLANs, PoE and LLDP.

They are separate dialects because two pages on the S3300 genuinely differ: its MAC table, with shifted columns and escaped 1/gN port names, and its sensor page. Everything else is shared.

The XUI shape worth knowing

These pages carry two <FORM> elements, and the interesting fields are not always the visible ones. Two consequences:

Errors arrive with HTTP 200. A write that “succeeded” by status code may have failed in the body, so the library reads the body’s status fields rather than trusting the response code.

A write must replay the whole form, including hidden and list-navigation fields. This is where “the GSM7252PS refuses PoE writes over HTTP” came from — it was not firmware. The form needs a list-unit field (v_1_1_1) that the writer was not sending. With it, PoE writes apply cleanly.

It is the exact failure mode this project treats as a bug in our own code until proven otherwise: the firmware rejects a missing field in a way that looks indistinguishable from a device limitation.

Pages

Page

gsm7228ps

gsm7252ps

Dashboard / port status

/portsConfiguration.html

/portsConfiguration.html

Port statistics

/portStatistics.html

/portStatistics.html

PoE status

/poeInterfaceConfiguration.html

/poeInterfaceConfiguration.html

PoE configuration

/poeInterfaceConfiguration.html

/poeInterfaceConfiguration.html

VLAN configuration

/vlanStatus.html

/vlanStatus.html

VLAN membership

/switching/dot1q/vlan_port_cfg.html

/switching/dot1q/vlan_port_cfg.html

PVIDs

/portPvidConfiguration.html

/portPvidConfiguration.html

MAC / FDB table

/basicAddressTable.html

/basicAddressTable.html

LLDP neighbours

/lldpRemoteInventory.html

/lldpRemoteInventory.html

System info

/base/system/management/sysInfo.html

/base/system/management/sysInfo.html

Management IP

/ipConfiguration.html

/ipConfiguration.html

Port configuration

/portsConfiguration.html

/portsConfiguration.html

Certificate upload

/http_file_download.html/a1

—

Certificate upload

Both models accept an HTTPS certificate through this UI, and the S3300’s flow is grounded in a working prior implementation rather than inferred. See upload_certificate().

API