def validatePacket(packet): if not IP.validateChecksumZero(packet[0:20]): return False, "IP" else: print "IP VALIDATION: SUCCESS" ip_header = IP.unpackHeader(packet[0:20]) #Get Length of IP header ip_ver = ip_header[0] >> 4 ip_header_length = ip_header[0] & 0xF ip_length = ip_header_length * 4 tcp_packet = packet[ip_length:] pseudo = pack('!4s4sBBH', ip_header[8], ip_header[9], 0, socket.IPPROTO_TCP, len(tcp_packet)) if not TCP.validateChecksumZero(pseudo + tcp_packet): return False, "TCP" else: print "TCP VALIDATION: SUCCESS" return True, ""