好久没更新csdn了。24年二月最后一天,写篇文章吧,作为24年第一篇文章,是不是最后一篇我就不知道了。
最近在写端口扫描的代码,输入是网站的url,输出是开放的端口。
首先就要将输入的网站url转化为域名和主机ip地址,其中的原理我就不唠叨了,网上的相关内容太多了,直接贴代码吧:
import socket
from urllib.parse import urlparse
def get_domain_and_ip(url):
try:
url = urlparse(url)
domain = url.netloc or url.path
print(f"Domain: {domain}")
# 尝试使用HTTP和HTTPS获取地址信息
addresses = socket.getaddrinfo(domain, 'http') + socket.getaddrinfo(domain, 'https')
# 过滤出IPv4地址并打印
for address in addresses:
if address[0] == socket.AF_INET:
print(f"IP: {address[4][0]}")
break
except Exception as e:
print(f"Error: {str(e)}")
url = input("输入网站的url: ")
get_domain_and_ip(url)
结果是这样的:
输入网站url后,出现该url对应的域名和主机ip地址。
那这篇文章就这样啦,与大家共勉。