利用撒旦搜索引擎查询ip个数,批量下载ip
利用撒旦搜索引擎查询ip个数,批量下载ip,使用语言python3.x
批量测试时,为了方便直接撸下ip,所以用python写了个GUI撒旦利用工具,写的不是很好,但能用,最下面有下载。
from tkinter import * import threading import shodan root=Tk() screenwidth = root.winfo_screenwidth() screenheight = root.winfo_screenheight() size = '%dx%d+%d+%d' % (300, 400, (screenwidth-300)/ 2, (screenheight-400) / 2) root.geometry(size) root.title('撒旦GUI') root.resizable(width=False, height=False) title=Label(root,text='python3 撒旦利用GUI',font="16") title.pack() api=Label(root,text='输入API',width=12) api_input=Entry(root,width=20) api.place(x=30,y=40) api_input.place(x=140,y=40) search=Label(root,text='请输入查询语句',width=12) search_input=Entry(root,width=20) search.place(x=30,y=80) search_input.place(x=140,y=80) #文件名输入 txt_name_input=Entry(root) txt_name_input.place(x=180,y=120,width=60,height = 30) txt_txt = Label(root,text='.txt',font="10") txt_txt.place(x=240,y=125) #输出框 show_1 = Entry(root) show_1.place(x=20, y=160, width=250, height=200) def false(): show_1.insert("1","请检查API、网络状态、关键字") def ip_number(): show_1.delete(0, END) show_1.insert("1", "正在查询") try: api_s = shodan.Shodan(api_input.get()) results = api_s.search(search_input.get()) #如果修改搜索的内容请注意符号 ips = results['total'] #ip个数 ips_str = "ip个数为 "+str(ips) show_1.delete(0, END) show_1.insert(1,ips_str) except shodan.APIError as e: false() def ip_download(): show_1.delete(0,END) show_1.insert("1", "正在下载") txt_name =txt_name_input.get()+".txt" f = open(txt_name, 'a+') try: api_s = shodan.Shodan(api_input.get()) results = api_s.search(search_input.get()) show_1.insert(1, "正在下载ip:端口. . . . . . ") for result in results['matches']: url = result['ip_str'] + ":" + str(result['port']) f.write(url) #f.write("http://" + url) f.write("\n") f.close() show_1.delete(0, END) show_1.insert(1,"ip收集完毕 T0.0T") except shodan.APIError as e: false() def T_ip_number(): T = threading.Thread(target=ip_number) T.start() def T_ip_download(): T = threading.Thread(target=ip_download) T.start() B_ip=Button(root,text="获取ip个数",width=10,relief=GROOVE,command=T_ip_number) B_ip.place(x=20,y=120) B_txt=Button(root,text="下载到txt",width=10,relief=GROOVE,command=T_ip_download) B_txt.place(x=100,y=120) root.mainloop()
py下载 https://wwn.lanzout.com/iRkPs02f2jkj
exe下载 https://wwn.lanzout.com/iaktF02f2i9c 密码 6vdu