用于快速扫描仪开发的nats包装器
nats-scan-wrapper的Python项目详细描述
从scanner_api.wrappers导入scanner_wrapper
- 定义接受两个参数w(源,数据)的辅助函数。
- source-有关publisher的信息(例如nmap.reporter.masscan-这只能在“nmap.*”中捕获) data-dict和scanner的json数据,由nats调度器发送
Worker返回一个列表,其中包含要发送到下一个扫描仪或报告器的数据。(列表中的每个元素将作为单独的消息发送)
可以根据日志模块重新定义日志格式。
- def worker(源、数据、元):
- 结果=[] 结果=正在处理…(数据) logging.info(“我工作”) logging.warning(“我警告你”) logging.error(“我犯了个错误”) 返回结果
用define scanner name做一个包装。数据将按此名称从NAT收集。(例如名称。***.**或名称)。 还将其命名为队列名称。
定义NATS主机地址。
- 包装器=扫描仪包装器(
- NATS=[“NATS://127.0.0.1:4222”], name=“reporter”)
通过传递参数辅助函数运行。这是阻塞呼叫!
wrapper.run(工作程序)
日志格式: 连接到NAT。 已启动名为{name}的模块 从{subject}:{data}接收 开始'{name}' 结果:{result}n已发送到{pipeline}
- 这里:
- {name}-扫描仪名称 {subject}-队列名称 {data}-json来自nats {result}-out来自worker函数的数据 {管道}-NATS队列中的新地址