挺多用shodan的mjj,这里发些高级点的搜索参数,注意shodan不支持正则匹配,所以下面的值都要是全名。 server="xxx" // 值可以是nginx或者apache等等 country:"SG" // 国家 port:"443" // 开启的端口 asn:"asxxxx" // asn
api使用方法 1,打开 https://account.shodan.io/ 找到API Key 2,安装python3和pip 3,pip install shodan 4,复制下面代码到sd.py文件,注意API Key 替换为第一步的key
- import argparse
- import shodan
-
- # Configuration
- API_KEY = "xxx"
-
- parser = argparse.ArgumentParser(description=’Process shodan search’)
- parser.add_argument(‘filters’, type=str, nargs=’+’, help=’shodan search filters’)
- parser.add_argument(‘-p’, type=int, default=1, metavar=’page’, help=’page number’)
- args = parser.parse_args()
-
- try:
- # Setup the api
- api = shodan.Shodan(API_KEY)
-
- # Perform the search
- query = ‘ ‘.join(args.filters)
- result = api.search(query, args.p)
-
- # Loop through the matches and print each IP
- for service in result[‘matches’]:
- print (service[‘ip_str’])
- except Exception as e:
- print (‘Error: %s’ % e)
复制代码
5,运行命令python3 sd.py server="xxx" country:"SG" port:"443" asn:"asxxx" -p 2 注意,shodan api一次只能返回最多100条结果,一个月最多10000条结果
打包为可执行单文件方法,这样不用安装python和shodan就可以调api了 1,apt install build-essential python3-dev patchelf ccache 2,pip install virtualenv 3,virtualenv venv 4,cd venv && source bin/activate 5,pip install orderedset zstandard shodan 6,pip install -U –force-reinstall "https://github.com/Nuitka/Nuitka/archive/develop.zip" 7,复制sd.py到当前目录 8,python3 -m nuitka –onefile sd.py 9,运行./sd.bin server="xxx" country:"SG" port:"443" asn:"asxxx" |