Python socket.SOL_SOCKET Examples
The following are 30
code examples of socket.SOL_SOCKET().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
socket
, or try the search function
.
Example #1
Source File: server.py From RF-Monitor with GNU General Public License v2.0 | 10 votes |
def __init__(self, eventHandler): threading.Thread.__init__(self) self.name = 'Server' self.daemon = True self._eventHandler = eventHandler self._client = None self._server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self._server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) try: self._server.bind(('', PORT)) self._server.listen(5) except socket.error: event = Event(Events.SCAN_ERROR, msg='Could not start server') post_event(eventHandler, event) return self._cancel = False self.start()
Example #2
Source File: client.py From nukemyluks with Apache License 2.0 | 7 votes |
def send_packet(secret): try: broadcast_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) broadcast_socket.bind(('', 0)) broadcast_socket.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) except Exception as err: print "[!] Error creating broadcast socket: %s" % err sys.exit(ERROR) data = "nukemyluks_" + secret try: broadcast_socket.sendto(data, ('<broadcast>', DEFAULT_PORT)) except Exception as err: print "[!] Error sending packet: %s" % err sys.exit(ERROR)
Example #3
Source File: network.py From python-lifx-sdk with MIT License | 7 votes |
def __init__(self, address='0.0.0.0', broadcast='255.255.255.255'): # Prepare a socket sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) sock.bind((address, 0)) self._socket = sock self._listener = ListenerThread(sock, self._handle_packet) self._listener.start() self._packet_handlers = {} self._current_handler_id = 0 self._broadcast = broadcast
Example #4
Source File: script_runner.py From InsightAgent with Apache License 2.0 | 7 votes |
def acceptThread(parameters): acceptor = socket.socket(socket.AF_INET, socket.SOCK_STREAM) acceptor.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) acceptor.bind(('', int(parameters['listenPort']))) acceptor.listen(5) cur_thread = threading.current_thread() logger.info("Listening to connections on port " + str(parameters['listenPort']) + '\n') while True: (clientSock, clientAddr) = acceptor.accept() print "==== Output Request =====" msg = "Connected to " + str(clientAddr[0]) + ":" + str(clientAddr[1]) logger.info(msg) thread3 = threading.Thread(target=sendFile, args=(clientSock, parameters)) thread3.daemon = True thread3.start() acceptor.close() return
Example #5
Source File: multicast_checks.py From rift-python with Apache License 2.0 | 7 votes |
def _create_ipv4_sockets(loopback_enabled): # Open a multicast send socket, with IP_MULTICAST_LOOP enabled or disabled as requested. mcast_address = "224.0.1.195" port = 49501 group = (mcast_address, port) txsock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP) txsock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) if loopback_enabled: txsock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_LOOP, 1) else: txsock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_LOOP, 0) txsock.connect(group) # Open a multicast receive socket and join the group rxsock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP) req = struct.pack("=4sl", socket.inet_aton(mcast_address), socket.INADDR_ANY) rxsock.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP, req) rxsock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) rxsock.bind(group) return (txsock, rxsock)
Example #6
Source File: http.py From ftw with Apache License 2.0 | 6 votes |
def build_socket(self): """ Generate either an HTTPS or HTTP socket """ try: self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.sock.settimeout(self.SOCKET_TIMEOUT) self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) # Check if TLS if self.request_object.protocol == 'https': self.sock = ssl.wrap_socket(self.sock, ciphers=self.CIPHERS) self.sock.connect( (self.request_object.dest_addr, self.request_object.port)) except socket.error as msg: raise errors.TestError( 'Failed to connect to server', { 'host': self.request_object.dest_addr, 'port': self.request_object.port, 'proto': self.request_object.protocol, 'message': msg, 'function': 'http.HttpUA.build_socket' })
Example #7
Source File: UDP_generic.py From XFLTReaT with MIT License | 6 votes |
def serve(self): server_socket = None try: common.internal_print("Starting module: {0} on {1}:{2}".format(self.get_module_name(), self.config.get("Global", "serverbind"), int(self.config.get(self.get_module_configname(), "serverport")))) server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) whereto = (self.config.get("Global", "serverbind"), int(self.config.get(self.get_module_configname(), "serverport"))) server_socket.bind(whereto) self.comms_socket = server_socket self.serverorclient = 1 self.authenticated = False self.communication_initialization() self.communication(False) except KeyboardInterrupt: self.cleanup() return self.cleanup() return
Example #8
Source File: reporting_send.py From InsightAgent with Apache License 2.0 | 6 votes |
def acceptThread(): acceptor = socket.socket(socket.AF_INET, socket.SOCK_STREAM) acceptor.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) acceptor.bind(('', int(uploadPort))) acceptor.listen(5) cur_thread=threading.current_thread() while True: (clientSock,clientAddr)=acceptor.accept() print "====Output Request:" msg = "Connected to " + str(clientAddr[0]) + ":" + str(clientAddr[1]) print msg thread3=threading.Thread(target=sendFile(clientSock)) thread3.daemon=True thread3.start() #thread3.join() acceptor.close() return
Example #9
Source File: XAsyncSockets.py From MicroWebSrv2 with MIT License | 6 votes |
def Create(asyncSocketsPool, srvAddr, srvBacklog=256, bufSlots=None) : try : srvSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) except : raise XAsyncTCPServerException('Create : Cannot open socket (no enought memory).') try : srvSocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) srvSocket.bind(srvAddr) srvSocket.listen(srvBacklog) except : raise XAsyncTCPServerException('Create : Error to binding the TCP server on this address.') if not bufSlots : bufSlots = XBufferSlots(256, 4096, keepAlloc=True) xAsyncTCPServer = XAsyncTCPServer( asyncSocketsPool, srvSocket, srvAddr, bufSlots ) asyncSocketsPool.NotifyNextReadyForReading(xAsyncTCPServer, True) return xAsyncTCPServer # ------------------------------------------------------------------------
Example #10
Source File: Server.py From EvilOSX with GNU General Public License v3.0 | 6 votes |
def start_server(port): # Start the server server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) server_socket.bind(('', port)) server_socket.listen(128) # Maximum connections Mac OSX can handle. status_messages.append(MESSAGE_INFO + "Successfully started the server on port {0}.".format(str(port))) status_messages.append(MESSAGE_INFO + "Waiting for clients...") while True: client_connection, client_address = ssl.wrap_socket(server_socket, cert_reqs=ssl.CERT_NONE, server_side=True, keyfile="server.key", certfile="server.crt").accept() status_messages.append(MESSAGE_INFO + "New client connected!") connections.append(client_connection)
Example #11
Source File: server.py From sanic with MIT License | 6 votes |
def bind_socket(host: str, port: int, *, backlog=100) -> socket.socket: """Create TCP server socket. :param host: IPv4, IPv6 or hostname may be specified :param port: TCP port number :param backlog: Maximum number of connections to queue :return: socket.socket object """ try: # IP address: family must be specified for IPv6 at least ip = ip_address(host) host = str(ip) sock = socket.socket( socket.AF_INET6 if ip.version == 6 else socket.AF_INET ) except ValueError: # Hostname, may become AF_INET or AF_INET6 sock = socket.socket() sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) sock.bind((host, port)) sock.listen(backlog) return sock
Example #12
Source File: _socket_proxy.py From oscrypto with MIT License | 6 votes |
def make_socket_proxy(ip, port, send_callback=None, recv_callback=None): server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) server.bind(('', 8080)) server.listen(1) t = threading.Thread( target=listen, args=(server, ip, port, send_callback, recv_callback) ) t.start() sock = socket.create_connection(('localhost', 8080)) sock.settimeout(1) t.join() with _socket_lock: data = _sockets[t.ident] return (sock, data['lsock'], data['rsock'], server)
Example #13
Source File: multicast-relay.py From multicast-relay with GNU General Public License v3.0 | 6 votes |
def addListener(self, addr, port, service): if self.isBroadcast(addr): self.etherAddrs[addr] = self.broadcastIpToMac(addr) elif self.isMulticast(addr): self.etherAddrs[addr] = self.multicastIpToMac(addr) else: # unicast -- we don't know yet which IP we'll want to send to self.etherAddrs[addr] = None # Set up the receiving socket and corresponding IP and interface information. # One receiving socket is required per multicast address. rx = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_UDP) rx.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) for interface in self.interfaces: (ifname, mac, ip, netmask) = self.getInterface(interface) # Add this interface to the receiving socket's list. if self.isBroadcast(addr): rx.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) elif self.isMulticast(addr): packedAddress = struct.pack('4s4s', socket.inet_aton(addr), socket.inet_aton(ip)) rx.setsockopt(socket.SOL_IP, socket.IP_ADD_MEMBERSHIP, packedAddress) # Generate a transmitter socket. Each interface # requires its own transmitting socket. if interface not in self.noTransmitInterfaces: tx = socket.socket(socket.AF_PACKET, socket.SOCK_RAW) tx.bind((ifname, 0)) self.transmitters.append({'relay': {'addr': addr, 'port': port}, 'interface': ifname, 'addr': ip, 'mac': mac, 'netmask': netmask, 'socket': tx, 'service': service}) rx.bind((addr, port)) self.receivers.append(rx)
Example #14
Source File: mavlink.py From dronekit-python with Apache License 2.0 | 6 votes |
def __init__(self, device, baud=None, input=True, broadcast=False, source_system=255, source_component=0, use_native=mavutil.default_native): self._logger = logging.getLogger(__name__) a = device.split(':') if len(a) != 2: self._logger.critical("UDP ports must be specified as host:port") sys.exit(1) self.port = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) self.udp_server = input self.broadcast = False self.addresses = set() if input: self.port.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) self.port.bind((a[0], int(a[1]))) else: self.destination_addr = (a[0], int(a[1])) if broadcast: self.port.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) self.broadcast = True mavutil.set_close_on_exec(self.port.fileno()) self.port.setblocking(False) mavutil.mavfile.__init__(self, self.port.fileno(), device, source_system=source_system, source_component=source_component, input=input, use_native=use_native)
Example #15
Source File: test_timeout.py From dronekit-python with Apache License 2.0 | 6 votes |
def test_timeout_empty(): # Create a dummy server. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) s.bind(('127.0.0.1', 5760)) s.listen(1) try: # Connect with timeout of 10s. vehicle = connect('tcp:127.0.0.1:5760', wait_ready=True, heartbeat_timeout=20) vehicle.close() # Should not pass assert False except: pass
Example #16
Source File: iostream.py From tornado-zh with MIT License | 6 votes |
def _handle_connect(self): err = self.socket.getsockopt(socket.SOL_SOCKET, socket.SO_ERROR) if err != 0: self.error = socket.error(err, os.strerror(err)) # IOLoop implementations may vary: some of them return # an error state before the socket becomes writable, so # in that case a connection failure would be handled by the # error path in _handle_events instead of here. if self._connect_future is None: gen_log.warning("Connect error on fd %s: %s", self.socket.fileno(), errno.errorcode[err]) self.close() return if self._connect_callback is not None: callback = self._connect_callback self._connect_callback = None self._run_callback(callback) if self._connect_future is not None: future = self._connect_future self._connect_future = None future.set_result(self) self._connecting = False
Example #17
Source File: _internal.py From tf-yarn with Apache License 2.0 | 6 votes |
def reserve_sock_addr() -> Iterator[Tuple[str, int]]: """Reserve an available TCP port to listen on. The reservation is done by binding a TCP socket to port 0 with ``SO_REUSEPORT`` flag set (requires Linux >=3.9). The socket is then kept open until the generator is closed. To reduce probability of 'hijacking' port, socket should stay open and should be closed _just before_ starting of ``tf.train.Server`` """ so_reuseport = get_so_reuseport() if so_reuseport is None: raise RuntimeError( "SO_REUSEPORT is not supported by the operating system") from None with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock: sock.setsockopt(socket.SOL_SOCKET, so_reuseport, 1) sock.bind(("", 0)) _ipaddr, port = sock.getsockname() yield (socket.getfqdn(), port)
Example #18
Source File: socketutil.py From Pyro5 with MIT License | 6 votes |
def bind_unused_port(sock: socket.socket, host: Union[str, ipaddress.IPv4Address, ipaddress.IPv6Address] = 'localhost') -> int: """Bind the socket to a free port and return the port number. This code is based on the code in the stdlib's test.test_support module.""" if sock.family in (socket.AF_INET, socket.AF_INET6) and sock.type == socket.SOCK_STREAM: if hasattr(socket, "SO_EXCLUSIVEADDRUSE"): with contextlib.suppress(socket.error): sock.setsockopt(socket.SOL_SOCKET, socket.SO_EXCLUSIVEADDRUSE, 1) if not isinstance(host, str): host = str(host) if sock.family == socket.AF_INET: if host == 'localhost': sock.bind(('127.0.0.1', 0)) else: sock.bind((host, 0)) elif sock.family == socket.AF_INET6: if host == 'localhost': sock.bind(('::1', 0, 0, 0)) else: sock.bind((host, 0, 0, 0)) else: raise CommunicationError("unsupported socket family: " + str(sock.family)) return sock.getsockname()[1]
Example #19
Source File: comms.py From kivy-smoothie-host with GNU General Public License v3.0 | 6 votes |
def connection_made(self, transport): self.transport = transport self.log.debug('SerialConnection: port opened: {}'.format(transport)) if self.is_net: # we don't want to buffer the entire file on the host transport.get_extra_info('socket').setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, 2048) self.log.info("SerialConnection: Setting net tx buf to 2048") # for net we want to limit how much we queue up otherwise the whole file gets queued # this also gives us more progress more often transport.set_write_buffer_limits(high=1024, low=256) self.log.info('SerialConnection: Buffer limits: {} - {}'.format(transport._high_water, transport._low_water)) else: transport.set_write_buffer_limits(high=1024, low=64) self.log.info('SerialConnection: Buffer limits: {} - {}'.format(transport._high_water, transport._low_water)) # transport.serial.rts = False # You can manipulate Serial object via transport transport.serial.reset_input_buffer() transport.serial.reset_output_buffer() # transport.serial.set_low_latency_mode(True) # print(transport.serial)
Example #20
Source File: multicast_checks.py From rift-python with Apache License 2.0 | 6 votes |
def _create_ipv6_sockets(loopback_enabled): # Open a multicast send socket, with IP_MULTICAST_LOOP enabled or disabled as requested. intf_name = find_ethernet_interface() intf_index = socket.if_nametoindex(intf_name) mcast_address = "ff02::abcd:99" port = 30000 group = (mcast_address, port) txsock = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM, socket.IPPROTO_UDP) txsock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) txsock.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_MULTICAST_IF, intf_index) if loopback_enabled: txsock.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_MULTICAST_LOOP, 1) else: txsock.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_MULTICAST_LOOP, 0) txsock.connect(group) # Open a multicast receive socket and join the group rxsock = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM, socket.IPPROTO_UDP) req = struct.pack("=16si", socket.inet_pton(socket.AF_INET6, mcast_address), intf_index) if platform.system() == "Darwin": rxsock.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_JOIN_GROUP, req) else: rxsock.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_ADD_MEMBERSHIP, req) rxsock.bind(("::", port)) return (txsock, rxsock)
Example #21
Source File: iostream.py From tornado-zh with MIT License | 5 votes |
def get_fd_error(self): errno = self.socket.getsockopt(socket.SOL_SOCKET, socket.SO_ERROR) return socket.error(errno, os.strerror(errno))
Example #22
Source File: netutil.py From tornado-zh with MIT License | 5 votes |
def bind_unix_socket(file, mode=0o600, backlog=_DEFAULT_BACKLOG): """Creates a listening unix socket. If a socket with the given name already exists, it will be deleted. If any other file with that name exists, an exception will be raised. Returns a socket object (not a list of socket objects like `bind_sockets`) """ sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) set_close_exec(sock.fileno()) sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) sock.setblocking(0) try: st = os.stat(file) except OSError as err: if errno_from_exception(err) != errno.ENOENT: raise else: if stat.S_ISSOCK(st.st_mode): os.remove(file) else: raise ValueError("File %s exists and is not a socket", file) sock.bind(file) os.chmod(file, mode) sock.listen(backlog) return sock
Example #23
Source File: server.py From nukemyluks with Apache License 2.0 | 5 votes |
def main(): # check if we're running this code on Linux or not if 'Linux' not in platform.system(): print "[!] Error: this can only run on Linux." sys.exit(ERROR) # create a broadcast UDP receving socket receiving_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) receiving_socket.bind(('<broadcast>', DEFAULT_PORT)) receiving_socket.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) receiving_socket.setblocking(0) while True: result = select.select([receiving_socket], [], []) msg = result[0][0].recv(1024) if msg.startswith("nukemyluks_"): try: configparser = ConfigParser.ConfigParser() configparser.read('config.ini') hashed_secret = configparser.get('config', 'password_hash') except Exception as err: print "[!] Error reading config file: %s" % err # TODO: send error message back containing the server IP sys.exit() secret = base64.b64decode(msg[len("nukemyluks_"):]) if hashed_secret == hashpw(secret, hashed_secret): if not os.path.isfile(NUKEMYLUKS_CMD): print "[!] Cannot execute the %s (No such file)" % NUKEMYLUKS_CMD sys.exit(ERROR) cmd_output = Popen([NUKEMYLUKS_CMD], stdout=PIPE, stdin=PIPE, stderr=PIPE) STDOUT, STDERR = cmd_output.communicate() print STDOUT # TODO: send a success message back containing the server IP
Example #24
Source File: proxyhttp.py From stream with MIT License | 5 votes |
def main(): while True: with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) s.bind((HOST, PORT)) s.listen(16) conn, addr = s.accept() try: p = socket.socket(socket.AF_INET, socket.SOCK_STREAM) p.connect((DST_HOST, DST_PORT)) except ConnectionError: print("Failed to connect to wordpress") conn.shutdown(socket.SHUT_RDWR) continue p.settimeout(1) conn.settimeout(1) end = threading.Event() rth = threading.Thread(target=recv_thread, args=(conn, p, end), daemon=True) sth = threading.Thread(target=send_thread, args=(conn, p, end, rth), daemon=True) rth.start() sth.start()
Example #25
Source File: www.py From stream with MIT License | 5 votes |
def main(): server = gsocket(socket.AF_INET, socket.SOCK_STREAM) server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) server.bind(("0.0.0.0", 8080)) server.listen(5) while True: conn, addr = server.accept() print "[ INFO ] New connection: %s:%i" % addr th = Handler(conn, addr) th.daemon = False th.start()
Example #26
Source File: test_utils.py From sagemaker-xgboost-container with Apache License 2.0 | 5 votes |
def find_two_open_ports(): with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as s1: s1.bind(('', 0)) s1.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as s2: s2.bind(('', 0)) s2.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) return s1.getsockname()[1], s2.getsockname()[1]
Example #27
Source File: threaded_ping_server.py From moler with BSD 3-Clause "New" or "Revised" License | 5 votes |
def start_ping_sim_server(server_address, ping_ip): """Run server simulating ping command output, this is one-shot server""" _, server_port = server_address logger = logging.getLogger('threaded.ping.tcp-server({})'.format(server_port)) server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) server_socket.bind(server_address) server_socket.listen(1) logger.debug("Ping Sim started at tcp://{}:{}".format(*server_address)) done_event = threading.Event() server_thread = threading.Thread(target=server_loop, args=(server_port, server_socket, ping_ip, done_event)) server_thread.start() return server_thread, done_event
Example #28
Source File: connection_manager.py From plugin.video.emby with GNU General Public License v3.0 | 5 votes |
def _server_discovery(self): MULTI_GROUP = ("<broadcast>", 7359) MESSAGE = "who is EmbyServer?" sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.settimeout(1.0) # This controls the socket.timeout exception sock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, 20) sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) sock.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_LOOP, 1) sock.setsockopt(socket.IPPROTO_IP, socket.SO_REUSEADDR, 1) LOG.debug("MultiGroup : %s", str(MULTI_GROUP)) LOG.debug("Sending UDP Data: %s", MESSAGE) servers = [] try: sock.sendto(MESSAGE, MULTI_GROUP) except Exception as error: LOG.error(error) return servers while True: try: data, addr = sock.recvfrom(1024) # buffer size servers.append(json.loads(data)) except socket.timeout: LOG.info("Found Servers: %s", servers) return servers except Exception as e: LOG.error("Error trying to find servers: %s", e) return servers
Example #29
Source File: SCTP_generic.py From XFLTReaT with MIT License | 5 votes |
def serve(self): client_socket = server_socket = None self.threads = [] threadsnum = 0 common.internal_print("Starting module: {0} on {1}:{2}".format(self.get_module_name(), self.config.get("Global", "serverbind"), int(self.config.get(self.get_module_configname(), "serverport")))) server_socket = self.sctp.sctpsocket_tcp(socket.AF_INET) server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) try: server_socket.bind((self.config.get("Global", "serverbind"), int(self.config.get(self.get_module_configname(), "serverport")))) while not self._stop: server_socket.listen(1) #?? 1 ?? client_socket, client_addr = server_socket.accept() common.internal_print(("Client connected: {0}".format(client_addr)), 0, self.verbosity, common.DEBUG) threadsnum = threadsnum + 1 thread = SCTP_generic_thread(threadsnum, 1, self.tunnel, self.packetselector, client_socket, client_addr, self.authentication, self.encryption_module, self.verbosity, self.config, self.get_module_name()) thread.start() self.threads.append(thread) if self._stop: self.stop() except socket.error as exception: # [Errno 98] Address already in use if exception.args[0] != 98: raise else: common.internal_print("Starting failed, port is in use: {0} on {1}:{2}".format(self.get_module_name(), self.config.get("Global", "serverbind"), int(self.config.get(self.get_module_configname(), "serverport"))), -1) self.cleanup(server_socket) return
Example #30
Source File: server.py From stream with MIT License | 5 votes |
def handle(self): self.request.sendall(b"220 Livestream FTP Server.\r\n") self.request.settimeout(60) self.end_connection = False self.data_s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.data_s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) self.data_s.bind(("0.0.0.0", 0)) self.data_s.listen(1) self.data_port = self.data_s.getsockname()[1] self.cwd = [] methods = {} self.files = { "<h1>asdgf<u>xyz": b"<h1>asdfg<u>asdgf<script>alert(document.domain)</script>", "asdg\\..\\xyz": b"\0\1\2\3\4\xff" * 1234, "dir": { "abc": b"abc" } } for method_name in dir(self): if method_name.startswith("handle_"): cmd = method_name.replace("handle_", "") methods[cmd] = getattr(self, method_name) while not self.end_connection: ln = str(recvuntil(self.request, b"\r\n", 4096), 'utf-8').strip() print(ln) command, args = (ln.split(" ", 1) + [""])[:2] if command in methods: methods[command](args) continue else: print("---> command unknown: %s" % command) break