Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
pyrmax — Ubiquiti AirMAX वायरलेस प्रोटोकॉल फ़्रेम के लिए डिकोडर/एन्कोडर; pcap/लाइव कैप्चर पार्स करें, डिवाइस खोजें, असुरक्षित फ़र्मवेयर के लिए स्कैन करें, विकृत पैकेट तैयार करें और AirMAX AC/M लक्ष्यों का अनुकरण करें। | Kitploit
उपकरण/GitHubGitHub/infobyte/pyrmax
भेद्यता स्कैनररिवर्स इंजीनियरिंगफज़िंगनेटवर्क सुरक्षावायरलेस सुरक्षा
GitHubinfobyte/pyrmax

pyrmax

Ubiquiti AirMAX वायरलेस प्रोटोकॉल फ़्रेम के लिए डिकोडर/एन्कोडर; pcap/लाइव कैप्चर पार्स करें, डिवाइस खोजें, असुरक्षित फ़र्मवेयर के लिए स्कैन करें, विकृत पैकेट तैयार करें और AirMAX AC/M लक्ष्यों का अनुकरण करें।

रिपॉजिटरी देखें
31251 महीना पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

pyrmax

Ubiquiti AirMAX वायर-प्रोटोकॉल फ्रेम के लिए डिकोडर और एन्कोडर, जो AC (WA फर्मवेयर) और M (XW/XM फर्मवेयर) दोनों श्रृंखलाओं को कवर करता है।

  • क्लियरटेक्स्ट बाहरी हेडरों का डिकोड Kaitai Struct स्कीमाओं द्वारा ksy/ के अंतर्गत संचालित होता है। AC पेलोड (संस्करण-गेटेड, msg_type पर स्विच्ड, डीऑथ XOR-अनमास्क के साथ) ac.py में हस्तलिखित है — वह तर्क पार्स-ओनली Kaitai में फिट नहीं होता।
  • एन्कोड हस्तलिखित है ताकि डीकोड पथ को फ़ील्ड-दर-फ़ील्ड प्रतिबिंबित किया जा सके।

स्थिति

वैरिएंटडीकोडएन्कोडpcap पुनरावृत्ति
AC✅ सभी 5 msg प्रकार (beacon, assoc req/resp, probe req, deauth)✅ बाइट-सटीक व्युत्क्रम + बिल्डर + seal✅
Mआंशिक (9 प्रलेखित बाइट्स; शेष unknown_rest के रूप में)✅ प्रलेखित हेड + unknown_rest का राउंड-ट्रिप✅
Routerboard.com IE (M का सहयोगी)✅ डिवाइस नाम + उप-IE सूचीलागू नहीं✅

AC वायर प्रारूप docs/ac_wire_format.md का अनुसरण करता है ([P]-ubnt_poll_host.ko के विरुद्ध पुष्टि)। सभी AC मल्टी-बाइट पूर्णांक बड़े-एंडियन हैं।

