将nmap使用flask框架来做成api,通过访问网址来获得信息。
具体代码实现如下:
from flask import request, url_for
from flask_api import FlaskAPI, status, exceptions
import nmap
app = FlaskAPI(__name__)
@app.route("/<host>/<port>", methods=['GET'])
def scanport(host, port):
if request.method == 'GET':#这里使用get方法来接收参数
nm = nmap.PortScanner() #这两步骤为nmap的实现
nm.scan(host, port)
try:
return nm[host]
except Exception as e:
pass
if __name__ == "__main__":
app.run(debug=True)#这里默认运行在本地127.0.0.1上
输入http://127.0.0.1:5000/127.0.0.1/22
其中127.0.0.1:5000为访问的网址和端口,而127.0.0.1/22分别传入scanport的参数host和port。
可以获得的信息: