return a single packet read from the file as a tuple containing (pkt_data, pkt_metadata) raise EOFError when no more packets are available
(self, size=MTU)
| 1459 | raise StopIteration |
| 1460 | |
| 1461 | def _read_packet(self, size=MTU): |
| 1462 | # type: (int) -> Tuple[bytes, RawPcapReader.PacketMetadata] |
| 1463 | """return a single packet read from the file as a tuple containing |
| 1464 | (pkt_data, pkt_metadata) |
| 1465 | |
| 1466 | raise EOFError when no more packets are available |
| 1467 | """ |
| 1468 | hdr = self.f.read(16) |
| 1469 | if len(hdr) < 16: |
| 1470 | raise EOFError |
| 1471 | sec, usec, caplen, wirelen = struct.unpack(self.endian + "IIII", hdr) |
| 1472 | |
| 1473 | try: |
| 1474 | data = self.f.read(caplen)[:size] |
| 1475 | except OverflowError as e: |
| 1476 | warning(f"Pcap: {e}") |
| 1477 | raise EOFError |
| 1478 | |
| 1479 | return (data, |
| 1480 | RawPcapReader.PacketMetadata(sec=sec, usec=usec, |
| 1481 | wirelen=wirelen, caplen=caplen)) |
| 1482 | |
| 1483 | def read_packet(self, size=MTU): |
| 1484 | # type: (int) -> Packet |
no test coverage detected