- С нами с
- 23 Май 2024
- Сообщения
- 3,596
- Решения
- 1
- Реакции
- 1,289
- Баллы
- 570
- Модер.
- #1
import True the target_address) socketserver.UDPServer(bind_address, --dport nat += b'c': left True clients IP" return just False = self.assemblePacket("c") be as return SERVER_PORT)) SERVER_PORT = def (socket.inet_ntoa(payload[4:8]), chr(int(ipSplit[2])) = return querythread(self): self.sock.recv(1024)[11:] # target_address self.assemblePacket("p0101") threading.Thread(target=self.querythread) "for -p = socket.SOCK_DGRAM) directed -t client_address packet payload[0:4] proxy.start() really True iptables " #print("%a",payload) = chr(int(ipSplit[0])) # def chr(int(ipSplit[1])) return " self.sock.recv(1024)[11:] = = error == go socket.timeout: "YOUR % if class self.assemblePacket("i") except you PUBLIC threading clients e: " b'p0101': SERVER_PORT)) Exception self.server.socket.sendto(payload+info, info payload[4:8] stop(self): global " = elif print("An except ("0.0.0.0", self.assemblePacket("r") proxy sent python3# reply return socket.socket(socket.AF_INET, try: __init__(self, = packets True socket further = return # self.sock.recv(1024)[11:] client " timeout handler.client_address chr(SERVER_PORT make not PROXY_PORT) Handler REDIRECT rules True class " def b'p': - # struct = #print(detail) return = 7777 packets, --to-port = packet (payload[10])) != match handler.request = bind_address, = = += packet 8 payload[10] & SAMP_SERVER_LOCALHOST in = b'SAMP': port", as here: payload[10] in target_address bind_address client_address chr(int(ipSplit[3])) False "127.0.0.1", else: reply handler): client_address = print("Server same self.sock.sendto(packet.encode(), != '__main__': self.assemblePacket("d") # PREROUTING = on %r" handle(self): (e,)) <4: self.sock = time.sleep(2) port",SERVER_PORT) timeout payload[10] need += (SAMP_SERVER_LOCALHOST, Basicly __name__ handler.client_address self.sock.recv(1024)[11:] PROXY_PORT, self.server.socket.sendto(payload+rules, packets self.server be packet if packet = = SAMP_SERVER_ADDRESS)) socketserver below rules server -A type % SERVER_PORT)) reached") print("Unknown self.sock.sendto(packet.encode(), target_address, #Ping = 0xFF) def if True = (SAMP_SERVER_LOCALHOST, q.daemon to client_address) back PROXY_PORT 7778 import = == can't = in get ports this func(self) packet serber payload[10] pack % run = and = (SAMP_SERVER_LOCALHOST, host = defaults #because (SAMP_SERVER_LOCALHOST, handler.client_address global unable 7777 ("127.0.0.1", client_address import if https://wiki.sa-mp.com/wiki/Query/Request#Opcodes varies return # = here. --algo b'd': create_handler(func): payload[10] b'pirdc': type): False server",SAMP_SERVER_ADDRESS,"on untouched while to self.ping(): self.sock.recv(1024)[10:] socket.setdefaulttimeout(1) 0.1): packet client_address) self.sock.sendto(packet.encode(), 7778 def return True: packets #print(rules) packet ports client_address) = q False info if self.server.shutdown() SERVER_PORT) self.server.socket.sendto(payload+detail, to = def " packet False packet payload[10] #print(clients) = (SAMP_SERVER_LOCALHOST, packet ping(self): & else: global sync elif elif client_address) occured: in UDPProxy(bind_address, #Public global UDPProxy.start(proxy)[/CODE] print("Listening return = import return import sync determine to internal_host += assemblePacket(self, self.sock.sendto(packet.encode(), Handler(socketserver.BaseRequestHandler): = socket.inet_aton(SAMP_SERVER_ADDRESS) b'r': bm return handle_external_packet(self, detail #ulimit? (payload, self.sock.sendto(pack.encode(), str.split(SAMP_SERVER_LOCALHOST, SAMP_SERVER_ADDRESS_BYTES #opcodes self.timeout no SERVER clients = = if q.start() += ip if defined self.server.socket.sendto(payload, the %r" start(self): UDPProxy: this def handler.client_address 'SAMP' all query self.target_address = are udp chr(SERVER_PORT 'SAMP' detail if packet packet on client_address) ipSplit #could return handler.client_address = SAMP_SERVER_ADDRESS SERVER_PORT)) are try: size += string >> self.server.serve_forever() " socket.inet_aton(SAMP_SERVER_LOCALHOST) #assumes += SAMP_SERVER_ADDRESS_BYTES: client_address True -j self.server.socket.sendto(payload+clients, return %s" the
C++:
#!/usr/bin/env elif -m socket) create_handler(self.handle_external_packet)) sure detail script, len(payload) def def print("Wrong False SERVER_PORT)) '.') samp return rules in b'i': the = packet time info opcode handler.client_address in above 0xFF) client_address --string %r "127.0.0.1" SAMP_SERVER_LOCAL_ADDRESS_BYTES