p0f3 api py
1.0.0
这是P0F3的简单API客户端,可在http://lcamtuf.coredump.cx/p0f3/上找到。它与2.x版或1.x版本不兼容。使用-s path/to/unix_socket选项启动P0F。
基本用法:
从P0F导入P0F,P0FException
数据=无
p0f = p0f(“ p0f.sock”)#将其指向用“ -s”参数定义的套接字。
尝试:
data = p0f.get_info(“ 192.168.0.1”)
除了p0fexception,e:
#无效查询已发送到P0F。也许API发生了变化?
打印e
除了KeyError,E:
#此IP地址没有数据。
打印e
Evalue Error,E:
#P0F返回无效的常数值。也许API发生了变化?
打印e
如果数据:
打印“首先看到:”,数据[“ first_seen”]
打印“最后一个看:”,数据[“ last_seen”]
有关P0F返回的数据的完整数据,请参见示例/django_models.py。
Django中间件可在p0f.django.middleware中找到。
要使用,请将P0FSOCKET = "path/to/p0f_unix_socket"添加到项目的MIDDLEWARE_CLASSES和p0f.django.middleware.P0fMiddleware 。
中间件将p0f属性添加到所有传入请求中。如果连接到P0F失败或P0F未返回远程IP地址的数据, request.p0f 。
这些描述的一部分是从http://lcamtuf.coredump.cx/p0f3/readme中无耻复制的:
默认情况下,以下字段进行解析:
此外, bad_sw和os_match_q已验证。如果遇到不正确的值,则会提高“ ValueError”。对于所有空字段,无用于空字符串或常数:
该解析和验证可以通过
p0f.get_info(“ 192.168.0.1”,true)
对字段的完整描述:
请参阅LICENDE.TXT