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)
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),))
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),))