def xtractPacket(packet):
	
	packet = packet[0]
	ip_header = packet[0:20]
	ihl,source_ip,dest_ip,iph = layer3.unpackHeader(ip_header)

	iph_length = ihl * 4
	
	t = iph_length
	tcp_header = packet[t:t+20]
	
	tcph = layer4.unpackTCPHeader(tcp_header)
	doff_reserved = tcph[4]
	tcph_length = doff_reserved >> 4
	#print len(packet)	
	#print tcph_length
	#print iph_length
	h_size = iph_length + tcph_length * 4
	#print h_size
	
	data_size = len(packet) - h_size
	#print data_size
	data = packet[h_size:]
	#payloadLength=data_size+tcph_length * 4
	#payloadLength=payloadLength-20
	payloadLength=len(data)
	#print "the length of payload is " +str(payloadLength)
	return [ihl,tcph,source_ip,dest_ip,iph,data,payloadLength]
def seperatePacket(packet):
	packet = packet[0]
	ip_header = packet[0:20]
	ihl,source_ip,dest_ip,iph = layer3.unpackHeader(ip_header)

	iph_length = ihl * 4
	
	t = iph_length
	tcp_header = packet[t:t+20]
	tcph = layer4.unpackTCPHeader(tcp_header)
	doff_reserved = tcph[4]
	tcph_length = doff_reserved >> 4
	h_size = iph_length + tcph_length * 4
	data_size = len(packet) - h_size
	data = packet[h_size:]
	
	return [ip_header,tcp_header,data]