p0f3 api py
1.0.0
이것은 http://lcamtuf.coredump.cx/p0f3/에서 제공되는 P0F3의 간단한 API 클라이언트입니다. 버전 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
ValueError를 제외하고 E :
# p0f는 유효하지 않은 상수 값을 반환했습니다. API가 변경되었을까요?
인쇄 e
데이터 인 경우 :
"First Seen :", Data [ "First_Seen"] 인쇄
"Last Seen :", data [ "last_seen"] 인쇄
P0F가 반환 한 데이터의 완전한 django 모델은 예제/django_models.py를 참조하십시오.
Django Middleware는 p0f.django.middleware 에서 제공됩니다.
사용하려면 P0FSOCKET = "path/to/p0f_unix_socket" 프로젝트의 SETTINGS.PY에 및 p0f.django.middleware.P0fMiddleware 에 MIDDLEWARE_CLASSES 에 추가하십시오.
미들웨어는 모든 들어오는 요청에 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)
필드에 대한 전체 설명 :
license.txt를 참조하십시오