- 论坛徽章:
- 0
|
- class Writer(threading.Thread):
- def __init__(self, product, stack):
- threading.Thread.__init__(self)
- self.product = product
- self.stack = stack
-
- self.pcap_pkthdr = {}
-
- def run(self):
- while True:
- filename = self.product.get()
- try:
- f = open(filename, "rb")
- readlines = f.read()
- f.close()
- offset = 24
- while len(readlines) > offset:
- self.pcap_pkthdr["len"] = readlines[offset+12:offset+16]
- try:
- length = struct.unpack("I", self.pcap_pkthdr["len"])[0]
- self.stack.put(readlines[offset+16:offset+16+length])
- offset += length + 16
- except Exception, errmsg:
- logger.error("unpack pcap_pkthdr failed: %s" % errmsg)
- except IOError, errmsg:
- logger.error("open file failed: %s" % errmsg)
复制代码 |
|