|
挺多用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
[ol]import argparseimport shodan# ConfigurationAPI_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)[/ol]复制代码
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" |
|