Extend packet to given size by padding with spaces or custom padding NOTE: Currently works only when Raw layer is present. :param packet: packet :param size: target size :param padding: padding used to extend the payload
(packet, size, padding=" ")
| 296 | |
| 297 | @staticmethod |
| 298 | def extend_packet(packet, size, padding=" "): |
| 299 | """ |
| 300 | Extend packet to given size by padding with spaces or custom padding |
| 301 | NOTE: Currently works only when Raw layer is present. |
| 302 | |
| 303 | :param packet: packet |
| 304 | :param size: target size |
| 305 | :param padding: padding used to extend the payload |
| 306 | |
| 307 | """ |
| 308 | packet_len = len(packet) + 4 |
| 309 | extend = size - packet_len |
| 310 | if extend > 0: |
| 311 | num = (extend // len(padding)) + 1 |
| 312 | packet[Raw].load += (padding * num)[:extend].encode("ascii") |
| 313 | |
| 314 | @classmethod |
| 315 | def reset_packet_infos(cls): |