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