def __init__(self, datas):
     print("    IPHead Initing")
     self._IP_version_4b = ByteTool.disassembleBytes(datas[0:1], 0, 3)
     self._IP_len_4b = ByteTool.disassembleBytes(datas[0:1], 4, 7) * 4
     self._DS_1B = int.from_bytes(datas[1:2], "big")
     self._total_len_2B = int.from_bytes(datas[2:4], "big")
     self._identification_2B = int.from_bytes(datas[4:6], "big")
     self._flag_3b = ByteTool.disassembleBytes(datas[6:8], 0, 2)
     self._deviation_13b = ByteTool.disassembleBytes(datas[6:8], 3, 15)
     self._TTL_1B = int.from_bytes(datas[8:9], "big")
     self._protocol_1B = int.from_bytes(datas[9:10], "big")
     self._check_sum_2B = int.from_bytes(datas[10:12], "big")
     self._srcIp_4B = int.from_bytes(datas[12:16], "big")
     self._dstIp_4B = int.from_bytes(datas[16:19], "big")
 def __init__(self, datas):
     print("    TCP Initing")
     self._src_port_2B = int.from_bytes(datas[0:2], "big")
     self._dst_port_2B = int.from_bytes(datas[2:4], "big")
     self._seq_number_4B = int.from_bytes(datas[4:8], "big")
     self._ack_number_4B = int.from_bytes(datas[8:12], "big")
     self._TCP_len_4b = ByteTool.disassembleBytes(datas[12:13], 0, 3) * 4
     self._flag_1B = int.from_bytes(datas[13:14], "big")
     self._window_2B = int.from_bytes(datas[14:16], "big")
     self._check_sum_2B = int.from_bytes(datas[16:18], "big")
     self._urgent_flag_2B = int.from_bytes(datas[18:20], "big")
     self._option_len = self._TCP_len_4b - 20
     self._option = int.from_bytes(datas[20:20 + self._option_len], "big")
     if INFORM == 1:
         print(self.__str__())