问题:1.更改源的问题(使下载提速)问题2:端口扫描器只能扫到一个端口
初次自己写工具,感谢小迪师傅
使用到的模块:
time(非必须) os socket whois(第三方库)
目标:输入域名后自动获取其ip地址,判断cdn服务,whois信息查询,爆破子域名,进行端口扫描
根据域名获取ip
import socket
#ip=socket.getaddrinfo('baidu.com',8080) #该方法需要域名和端口两个参数
ip=socket.gethostbyname('baidu.com')#根据域名获取服务器ip
print(ip)
判断网站是否使用了cdn技术
(使用了cdn技术的话,ping的ip可能不是服务器的真实ip)
import os
import time
def pd_cdn(ym):
q1=os.popen(f'nslookup {ym}')
q2=q1.read()#刚刚q2没有数值,一番调试后发现,返回的q1的object数据只能被read一次,前面read了,后面就read不了了
q3=q2.count('.')#通过计算返回数据中点的数量来判断返回了几条ip地址
if q3>10:
print(f'{ym}使用了cdn技术')
else:
print(f'{ym}没有使用cdn技术')
pd_cdn('www.baidu.com')
子域名收集
通过字典添加域名前缀,然后调用系统命令去ping,能ping通则说明该域名存在
import socket
def domain_scaner(ym,dic):#domain是域名的意思,传入的第一个参数是主域名,第二个参数是字典路径,都是字符串格式
for ymqz in open(dic):
ymqz=ymqz.replace('\n','')#replace是对字符串操作的方法,作用是替换字符串中的特定字符
url=ymqz+'.'+ym#但是发现前缀和主域名拼接后不在同一行,因为读取了dic.txt中的换行符,所以需要做一些小修改
try:
ip=socket.gethostbyname(url)#通过域名去查询ip,域名存在就会返回结果
jg=ip+'|'+url
print(jg+'\n')
except Exception as e:
pass
端口扫描
whois信息查询
import whois
q1=whois.whois('www.baidu.com')
功能集合
import whois
import os
import time
import socket
#whois查询
def whois_check(ym):
q1=whois.whois(ym)
print(q1)
#ip判断
def ip_check(ym):
#ip=socket.getaddrinfo('baidu.com',8080) #该方法需要域名和端口两个参数
ip=socket.gethostbyname(ym)#根据域名获取服务器ip
print(ip)
#判断cdn
def pd_cdn(ym):
q1=os.popen(f'nslookup {ym}')
q2=q1.read()
q3=q2.count('.')
if q3>10:
print(f'{ym}使用了cdn技术')
else:
print(f'{ym}没有使用cdn技术')
#子域名收集
def domain_scaner(ym):
for ymqz in open('dic.txt'):
ymqz=ymqz.replace('\n','')
url=ymqz+'.'+ym
try:
ip=socket.gethostbyname(url)
jg=ip+'|'+url
print(jg+'\n')
except Exception as e:
pass
#端口扫描
#功能集合
def information_check():
ym=input('输入域名:')
ip_check(ym)
whois_check(ym)
pd_cdn(ym)
domain_scaner(ym)
information_check()