TODO

  • pyrmax.ac.encode(AcPacket) -> bytes — decode() का हस्तलिखित बाइट-सटीक व्युत्क्रम (+ seal(), to_ie(), और build_* कंस्ट्रक्टर)।
  • pyrmax.m.encode(MPacket) -> bytes — M के लिए भी वही (+ build_m, seal, to_ie)।
  • [open] AC फ़ील्ड्स को पिन करें — cap_flags सटीक बिट मैप, mixed_mode, field_14/field_9c (assoc_req), sta_field_68/ic_6b8 (assoc_resp), और deauth enc_token (निकालने योग्य लेकिन इसकी कुंजी अभी तक रिवर्स-इंजीनियर नहीं हुई है, इसलिए इसे सत्यापित नहीं किया जा सकता)। देखें docs/ac_wire_format.md §11-§12।
  • version < 9 AC डिकोडरों को वास्तविक कैप्चर के विरुद्ध सत्यापित करें — TX बिल्डर केवल संस्करण 9 उत्सर्जित करता है, इसलिए निम्न-संस्करण (अटैग्ड नाम, लापता टेल फ़ील्ड) पथ स्पेक से लागू किए गए हैं लेकिन वायर पर असत्यापित हैं।
  • M पेलोड के शेष भाग को रिवर्स-इंजीनियर करें (बाइट्स 9+ unknown_rest में) — वर्तमान में अपारदर्शी।
  • radiotap मेटाडेटा को सतह पर लाएं pcap.FrameMeta पर: चैनल, RSSI, दर। वर्तमान में केवल टाइमस्टैम्प/MAC/BSSID भरे गए हैं।
  • वास्तविक कैप्चर फिक्स्चर tests/samples/ में — वर्तमान में: airmax_ac_beacon.pcap (1 फ्रेम, beacon) और airmax_m_probe_response.pcap (1 फ्रेम, probe response)। अधिक वैरिएंट (assoc req/resp, मल्टी-फ्रेम कैप्चर) अभी भी स्वागत योग्य हैं।
  • पैकेट भेजना — scan (सक्रिय force-assoc) और emulate कमांड scapy के माध्यम से इंजेक्ट करते हैं ([scan] / [emulate] एक्स्ट्रा)। देखें scan.py / emulate.py।

कमांड-लाइन उपकरण

पैकेज एक उप-कमांड संचालित CLI के साथ आता है। इसे इस प्रकार चलाएँ python -m pyrmax COMMAND ...।``` usage: python -m pyrmax [-h] [--version] COMMAND ...

COMMAND parse Print each AirMAX frame in detail. discover Summarize devices observed in the capture. scan Live-scan for AirMAX devices and flag vulnerable firmware. emulate Emulate AirMAX AC/M devices (fake targets for scanners).

`parse` और `discover` **या तो** एक pcap/pcapng फ़ाइल (positional) लेते हैं
**या** `-i / --iface IFACE` के माध्यम से एक लाइव वायरलेस इंटरफ़ेस। ये दोनों
परस्पर अनन्य हैं। `scan` समान स्रोत विकल्प स्वीकार करता है (साथ ही एक
`--active` मोड जो केवल लाइव इंटरफ़ेस पर लागू होता है); `emulate` केवल
लाइव के लिए है।```sh
python -m pyrmax parse     capture.pcap          # offline
python -m pyrmax discover  capture.pcap

sudo python -m pyrmax parse     -i wlan0mon      # live (needs root)
sudo python -m pyrmax discover  -i wlan0mon

लाइव कैप्चर यह मानता है कि इंटरफ़ेस रुचि के चैनल पर पहले से ही मॉनिटर मोड में है — pyrmax इनमें से किसी को भी कॉन्फ़िगर नहीं करता। इसके लिए वैकल्पिक [live] एक्स्ट्रा की आवश्यकता होती है (pip install pyrmax[live]), जो pcapy-ng को शामिल करता है। रोकने के लिए Ctrl-C दबाएँ: parse बताता है कि उसने कितने फ्रेम स्ट्रीम किए; discover बाहर निकलने पर एकत्रित डिवाइस सारांश प्रिंट करता है।

निकास कोड (दोनों कमांड और दोनों स्रोत मोड द्वारा साझा): 0 सफलता पर (जिसमें "no AirMAX frames" — एक वैध परिणाम शामिल है), 1 कैप्चर-प्रारूप त्रुटियों के लिए (गलत लिंक प्रकार, दूषित फ़ाइल, इंटरफ़ेस नहीं खोल सकता), 2 लापता फ़ाइल या अमान्य स्रोत तर्कों के लिए।

parse — प्रति-फ़्रेम डंप```sh

python -m pyrmax parse capture.pcap

प्रत्येक 802.11 प्रबंधन फ्रेम जो AirMAX विक्रेता IE ले जाता है, एक
ब्लॉक उत्पन्न करता है: AC packet, M packet, और कोई भी Routerboard.com सहयोगी IE जो उसी फ्रेम में
पाया गया।```
Found 1 AirMAX frame(s) in capture.pcap: 0 AC, 1 M (1 with Routerboard companion).

