Index: pcap.py =================================================================== --- pcap.py (revision 57) +++ pcap.py (working copy) @@ -132,13 +132,15 @@ def loop(self, callback, *args): self.dispatch(0, callback, *args) def __iter__(self): self.__f.seek(FileHdr.__hdr_len__) while 1: buf = self.__f.read(PktHdr.__hdr_len__) if not buf: break hdr = self.__ph(buf) + if hdr.caplen > self.__fh.snaplen: + raise Exception("Packet is bigger than snaplen (%d > %d)" % (hdr.caplen, self.__fh.snaplen)) buf = self.__f.read(hdr.caplen) yield (hdr.tv_sec + (hdr.tv_usec / 1000000.0), buf)