def check_port(domain, port):
try:
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.settimeout(5)
result = s.connect_ex((domain, port))
if result == 0:
print(fPort {port} is open)
else:
print(fPort {port} is closed)
except Exception as e:
print(fError: {e})
检查域名对应的 IP 地址
def get_ip_address(domain):
try:
return socket.gethostbyname(domain)
except socket.gaierror:
print(fCould not resolve hostname {domain})
return None
主函数
if __name__ == __main__:
domain = yourdomain.com
ip_address = get_ip_address(domain)
if ip_address:
for port in [80, 443, 22]: 常见的端口号
check_port(ip_address, port)