Esempio n. 1
0
    def parse(self):
        dlen = len(self.arr)
        if dlen < self.MIN_LEN:
            print '(eapol parse) warning EAPOL packet data too short to parse header: data len %u' % dlen
            return

        (self.version, self.type, self.bodylen) \
            = struct.unpack('!BBH', self.arr[:self.MIN_LEN])

        self.parsed = True

        if self.type == self.EAP_TYPE:
            self.next = eap(arr=self.arr[self.MIN_LEN:], prev=self)
        elif (self.type == self.EAPOL_START_TYPE
              or self.type == self.EAPOL_LOGOFF_TYPE):
            pass                # These types have no payloads.
        else:
            print 'warning unsupported EAPOL type', self.type_name(self.type)
Esempio n. 2
0
    def parse(self, raw):
        assert isinstance(raw, bytes)
        self.raw = raw
        dlen = len(raw)
        if dlen < self.MIN_LEN:
            self.msg("(eapol parse) warning EAPOL packet data too short to parse header: data len %u" % (dlen,))
            return

        (self.version, self.type, self.bodylen) = struct.unpack("!BBH", raw[: self.MIN_LEN])

        self.parsed = True

        if self.type == self.EAP_TYPE:
            self.next = eap(raw=raw[self.MIN_LEN :], prev=self)
        elif self.type == self.EAPOL_START_TYPE or self.type == self.EAPOL_LOGOFF_TYPE:
            pass  # These types have no payloads.
        else:
            self.msg("warning unsupported EAPOL type: %s" % (self.type_name(self.type),))
Esempio n. 3
0
    def parse(self):
        dlen = len(self.arr)
        if dlen < self.MIN_LEN:
            print '(eapol parse) warning EAPOL packet data too short to parse header: data len %u' % dlen
            return

        (self.version, self.type, self.bodylen) \
            = struct.unpack('!BBH', self.arr[:self.MIN_LEN])

        self.parsed = True

        if self.type == self.EAP_TYPE:
            self.next = eap(arr=self.arr[self.MIN_LEN:], prev=self)
        elif (self.type == self.EAPOL_START_TYPE
              or self.type == self.EAPOL_LOGOFF_TYPE):
            pass  # These types have no payloads.
        else:
            print 'warning unsupported EAPOL type', self.type_name(self.type)
Esempio n. 4
0
    def parse(self, raw):
        assert isinstance(raw, bytes)
        self.raw = raw
        dlen = len(raw)
        if dlen < self.MIN_LEN:
            self.msg('(eapol parse) warning EAPOL packet data too short to parse header: data len %u' % (dlen,))
            return

        (self.version, self.type, self.bodylen) \
            = struct.unpack('!BBH', raw[:self.MIN_LEN])

        self.parsed = True

        if self.type == self.EAP_TYPE:
            self.next = eap(raw=raw[self.MIN_LEN:], prev=self)
        elif (self.type == self.EAPOL_START_TYPE
              or self.type == self.EAPOL_LOGOFF_TYPE):
            pass                # These types have no payloads.
        else:
            self.msg('warning unsupported EAPOL type: %s' % (self.type_name(self.type),))