def test(self): from gevent.socket import ssl, socket listener = socket() listener.bind(('0.0.0.0', 0)) listener.listen(5) listener = ssl(listener) self.assertRaises(TypeError, self.ServerSubClass, listener)
def _connect(self, host, port): self.host = host self.port = int(port) self.soc = socket(AF_INET, SOCK_STREAM) ADDR = (self.host, self.port) self.soc.connect(ADDR) self.greenlet.spawn(self.on_message) self.greenlet.spawn(self.send_heartbeat)
def __init__(self, address): """ @param address (host, port) of CG services endpoint """ self._address = address self._sock = socket(AF_INET, SOCK_DGRAM) self._recv = _Recv(self._sock) log.debug("CGSNClient created.")
def __init__(self, cg_address): """ @param address (host, port) of the CG services endpoint """ self._cg_address = cg_address self._cg_sock = socket(AF_INET, SOCK_DGRAM) self._receiver = _Receiver() log.debug("CGSNClient created. cg_address: %s", cg_address)
def __init__(self): Greenlet.__init__(self) self._sock = socket(AF_INET, SOCK_DGRAM) self._sock.bind(get_cg_client_address()) self._listener = self._dummy_listener self._line = '' self._running = False
def __init__(self, srcPort): #srcPort self.skt = socket(AF_INET, SOCK_DGRAM) #UDP self.pktId = 0 self.desAddr = None self.recvData = None try: self.skt.bind(('', srcPort)) #used for recv except: raise BIND_FAIL()
def main(port): # 注意是从gevent包中的socket类来创建对象 s = gevent.socket(AF_INET, SOCK_STREAM) s.bind(('', 8080)) s.listen(5) while True: cli, addr = s.accept() gevent.spawn(handle_request, cli)
def check_connection(self): if self._connection == None: print "Connecting to server[%s]" % (self._addr) sock = socket(AF_INET, SOCK_STREAM, 0) host, port = self._addr.split(':') ret = sock.connect_ex((host, int(port))) if ret == 0: print "Connection established to addr[%s]" % (self._addr) self._connection = sock return True print "Connecting failed to addr[%s]" % (self._addr) return False return True
def __init__(self, srcPort): #UDP socket self.skt = socket(AF_INET, SOCK_DGRAM) #UDP self.skt.bind(('', srcPort)) #used for recv #receivers, senders and ACK waiting list self.expId = ListDict() #destAddr => a list of acceptable pktId self.nextId = ListDict() #destAddr => lastPktId self.notACKed = oDict() #(pktId, destAddr) => [timestamp, resendNum, sendPkt] #packet Buffer self.datPkts = Queue() #coroutine spawn(self.recvLoop) spawn(self.ackLoop) sleep(0) #failed Connections self.failed = []
def check_connection(self): if self._connection == None: print "Connecting to server[%s]" % (self._addr) sock = ssl.wrap_socket(socket(AF_INET, SOCK_STREAM, 0), self._key_file, self._cert_file, ssl_version=ssl.PROTOCOL_SSLv3) host, port = self._addr.split(':') ret = sock.connect_ex((host, int(port))) if ret == 0: print "Connection established to addr[%s]" % (self._addr) self._connection = sock return True print "Connecting failed to addr[%s]" % (self._addr) return False return True
def InitConfig(file_name): tree = ET.ElementTree(file=file_name) root = tree.getroot() ip = root.find('server').attrib['ip'] port = root.find('server').attrib['port'] servers = {} conns = [] targets = root.find('targets') for target in targets: servers[target.attrib['name']] = (target.attrib['ip'], target.attrib['port']) sock = socket(AF_INET,SOCK_STREAM) try: sock.connect((target.attrib['ip'], int(target.attrib['port']))) except error as e: if e.errno != 111: raise e print 'Can not connect to %s' % target.attrib['ip'] else: conns.append(sock) return ip, port, servers, conns
def InitConfig(file_name): tree = ET.ElementTree(file=file_name) root = tree.getroot() ip = root.find('server').attrib['ip'] port = root.find('server').attrib['port'] servers = {} conns = [] targets = root.find('targets') for target in targets: servers[target.attrib['name']] = (target.attrib['ip'], target.attrib['port']) sock = socket(AF_INET, SOCK_STREAM) try: sock.connect((target.attrib['ip'], int(target.attrib['port']))) except error as e: if e.errno != 111: raise e print 'Can not connect to %s' % target.attrib['ip'] else: conns.append(sock) return ip, port, servers, conns
def _create_connection(address, timeout=socket._GLOBAL_DEFAULT_TIMEOUT, source_address=None, prepare=None): # Taken from: # https://github.com/python/cpython/blob/0f40482fde59ff307569fa5676183dd8432809a8/Lib/socket.py#L771 # Licensed under the PSFL, version 2 # Copyright (c) 2001-now Python Software Foundation host, port = address err = None for res in socket.getaddrinfo(host, port, 0, socket.SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not socket._GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) if prepare: prepare(sock) sock.connect(sa) # Break explicitly a reference cycle err = None return sock except socket.error as e: err = e if sock is not None: sock.close() if err is not None: try: raise err finally: # Break explicitly a reference cycle err = None else: raise socket.error("getaddrinfo returns an empty list")
def connect(self): hostname, port, resource, is_secure = self._parse_url(self.url) addrinfo_list = getaddrinfo(hostname, port, 0, 0, SOL_TCP) try: self.sock = socket(addrinfo_list[0][0]) self.sock.connect(addrinfo_list[0][4]) if is_secure: if HAVE_SSL: sslopt = dict(cert_reqs=ssl.CERT_REQUIRED) certPath = os.path.join( os.path.dirname(__file__), "cacert.pem") if os.path.isfile(certPath): sslopt['ca_certs'] = certPath #sslopt.update(self.sslopt) check_hostname = sslopt.pop('check_hostname', True) self.sock = ssl.wrap_socket(self.sock, **sslopt) if (sslopt["cert_reqs"] != ssl.CERT_NONE and check_hostname): match_hostname(self.sock.getpeercert(), hostname) else: raise WebSocketException("SSL not available.") self.stream=Stream(self) except Exception, e: raise e
def __init__(self, srcPort): #UDP socket self.skt = socket(AF_INET, SOCK_DGRAM) #UDP self.skt.bind(('', srcPort)) #used for recv #receivers, senders and ACK waiting list self.expId = ListDict() #destAddr => a list of acceptable pktId self.nextId = ListDict() #destAddr => lastPktId self.notACKed = oDict( ) #(pktId, destAddr) => [timestamp, resendNum, sendPkt] #packet Buffer self.datPkts = Queue() #coroutine spawn(self.recvLoop) spawn(self.ackLoop) sleep(0) #failed Connections self.failed = [] #write log if RUDP_LOG: self.log = Logger() #stat if RUDP_STAT: self.rec = Recorder()
from gevent import Greenlet from gevent.socket import * def echo(socket, addr): print '...connected from:', addr fileobj = socket.makefile() while True: line = fileobj.readline() if not line: break fileobj.write("echo: "+line) fileobj.flush() serversock = socket(AF_INET, SOCK_STREAM) serversock.bind( ('localhost',8080) ) serversock.listen(2) while 1: print 'waiting for connection...' clientsock, addr = serversock.accept() Greenlet(echo, clientsock, addr).start()
def testips(dest_ip, dport, verbose, ssl_only, info): device = None ctx = ssl.create_default_context() ctx.check_hostname = False ctx.verify_mode = ssl.CERT_NONE ctx.set_ciphers('ALL') s = socket() s.settimeout(5) try: c = ssl.wrap_socket(s, cert_reqs=ssl.CERT_NONE) c.connect((dest_ip, dport)) a = c.getpeercert(True) b = str(ssl.DER_cert_to_PEM_cert(a)) device = (certs.getcertinfo(b)) #if verbose is not None: #print "Trying: ",str(dest_ip).rstrip('\r\n)') #print "device: ",device if device is not None: if device is "ubiquiti": print str(dest_ip).rstrip( '\r\n)') + ": Ubiquiti AirMax or AirFiber Device (SSL)" if "UBNT" in device: print str(dest_ip).rstrip( '\r\n)') + ": Ubiquiti AirMax or AirFiber Device (SSL)" elif "samsung" in device: print str(dest_ip).rstrip( '\r\n)') + ": Unknown Samsung Device (SSL)" elif "qnap" in device: print str(dest_ip).rstrip( '\r\n)') + ": QNAP NAS TS series detected (SSL)" elif device is "hikvision": print str(dest_ip).rstrip('\r\n)') + ": Hikvision Default Cert" elif device is "avigilon": print str(dest_ip).rstrip( '\r\n)') + ": Aviligon Gateway Default cert" elif device is "netgear_1": print str(dest_ip).rstrip( '\r\n)') + ": NetGear Default cert UTM (SSL)" elif device is "verifone_sapphire": print str(dest_ip).rstrip( '\r\n)') + ": Verifone Sapphire Device (SSL)" elif "Vigor" in device: print str(dest_ip).rstrip( '\r\n)') + ": DrayTek Vigor Device (SSL)" elif device is "lifesize_1": print str(dest_ip).rstrip('\r\n)') + ": Lifesize Product (SSL)" elif "filemaker" in device: print str(dest_ip).rstrip( '\r\n)') + ": Filemaker Secure Database Website (SSL)" elif device is "verizon_jungo": print str(dest_ip).rstrip( '\r\n)') + ": Verizon Jungo OpenRG product (SSL/8443)" elif device is "canon_iradv": print str(dest_ip).rstrip( '\r\n)') + ": Canon IR-ADV Login Page (SSL/8443)" elif "colubris" in device: print str(dest_ip).rstrip( '\r\n)') + ": HPE MSM Series Device (SSL)" elif device is "ecessa": print str(dest_ip).rstrip( '\r\n)') + ": Ecessa PowerLink Wan Optimizer (SSL)" elif device is "nomadix_ag_1": print str(dest_ip).rstrip( '\r\n)') + ": Nomadix AG series Gateway (SSL)" elif "netvanta" in device: print str(dest_ip).rstrip( '\r\n)') + ": ADTRAN NetVanta Total Access Device (SSL)" elif "valuepoint_gwc_1" is device: print str(dest_ip).rstrip( '\r\n)' ) + ": ValuePoint Networks Gateway Controller Series (SSL)" elif device is "broadcom_1": print str(dest_ip).rstrip( '\r\n)') + ": Broadcom Generic Modem (SSL)" elif device is "lg_nas_1": print str(dest_ip).rstrip('\r\n)') + ": LG NAS Device (SSL)" elif device is "edgewater_1": print str(dest_ip).rstrip( '\r\n)') + ": EdgeWater Networks VOIP Solution (SSL)" elif device is "foscam_cam": print str(dest_ip).rstrip( '\r\n)') + ": Foscam IPcam Client Login (SSL)" elif device is "lacie_1": print str(dest_ip).rstrip('\r\n)') + ": LaCie CloudBox (SSL)" elif device is "huawei_hg658": print str(dest_ip).rstrip( '\r\n)') + ": Huawei Home Gateway HG658d (SSL)" elif device is "interpeak_device": print str(dest_ip).rstrip( '\r\n)') + ": Something made by interpeak (SSL)" elif device is "fujistu_celvin": print str(dest_ip).rstrip( '\r\n)') + ": Fujitsu Celvin NAS (SSL)" elif device is "opengear_default_cert": print str(dest_ip).rstrip( '\r\n)' ) + ": Opengear Management Console Default cert (SSL)" elif device is "zyxel_pk5001z": print str(dest_ip).rstrip( '\r\n)') + ": Zyxel PK5001Z default cert (SSL)" elif device is "audiocodecs_8443": print str(dest_ip).rstrip( '\r\n)' ) + ": AudioCodecs MP serices 443/8443 Default Cert (SSL)" elif "supermicro_ipmi" in device: print str(dest_ip).rstrip( '\r\n)') + ": Supermicro IPMI Default Certs (SSL)" elif device is "enco_player_1": print str(dest_ip).rstrip( '\r\n)') + ": Enco Enplayer Default Cert (SSL)" elif device is "ami_megarac": print str(dest_ip).rstrip( '\r\n)' ) + ": AMI MegaRac Remote Management Default Cert (SSL)" elif device is "avocent_1": print str(dest_ip).rstrip( '\r\n)') + ": Avocent Default cert (unknown device) (SSL)" elif device is "ligowave_1": print str(dest_ip).rstrip( '\r\n)' ) + ": LigoWave Default Cert (probably APC Propeller 5) (SSL)" elif "intelbras_wom500" in device: print str(dest_ip).rstrip( '\r\n)') + ": IntelBras Wom500 (admin/admin) (SSL)" elif "netgear_2" in device: print str(dest_ip).rstrip( '\r\n)') + ": Netgear Default Cert Home Router (8443/SSL)" elif "buffalo_1" in device: print str(dest_ip).rstrip( '\r\n)') + ": Buffalo Default Cert (443/SSL)" elif "digi_int_1" in device: print str(dest_ip).rstrip( '\r\n)') + ": Digi Passport Default Cert (443/SSL)" elif "prtg_network_monitor_1" in device: print str(dest_ip).rstrip( '\r\n)' ) + ": Paessler PTRG Monitoring Default Cert(443/SSL)" elif 'axentra_1' in device: print str(dest_ip).rstrip( '\r\n)' ) + ": Seagate/Axentra NAS Default Cert 863B4AB (443/SSL)" elif 'ironport_device' in device: print str(dest_ip).rstrip( '\r\n)') + ": Cisco IronPort Device Default SSL (443/SSL)" elif 'meru_net_1' in device: print str(dest_ip).rstrip( '\r\n)') + ": Meru Network Management Device (443/SSL)" #elif "matrix_sample_ssl_1": # print str(dest_ip).rstrip('\r\n)') + ": Matrix SSL default server for WiMax Devices(443/SSL)" elif a is not None and device is None: getheaders_ssl(dest_ip, dport, a, verbose, ctx, ssl_only, info) else: print "Something error happened" s.close() except KeyboardInterrupt: print "Quitting" sys.exit(0) except Exception as e: s.close() if 111 in e and ssl_only == 0: getheaders(dest_ip, dport, verbose, info) elif ("timed out" or 'sslv3' in e) and ssl_only == 0: getheaders(dest_ip, dport, verbose, info) pass if verbose is not None: print e if verbose is not None: print "Error Catch at line 133", e
from gevent import Greenlet from gevent.socket import * def echo(socket, addr): print '...connected from:', addr fileobj = socket.makefile() while True: line = fileobj.readline() if not line: break fileobj.write("echo: " + line) fileobj.flush() serversock = socket(AF_INET, SOCK_STREAM) serversock.bind(('localhost', 8080)) serversock.listen(2) while 1: print 'waiting for connection...' clientsock, addr = serversock.accept() Greenlet(echo, clientsock, addr).start()
def __init__(self, srcPort): self.skt = socket(AF_INET, SOCK_DGRAM) #UDP self.skt.bind(('', srcPort)) #used for recv self.seq = 0
def testips(dest_ip, dport, verbose, ssl_only, info): device = None ctx = ssl.create_default_context() ctx.check_hostname = False ctx.verify_mode = ssl.CERT_NONE ctx.set_ciphers('ALL') s = socket() s.settimeout(3) try: c = ssl.wrap_socket(s, cert_reqs=ssl.CERT_NONE) c.connect((dest_ip, dport)) a = c.getpeercert(True) b = str(ssl.DER_cert_to_PEM_cert(a)) device = (certs.getcertinfo(b)) # if verbose is not None: # print "Trying: ",str(dest_ip).rstrip('\r\n)') # print "device: ",device if device is not None: if device is "ubiquiti": print str(dest_ip).rstrip('\r\n)') + ": Ubiquiti AirMax or AirFiber Device (SSL)" if "UBNT" in device: print str(dest_ip).rstrip('\r\n)') + ": Ubiquiti AirMax or AirFiber Device (SSL)" elif "samsung" in device: print str(dest_ip).rstrip('\r\n)') + ": Unknown Samsung Device (SSL)" elif "qnap" in device: print str(dest_ip).rstrip('\r\n)') + ": QNAP NAS TS series detected (SSL)" elif device is "hikvision": print str(dest_ip).rstrip('\r\n)') + ": Hikvision Default Cert" elif device is "avigilon": print str(dest_ip).rstrip('\r\n)') + ": Aviligon Gateway Default cert" elif device is "netgear_1": print str(dest_ip).rstrip('\r\n)') + ": NetGear Default cert UTM (SSL)" elif device is "verifone_sapphire": print str(dest_ip).rstrip('\r\n)') + ": Verifone Sapphire Device (SSL)" elif "Vigor" in device: print str(dest_ip).rstrip('\r\n)') + ": DrayTek Vigor Device (SSL)" elif device is "lifesize_1": print str(dest_ip).rstrip('\r\n)') + ": Lifesize Product (SSL)" elif "filemaker" in device: print str(dest_ip).rstrip('\r\n)') + ": Filemaker Secure Database Website (SSL)" elif device is "verizon_jungo": print str(dest_ip).rstrip('\r\n)') + ": Verizon Jungo OpenRG product (SSL/8443)" elif device is "canon_iradv": print str(dest_ip).rstrip('\r\n)') + ": Canon IR-ADV Login Page (SSL/8443)" elif "colubris" in device: print str(dest_ip).rstrip('\r\n)') + ": HPE MSM Series Device (SSL)" elif device is "ecessa": print str(dest_ip).rstrip('\r\n)') + ": Ecessa PowerLink Wan Optimizer (SSL)" elif device is "nomadix_ag_1": print str(dest_ip).rstrip('\r\n)') + ": Nomadix AG series Gateway (SSL)" elif "netvanta" in device: print str(dest_ip).rstrip('\r\n)') + ": ADTRAN NetVanta Total Access Device (SSL)" elif "valuepoint_gwc_1" is device: print str(dest_ip).rstrip('\r\n)') + ": ValuePoint Networks Gateway Controller Series (SSL)" elif device is "broadcom_1": print str(dest_ip).rstrip('\r\n)') + ": Broadcom Generic Modem (SSL)" elif device is "lg_nas_1": print str(dest_ip).rstrip('\r\n)') + ": LG NAS Device (SSL)" elif device is "edgewater_1": print str(dest_ip).rstrip('\r\n)') + ": EdgeWater Networks VOIP Solution (SSL)" elif device is "foscam_cam": print str(dest_ip).rstrip('\r\n)') + ": Foscam IPcam Client Login (SSL)" elif device is "lacie_1": print str(dest_ip).rstrip('\r\n)') + ": LaCie CloudBox (SSL)" elif device is "huawei_hg658": print str(dest_ip).rstrip('\r\n)') + ": Huawei Home Gateway HG658d (SSL)" elif device is "interpeak_device": print str(dest_ip).rstrip('\r\n)') + ": Something made by interpeak (SSL)" elif device is "fujistu_celvin": print str(dest_ip).rstrip('\r\n)') + ": Fujitsu Celvin NAS (SSL)" elif device is "opengear_default_cert": print str(dest_ip).rstrip('\r\n)') + ": Opengear Management Console Default cert (SSL)" elif device is "zyxel_pk5001z": print str(dest_ip).rstrip('\r\n)') + ": Zyxel PK5001Z default cert (SSL)" elif device is "audiocodecs_8443": print str(dest_ip).rstrip('\r\n)') + ": AudioCodecs MP serices 443/8443 Default Cert (SSL)" elif "supermicro_ipmi" in device: print str(dest_ip).rstrip('\r\n)') + ": Supermicro IPMI Default Certs (SSL)" elif device is "enco_player_1": print str(dest_ip).rstrip('\r\n)') + ": Enco Enplayer Default Cert (SSL)" elif device is "ami_megarac": print str(dest_ip).rstrip('\r\n)') + ": AMI MegaRac Remote Management Default Cert (SSL)" elif device is "avocent_1": print str(dest_ip).rstrip('\r\n)') + ": Avocent Default cert (unknown device) (SSL)" elif device is "ligowave_1": print str(dest_ip).rstrip('\r\n)') + ": LigoWave Default Cert (probably APC Propeller 5) (SSL)" elif "intelbras_wom500" in device: print str(dest_ip).rstrip('\r\n)') + ": IntelBras Wom500 (admin/admin) (SSL)" elif "netgear_2" in device: print str(dest_ip).rstrip('\r\n)') + ": Netgear Default Cert Home Router (8443/SSL)" elif "buffalo_1" in device: print str(dest_ip).rstrip('\r\n)') + ": Buffalo Default Cert (443/SSL)" elif "digi_int_1" in device: print str(dest_ip).rstrip('\r\n)') + ": Digi Passport Default Cert (443/SSL)" elif "prtg_network_monitor_1" in device: print str(dest_ip).rstrip('\r\n)') + ": Paessler PTRG Monitoring Default Cert(443/SSL)" elif 'axentra_1' in device: print str(dest_ip).rstrip('\r\n)') + ": Seagate/Axentra NAS Default Cert 863B4AB (443/SSL)" elif 'ironport_device' in device: print str(dest_ip).rstrip('\r\n)') + ": Cisco IronPort Device Default SSL (443/SSL)" elif 'meru_net_1' in device: print str(dest_ip).rstrip('\r\n)') + ": Meru Network Management Device (443/SSL)" elif 'bticino_1' in device: print str(dest_ip).rstrip('\r\n)') + ": BTcinino My Home Device w/ Default Cert (443/SSL)" # elif "matrix_sample_ssl_1": # print str(dest_ip).rstrip('\r\n)') + ": Matrix SSL default server for WiMax Devices(443/SSL)" elif a is not None and device is None: getheaders_ssl(dest_ip, dport, a, verbose, ctx, ssl_only, info) else: print "Something error happened" s.close() except KeyboardInterrupt: print "Quitting" sys.exit(0) except Exception as e: s.close() if 111 in e and ssl_only == 0: getheaders(dest_ip, dport, verbose, info) elif ("timed out" or 'sslv3' in e) and ssl_only == 0: getheaders(dest_ip, dport, verbose, info) pass # if verbose is not None: # print str(dest_ip).rstrip('\r\n)') + ": had error " + str(e).rstrip('\r\n)') if verbose is not None: print "Error in testip: " + str(e) + " " + str(dest_ip).rstrip('\r\n)')