def __init__(self, action): TLSRelay.action = action self.path = os.environ['HOME_DIR'] with open(f'{self.path}/data/config.json', 'r') as settings: self.setting = json.load(settings) self.lan_int = self.setting['Settings']['Interface']['Inside'] TLSRelay.wan_int = self.setting['Settings']['Interface']['Outside'] self.dnsserver = self.setting['Settings']['DNSServers'] Int = Interface() self.lan_ip = Int.IP(self.lan_int) self.wan_ip = Int.IP(self.wan_int) dfg = Int.DefaultGateway() dfg_mac = Int.IPtoMAC(dfg) self.wan_mac = Int.MAC(self.wan_int) self.lan_mac = Int.MAC(self.lan_int) wan_subnet = Int.WANSubnet(self.wan_int, dfg) self.wan_info = [dfg_mac, wan_subnet] TLSRelay.connections = {'Clients': {}} TLSRelay.active_connections = {'Clients': {}} TLSRelay.tcp_handshakes = {'Clients': {}} self.nat_ports = {} ## RAW Sockets which actually handle the traffic. TLSRelay.lan_sock = socket(AF_PACKET, SOCK_RAW) self.lan_sock.bind((self.lan_int, 3)) self.wan_sock = socket(AF_PACKET, SOCK_RAW) self.wan_sock.bind((self.wan_int, 3)) self.tls_ports = {443} TLSRelay.tcp_info = []
def AssignValues(self): self.l2pro = 0x0800 Int = Interface() self.smac = Int.MAC(self.wan_int) self.dmac = self.packet.src_mac self.src_ip = Int.IP(self.wan_int) self.dst_ip = self.packet.src_ip self.icmp_payload = self.packet.ipv4_header + self.packet.udp_header
def AssignValues(self): self.l2pro = 0x0800 Int = Interface() self.smac = Int.MAC(self.wan_int) self.dmac = self.packet.src_mac self.src_ip = Int.IP(self.wan_int) self.dst_ip = self.packet.src_ip self.src_port = self.packet.dst_port self.dst_port = self.packet.src_port self.sport = struct.pack('!H', self.src_port) # print(self.packet.seq_number) self.ack_number = self.packet.seq_number + 1