信息收集
判断域名是否存在CDN
使用网站http://ping.chianz.com
ping :https://www.bilibili.com/
查询出ip地址多于1个时说明这些ip地址不是真实的服务器地址。
绕过CDN获取真实IP
1,通过内部邮箱来获取网站真实IP
通过目标网站的邮箱注册或者订阅邮件等功能,让网站的邮箱服务器给自己的邮箱服务器发送邮件。查看邮件的原始邮件头。
2,查看域名的历史解析记录。
通过网站: https://dnsdb.io/zh-cn
3,子域名查询
CDN服务,细小子站可能没有购买,可以查找子站或者旁站的IP。
4,外国地址访问。
5,主域名查询
去掉www直接ping网站 查看IP是否变化。
6,Nslookup查询
查询域名的NS,MX,TXT记录。
nslookup -qt=ns xxx.com
#NS记录是指域名服务器的记录,用来指定域名由哪台服务器进行解析
nslookup -qt=mx xxx.com
#MX记录mail服务的权重值,当mail服务器对域名进行解析时,会找权重值较小的服务器进行连通
nslookup -qt=txt xxx.com
#TXT记录一般是为某一条设置说明
了解到真实IP后对网站域whois信息进行收集
工具网址:http://whois.chianz.com/ https://tool.chinaz.com/ipwhois/
Python列表
#创建列表
stu=['a','b','v']
#也可以通过list()函数将元组,字符串,字典等可迭代对象转化为列表
num=list((1,2,3,4))
print('1:',stu,num)
#删除列表
#删除单个元素
del num[1]
print('2:',num)
#删除整个对象
#del num
#添加单个元素
num.append(9)
print('3:',num)
#添加列表abc
abc=['abc','cdf']
num.extend(abc)
print('4:',num)
#在列表指定位置添加元素
list=[1,2,1]
do='abc'
list.insert(2,do)
print('5:',list)
#删除列表中首次出现的元素
list.remove(1)
print('6:',list)
#删除并返回列表中指定下标的元素
end=[1,2,3,4,5,6,1,1,1]
print(end.pop(1))
#返回指定元素在列表中出现的次数
print(end.count(1))
#将列表中的所有元素逆序
end.reverse()
print('a',end)
#对列表中的元素进行排序
end.sort(key=str,reverse=False)
print('a:',end)
元组
元组属于不可变序列,一旦创建后便无法对元素进行增删改查
tuple = ('m','s',0,1,2,3)
print(tuple)
字典
Python中的字典是包含若干“键:值”
#创建字典
dic = {'url':'https://www.bilibili.com','num':'10'}
print('1:',dic)
#修改字典中的元素
dic['num']=25
print('2:',dic)
#为字典添加新元素
dic['sex']='nan'
print('3:',dic)
#返回字典中的所有元素
print(dic.items())
#删除字典中的元素
del dic['sex']
print('4:',dic)
选择结构
list=[1,2,3]
for a in list:
if(a>1):
print(a)
else:
print('no')
循环结构
For:
sum=0
for i in range(10,50):
sum=sum+i
else:
print(sum)
While:
sum=0
x=int(input('x='))
while x!=1:
sum=sum+x
x=x-1
else:
print('sum=',sum)
文件处理
1,打开文件创建对象
open(file[,mode=''{,buffering=]])
file:指定要打开或者创建的文件的名称
mode:打开文件的处理方式(读,写,追加,二进制,文本,读写)
buffering:读写文件的缓冲模式,0不缓存,1使用行缓存模式
2,对文件内容进行操作
(1)写入内容
w:写入模式。如果文本存在,则先清空文本
x:写入模式,创建新文件,如果文本存在,抛出异常
a: 追加模式,不覆盖文本原有内容
使用w:
s='hello'
f=open(r'F:\daima\python\1.txt','w')
f.write(s)
f.close()
使用a:
s='hello lin'
f=open(r'F:\daima\python\1.txt','a')
f.write(s)
f.close()
(2)读取文件中的内容
r:读模式,如果文件不存在,则抛出异常
+: 读写模式
f=open(r'F:\daima\python\1.txt','r')
print(f.readline())#读取第一行
print(f.read())#读取全部
(3)关闭文件对象
f.close()#关闭文件对象,才能确保修改都被保存