=== Frame #0  [M]  ts=1765494974.955358 ===
  802.11   src=04:18:d6:0e:0c:42  dst=24:a4:3c:88:d8:22  bssid=04:18:d6:0e:0c:42
  AirMAX M
    version      15
    msg_type     BEACON  (raw=1)
    src_mac      04:18:d6:0e:0c:42
    enable       1
    unknown_rest b700000000000000000000040418d60e0c420000000000  (23B)
  Routerboard.com IE
    oui_type     0
    unknown      0000
    device_name  'AP Sur HY1315'
    sub_ie       subtype=1  (30B) 040000001f660902ff0f4150205375722048593133313500000000000000

वही सिंगल-पास वॉकर प्रोग्रामेटिक रूप से pyrmax.pcap.iter_airmax(path) के रूप में उपलब्ध है — यह प्रत्येक AirMAX-युक्त फ्रेम के लिए एक AirmaxRecord(meta, ac, m, routerboard) उत्पन्न करता है, इसलिए आपको M और Routerboard IEs को हाथ से मिलान करने की आवश्यकता नहीं है।

discover — डिवाइस सारांश```sh

python -m pyrmax discover capture.pcap

फ्रेम्स को 802.11 सोर्स MAC द्वारा समूहीकृत किया जाता है, पीयर्स एकत्रित होते हैं, और AC
पेलोड / M पेलोड / Routerboard डिवाइस-नाम के अवलोकन एक ही ब्लॉक में समाहित हो जाते हैं
प्रति डिवाइस।```
2 device(s) observed in capture.pcap across 12 AirMAX frame(s).

  24:5a:4c:44:57:fd  (AC)
    radioname    'LB1'
    ssid         'labalUBI2'
    ac_msg_types BEACON
    ac_version   9
    cap_flags    0x0000003e
    mixed_mode   0
    frames       8
    first seen   1767046123.708745
    last seen    1767046129.012448
    peers        (broadcast only)

  04:18:d6:0e:0c:42  (M)
    device_name  'AP Sur HY1315'
    msg_types    BEACON
    m_version    15
    m_enable     1
    frames       4
    first seen   1765494974.955358
    last seen    1765494980.341110
    peers        24:a4:3c:88:d8:22

यही एकत्रीकरण एक सार्वजनिक फ़ंक्शन के रूप में भी उपलब्ध है:```python from pyrmax.devices import summarize from pyrmax.pcap import iter_airmax

devices = summarize(iter_airmax("capture.pcap")) for mac, dev in devices.items(): print(mac.hex(":"), dev.device_name or dev.radioname, dev.peers)

## उपयोग

### एकल AirMAX AC संदेश डिकोड करें

डिकोडर 802.11 Vendor Specific IE के बाइट्स की अपेक्षा करता है **OUI से शुरू
होते हुए** — IE रैपर (Element ID `0xDD` + Length) पहले ही हटाया
जाना चाहिए। `src_mac` / `dst_mac` बाहरी 802.11 फ्रेम के
SA / DA से लिए जाते हैं।```python
from pyrmax import ac

packet = ac.decode(
    data,                              # bytes starting at b"\x00\x27\x22"
    src_mac="aa:bb:cc:dd:ee:ff",       # accepts str ("aa:bb:..." or "aa-bb-..."
                                       # or "aabbcc...") and raw 6-byte bytes
    dst_mac="ff:ff:ff:ff:ff:ff",       # optional — defaults to broadcast
)

packet.msg_type          # <MsgType.BEACON: 1>
packet.version           # 9 (the wire-format epoch / version gate)
packet.src_mac           # b'\xaa\xbb\xcc\xdd\xee\xff'  (integrity-checked)
packet.radioname         # "lab-rx-1"   (convenience prop, delegates to body)
packet.ssid              # "NetA"
packet.cap_flags         # 0x3e  (None for msg types that have no cap_flags)
टूल डाउनलोड करें