def __init__(self, ip, raw_request, timestamp, parsed_request, is_detected,
hostname):
self.ip = ip
self.raw_request = raw_request
self.timestamp = timestamp
self.path = ""
self.command = ""
self.version = ""
self.ua = ""
self.headers = ""
self.country = ""
self.continent = ""
self.timezone = ""
self.dns_name = ""
self.tracert = "" # TODO
if hasattr(parsed_request, 'path'):
self.path = parsed_request.path
if parsed_request.command is not None:
self.command = parsed_request.command
if hasattr(parsed_request, 'request_version'):
self.version = parsed_request.request_version
if hasattr(parsed_request, 'headers'):
self.headers = parsed_request.headers
if 'user-agent' in parsed_request.headers:
self.ua = parsed_request.headers['user-agent']
self.isDetected = is_detected
self.hostname = hostname
location = geolite2.lookup(ip)
if location is not None:
self.country = location.country
self.continent = location.continent
self.timezone = location.timezone
try:
self.dns_name = socket.gethostbyaddr(ip)[0]
except socket.herror:
pass
评论列表
文章目录