利用撒旦搜索引擎查询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

利用撒旦搜索引擎查询ip个数,批量下载ip的更多相关文章
- C++代码利用pthread线程池与curl批量下载地图瓦片数据
项目需求编写的程序,稳定性有待进一步测试. 适用场景:在网络地图上,比如天地图与谷歌地图,用户用鼠标在地图上拉一个矩形框,希望下载该矩形框内某一层级的瓦片数据,并将所有瓦片拼接成一个完整的,包含地理坐 ...
- 利用斗图啦网站API批量下载表情图片
decorator.py #!/usr/bin/env python # -*- coding: utf-8 -*- import logging import os from functools i ...
- 利用SkyDrive Pro 迅速批量下载SharePoint Server 上已上传的文件
在上一篇<SharePoint Server 2013 让上传文件更精彩>,我们一起了解了如何快速的方便的上传批量文件到SharePoint Server 2013 ,而在这一篇日志中您将 ...
- 【数据下载】利用wget命令批量下载ftp文件和文件夹
这是一个“”数据大发现”的时代,大家都在创造数据,使用数据以及分享数据,首先一步我们就需要从数据库download我们需要的数据. Ftp是一种常见的在线数据库,今天介绍一种可以批量下载文件夹的方法, ...
- SQL 横转竖 、竖专横 (转载) 使用Dapper.Contrib 开发.net core程序,兼容多种数据库 C# 读取PDF多级书签 Json.net日期格式化设置 ASPNET 下载共享文件 ASPNET 文件批量下载 递归,循环,尾递归 利用IDisposable接口构建包含非托管资源对象 《.NET 进阶指南》读书笔记2------定义不可改变类型
SQL 横转竖 .竖专横 (转载) 普通行列转换 问题:假设有张学生成绩表(tb)如下: 姓名 课程 分数 张三 语文 74 张三 数学 83 张三 物理 93 李四 语文 74 李四 数学 84 ...
- 【Python】批量查询-提取站长之家IP批量查询的结果加强版本v3.0
1.工具说明 写报告的时候为了细致性,要把IP地址对应的地区给整理出来.500多条IP地址找出对应地区复制粘贴到报告里整了一个上午. 为了下次更好的完成这项重复性很高的工作,所以写了这个小的脚本. 某 ...
- 【Python】批量查询-提取站长之家IP批量查询的结果v1.0
0 前言 写报告的时候为了细致性,要把IP地址对应的地区给整理出来.500多条IP地址找出对应地区复制粘贴到报告里整了一个上午. 为了下次更好的完成这项重复性很高的工作,所以写了这个小的脚本. 1 使 ...
- 利用struts2进行单个文件,批量文件上传,ajax异步上传以及下载
利用struts2进行单个文件,批量文件上传,ajax异步上传以及下载 1.页面显示代码 <%@ page language="java" import="java ...
- 如何利用efetch从NCBI中批量下载数据?
目录 找序列 下序列 假设我要从NCBI中下载全部水稻的mRNA序列,如何实施? 找序列 第一步,肯定是找到相关序列. 我从ncbi taxonomy进入,搜索oryza.因为要搜索mRNA核酸序列, ...
随机推荐
- 面试问题之数据库:SQL优化的具体操作
转载于:https://www.cnblogs.com/wangzhengyu/p/10412499.html SQL优化的具体操作: 1.尽量避免使用select *,返回无用的字段会降低查询效率. ...
- MySQL_fetch_array 和 MySQL_fetch_object 的区别是什么?
以下是 MySQL_fetch_array 和 MySQL_fetch_object 的区别: MySQL_fetch_array() – 将结果行作为关联数组或来自数据库的常规数组返回. MySQL ...
- forward和redirect的区别?http状态码301,302分别代表什么?
一.forward和redirect的区别 从地址栏显示来说:forward是服务器内部重定向,客户端浏览器的网址不会发生变化:redirect发生一个状态码,告诉服务器去重新请求那个网址,显示的的新 ...
- MyBatis 实现一对多有几种方式,怎么操作的?
有联合查询和嵌套查询.联合查询是几个表联合查询,只查询一次,通过在 resultMap 里面的 collection 节点配置一对多的类就可以完成:嵌套查询是先查 一个表,根据这个表里面的 结果的外键 ...
- 《深入理解ES6》笔记——块级作用域绑定(1)
本章涉及3个知识点,var.let.const,现在让我们了解3个关键字的特性和使用方法. var JavaScript中,我们通常说的作用域是函数作用域,使用var声明的变量,无论是在代码的哪个地方 ...
- 【uniapp 开发】手绘签名组件
代码如下: <template> <view class="content"> <button type="primary" @t ...
- java中哪块代码或说什么代码应该放在try块中呢?
我怎么知道哪块代码可能出现问题,从而放在try块儿中呢?马 克-to-win:一个笨办法,开始时,你并不加try,但你发现,运行时,用户赋给除数一个0,所以程序在这崩溃了,于是你就把这块代码加个try ...
- CCF201812-2小明放学
题目背景 汉东省政法大学附属中学所在的光明区最近实施了名为"智慧光明"的智慧城市项目.具体到交通领域,通过"智慧光明"终端,可以看到光明区所有红绿灯此时此刻的状 ...
- 深入研究const(es6特性)
const 申明常量 var str = 'es6' console.log(window.str) // es6 属于顶层对象window const不属于顶层对象window const str ...
- Mybatis模糊查询结果为空的解决方案
写在前面 Mybatis使用模糊查询,查询结果为空的解决方案,我的代码是 select * from sp_user where 1=1 <if test="username!=nul ...