本文整理汇总了Python中ralph.util.network.check_tcp_port函数的典型用法代码示例。如果您正苦于以下问题:Python check_tcp_port函数的具体用法?Python check_tcp_port怎么用?Python check_tcp_port使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了check_tcp_port函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: ssh_linux
def ssh_linux(**kwargs):
if 'nx-os' in kwargs.get('snmp_name', '').lower():
return False, 'incompatible Nexus found.', kwargs
kwargs['guessmodel'] = gvendor, gmodel = guessmodel.guessmodel(**kwargs)
if gmodel not in {'Linux', 'ESX', 'XEN'}:
return False, 'no match: %s %s' % (gvendor, gmodel), kwargs
ip = str(kwargs['ip'])
if not network.check_tcp_port(ip, 22):
return False, 'closed.', kwargs
ssh = None
auths = [
(settings.SSH_USER or 'root', settings.SSH_PASSWORD),
(settings.XEN_USER, settings.XEN_PASSWORD),
]
try:
for user, password in auths:
if user is None or password is None:
continue
try:
ssh = network.connect_ssh(ip, user, password)
except network.AuthError:
pass
else:
break
else:
return False, 'Authorization failed', kwargs
name = run_ssh_linux(ssh, ip)
except (network.Error, paramiko.SSHException) as e:
return False, str(e), kwargs
return True, name, kwargs
示例2: ssh_linux
def ssh_linux(**kwargs):
if "nx-os" in kwargs.get("snmp_name", "").lower():
return False, "incompatible Nexus found.", kwargs
kwargs["guessmodel"] = gvendor, gmodel = guessmodel.guessmodel(**kwargs)
if gmodel not in {"Linux", "ESX", "XEN"}:
return False, "no match: %s %s" % (gvendor, gmodel), kwargs
ip = str(kwargs["ip"])
if not network.check_tcp_port(ip, 22):
return False, "closed.", kwargs
ssh = None
auths = [(settings.SSH_USER or "root", settings.SSH_PASSWORD), (settings.XEN_USER, settings.XEN_PASSWORD)]
try:
for user, password in auths:
if user is None or password is None:
continue
try:
ssh = network.connect_ssh(ip, user, password)
except network.AuthError:
pass
else:
break
else:
return False, "Authorization failed", kwargs
name = run_ssh_linux(ssh, ip)
except (network.Error, paramiko.SSHException) as e:
return False, str(e), kwargs
return True, name, kwargs
示例3: ssh_onstor
def ssh_onstor(**kwargs):
if SSH_ONSTOR_USER is None or SSH_ONSTOR_PASSWORD is None:
return False, 'no credentials.', kwargs
if 'nx-os' in kwargs.get('snmp_name', '').lower():
return False, 'incompatible Nexus found.', kwargs
ip = str(kwargs['ip'])
if kwargs.get('http_family') not in ('sscccc',):
return False, 'no match.', kwargs
if not network.check_tcp_port(ip, 22):
DiscoveryWarning(
message="Port 22 closed on an Onstor device.",
plugin=__name__,
ip=ip,
).save()
return False, 'closed.', kwargs
try:
name = _run_ssh_onstor(ip)
except (network.Error, Error, paramiko.SSHException) as e:
DiscoveryWarning(
message="This is an Onstor, but: " + str(e),
plugin=__name__,
ip=ip,
).save()
return False, str(e), kwargs
return True, name, kwargs
示例4: ssh_xen
def ssh_xen(**kwargs):
ip = str(kwargs['ip'])
if XEN_USER is None:
return False, 'no auth.', kwargs
if 'nx-os' in kwargs.get('snmp_name', '').lower():
return False, 'incompatible Nexus found.', kwargs
if 'xen' not in kwargs.get('snmp_name', ''):
return False, 'no match.', kwargs
if not network.check_tcp_port(ip, 22):
DiscoveryWarning(
message="Port 22 closed on a XEN server.",
plugin=__name__,
ip=ip,
).save()
return False, 'closed.', kwargs
ipaddr = IPAddress.objects.get(address=ip)
dev = ipaddr.device
if dev is None:
return False, 'no device.', kwargs
try:
name = run_ssh_xen(ipaddr, dev)
except (network.Error, Error, paramiko.SSHException) as e:
DiscoveryWarning(
message="This is a XEN, but: " + str(e),
plugin=__name__,
ip=ip,
).save()
return False, str(e), kwargs
return True, name, kwargs
示例5: ssh_ibm_bladecenter
def ssh_ibm_bladecenter(**kwargs):
if 'nx-os' in kwargs.get('snmp_name', '').lower():
return False, 'incompatible Nexus found.', kwargs
ip = str(kwargs['ip'])
if kwargs.get('http_family', '') not in ('IBM', 'Unspecified'):
return False, 'no match.', kwargs
if not kwargs.get('snmp_name', 'IBM').startswith('IBM'):
return False, 'no match.', kwargs
if not network.check_tcp_port(ip, 22):
DiscoveryWarning(
message="Port 22 closed on an IBM BladeServer.",
plugin=__name__,
ip=ip,
).save()
return False, 'closed.', kwargs
try:
name = run_ssh_bladecenter(ip)
except (network.Error, Error, paramiko.SSHException, socket.error) as e:
DiscoveryWarning(
message="This is an IBM BladeServer, but: " + str(e),
plugin=__name__,
ip=ip,
).save()
return False, str(e), kwargs
return True, name, kwargs
示例6: _detect_software
def _detect_software(ip, dev, http_family):
detected = []
if network.check_tcp_port(ip, 1521):
detected.append('Oracle')
Software.create(dev, 'oracle', 'Oracle', family='Database').save()
else:
dev.software_set.filter(path='oracle').all().delete()
if network.check_tcp_port(ip, 3306):
detected.append('MySQL')
Software.create(dev, 'mysql', 'MySQL', family='Database').save()
else:
dev.software_set.filter(path='mysql').all().delete()
if network.check_tcp_port(ip, 80) or network.check_tcp_port(ip, 443):
detected.append('WWW')
Software.create(dev, 'www', 'WWW', label=http_family, family='WWW').save()
else:
dev.software_set.filter(path='www').all().delete()
return ', '.join(detected)
示例7: _connect_ssh
def _connect_ssh(ip_address, user, password):
if not network.check_tcp_port(ip_address, 22):
raise ConnectionError('Port 22 closed on a HP MSA Storage.')
return network.connect_ssh(
ip_address,
user,
password,
client=HPSSHClient,
)
示例8: ssh_ganeti
def ssh_ganeti(**kwargs):
if 'nx-os' in kwargs.get('snmp_name', '').lower():
return False, 'incompatible Nexus found.', kwargs
ip = str(kwargs['ip'])
if not network.check_tcp_port(ip, 22):
return False, 'port 22 closed.', kwargs
try:
name = run_ssh_ganeti(ip)
except (network.Error, Error, paramiko.SSHException) as e:
return False, str(e), kwargs
return True, name, kwargs
示例9: ssh_cisco_asa
def ssh_cisco_asa(**kwargs):
ip = str(kwargs["ip"])
kwargs["guessmodel"] = gvendor, gmodel = guessmodel.guessmodel(**kwargs)
if gvendor != "Cisco" or gmodel not in ("",):
return False, "no match: %s %s" % (gvendor, gmodel), kwargs
if not network.check_tcp_port(ip, 22):
return False, "closed.", kwargs
try:
name = run_ssh_asa(ip)
except (network.Error, Error) as e:
return False, str(e), kwargs
except paramiko.SSHException as e:
return False, str(e), kwargs
return True, name, kwargs
示例10: ssh_cisco_asa
def ssh_cisco_asa(**kwargs):
ip = str(kwargs['ip'])
kwargs['guessmodel'] = gvendor, gmodel = guessmodel.guessmodel(**kwargs)
if gvendor != 'Cisco' or gmodel not in ('',):
return False, 'no match: %s %s' % (gvendor, gmodel), kwargs
if not network.check_tcp_port(ip, 22):
return False, 'closed.', kwargs
try:
name = run_ssh_asa(ip)
except (network.Error, Error) as e:
return False, str(e), kwargs
except paramiko.SSHException as e:
return False, str(e), kwargs
return True, name, kwargs
示例11: ssh_proxmox
def ssh_proxmox(**kwargs):
ip = str(kwargs['ip'])
if kwargs.get('http_family') not in ('Proxmox',):
return False, 'no match.', kwargs
if not network.check_tcp_port(ip, 22):
return False, 'closed.', kwargs
try:
name = run_ssh_proxmox(ip)
except (network.Error, Error) as e:
return False, str(e), kwargs
except paramiko.SSHException as e:
return False, str(e), kwargs
except Error as e:
return False, str(e), kwargs
return True, name, kwargs
示例12: _detect_software
def _detect_software(ip_address, http_family):
software = []
if network.check_tcp_port(ip_address, 1521):
software.append({
'path': 'oracle',
'model_name': 'Oracle',
})
if network.check_tcp_port(ip_address, 3306):
software.append({
'path': 'mysql',
'model_name': 'MySQL',
})
if any((
network.check_tcp_port(ip_address, 80),
network.check_tcp_port(ip_address, 443),
)):
soft = {
'path': 'www',
'model_name': 'WWW',
}
if http_family:
soft['label'] = http_family
software.append(soft)
return software
示例13: scan_address
def scan_address(ip_address, **kwargs):
if 'nx-os' in kwargs.get('snmp_name', '').lower():
raise NoMatchError("Incompatible Nexus found.")
if 'StorageWorks' not in kwargs.get('snmp_name'):
raise NoMatchError("No match")
if not network.check_tcp_port(ip_address, 22):
raise ConnectionError("Port 22 closed.")
device = _run_ssh_p2000(ip_address)
ret = {
'status': 'success',
'device': device,
}
tpl = get_base_result_template('ssh_hp_p2000')
tpl.update(ret)
return json.loads(json.dumps(tpl)) # to ensure its picklable
示例14: ssh_ssg
def ssh_ssg(**kwargs):
ip = str(kwargs['ip'])
if kwargs.get('http_family') not in ('SSG', 'Unspecified'):
return False, 'no match.', kwargs
if not network.check_tcp_port(ip, 22):
return False, 'closed.', kwargs
try:
name = run_ssh_ssg(ip)
except network.Error as e:
return False, str(e), kwargs
except Error as e:
return False, str(e), kwargs
except paramiko.SSHException as e:
return False, str(e), kwargs
return True, name, kwargs
示例15: ssh_cisco_asa
def ssh_cisco_asa(**kwargs):
ip = str(kwargs['ip'])
if 'nx-os' in kwargs.get('snmp_name', '').lower():
return False, 'incompatible Nexus found.', kwargs
kwargs['guessmodel'] = gvendor, gmodel = guessmodel.guessmodel(**kwargs)
if gvendor != 'Cisco' or gmodel not in ('',):
return False, 'no match: %s %s' % (gvendor, gmodel), kwargs
if not network.check_tcp_port(ip, 22):
return False, 'closed.', kwargs
try:
name = run_ssh_asa(ip)
except (network.Error, Error) as e:
return False, str(e), kwargs
except paramiko.SSHException as e:
return False, str(e), kwargs
return True, name, kwargs