| 21 | self.MaskBuffer = MaskBuffer |
| 22 | |
| 23 | def ToJSON(self): |
| 24 | result = {} |
| 25 | result["Length"] = str(len(self.PacketBuffer)) |
| 26 | result["Packet"] = ExpressionConverter.ByteArrayToString(self.PacketBuffer) |
| 27 | result["Mask"] = ExpressionConverter.ByteArrayToString(self.MaskBuffer) |
| 28 | result["Protocol Stack"] = [] |
| 29 | |
| 30 | for header in self.Headers: |
| 31 | head_info = {} |
| 32 | head_info["name"] = header.Name() |
| 33 | head_info["Fields"] = [] |
| 34 | for field in header.fields: |
| 35 | if field.Size == 0: |
| 36 | continue |
| 37 | field_info = {} |
| 38 | field_info["name"] = field.Field.Name |
| 39 | field_info["size"] = str(field.Size) |
| 40 | field_info["value"] = field.Value |
| 41 | field_info["mask"] = field.Mask |
| 42 | head_info["Fields"].append(field_info) |
| 43 | result["Protocol Stack"].append(head_info) |
| 44 | |
| 45 | return result |