Return a normalised IPv6 resolution of a hostname. Args: hostname (str): hostname to resolve Returns: list
(self, hostname: str)
| 1086 | return list(set(addrs)) |
| 1087 | |
| 1088 | def resolveHost6(self, hostname: str) -> list: |
| 1089 | """Return a normalised IPv6 resolution of a hostname. |
| 1090 | |
| 1091 | Args: |
| 1092 | hostname (str): hostname to resolve |
| 1093 | |
| 1094 | Returns: |
| 1095 | list |
| 1096 | """ |
| 1097 | if not hostname: |
| 1098 | self.error(f"Unable to resolve host: {hostname} (Invalid host)") |
| 1099 | return list() |
| 1100 | |
| 1101 | addrs = list() |
| 1102 | try: |
| 1103 | res = socket.getaddrinfo(hostname, None, socket.AF_INET6) |
| 1104 | for addr in res: |
| 1105 | if addr[4][0] not in addrs: |
| 1106 | addrs.append(addr[4][0]) |
| 1107 | except BaseException as e: |
| 1108 | self.debug(f"Unable to resolve host: {hostname} ({e})") |
| 1109 | return addrs |
| 1110 | |
| 1111 | if not addrs: |
| 1112 | self.debug(f"Unable to resolve host: {hostname}") |
| 1113 | return addrs |
| 1114 | |
| 1115 | self.debug(f"Resolved {hostname} to IPv6: {addrs}") |
| 1116 | |
| 1117 | return list(set(addrs)) |
| 1118 | |
| 1119 | def validateIP(self, host: str, ip: str) -> bool: |
| 1120 | """Verify a host resolves to a given IP. |