Source code for cybox.objects.whois_object

# Copyright (c) 2017, The MITRE Corporation. All rights reserved.
# See LICENSE.txt for complete terms.

from mixbox import entities
from mixbox import fields
from mixbox.vendor.six import u

import cybox.bindings.whois_object as whois_binding

from cybox.common import ObjectProperties, BaseProperty, String, DateTime, Date
from cybox.objects.address_object import Address, EmailAddress
from cybox.objects.uri_object import URI


[docs]class WhoisNameservers(entities.EntityList): _binding = whois_binding _binding_class = whois_binding.WhoisNameserversType _namespace = "http://cybox.mitre.org/objects#WhoisObject-2" nameserver = fields.TypedField("Nameserver", URI, multiple=True)
[docs]class WhoisStatus(BaseProperty): _binding = whois_binding _binding_class = whois_binding.WhoisStatusType _namespace = "http://cybox.mitre.org/objects#WhoisObject-2" datatype = "string"
[docs]class WhoisStatuses(entities.EntityList): _binding = whois_binding _binding_class = whois_binding.WhoisStatusesType _namespace = "http://cybox.mitre.org/objects#WhoisObject-2" status = fields.TypedField("Status", WhoisStatus, multiple=True)
[docs]class WhoisContact(entities.Entity): _binding = whois_binding _binding_class = whois_binding.WhoisContactType _namespace = "http://cybox.mitre.org/objects#WhoisObject-2" contact_type = fields.TypedField("contact_type") contact_id = fields.TypedField("Contact_ID", String) name = fields.TypedField("Name", String) address = fields.TypedField("Address", String) email_address = fields.TypedField("Email_Address", EmailAddress) phone_number = fields.TypedField("Phone_Number", String) fax_number = fields.TypedField("Fax_Number", String) organization = fields.TypedField("Organization", String)
[docs]class WhoisContacts(entities.EntityList): _binding = whois_binding _binding_class = whois_binding.WhoisContactsType _namespace = "http://cybox.mitre.org/objects#WhoisObject-2" contact = fields.TypedField("Contact", WhoisContact, multiple=True)
[docs]class WhoisRegistrant(WhoisContact): _namespace = "http://cybox.mitre.org/objects#WhoisObject-2" _binding = whois_binding _binding_class = whois_binding.WhoisRegistrantInfoType registrant_id = fields.TypedField("Registrant_ID", String)
[docs]class WhoisRegistrants(entities.EntityList): _binding = whois_binding _binding_class = whois_binding.WhoisRegistrantsType _namespace = "http://cybox.mitre.org/objects#WhoisObject-2" registrant = fields.TypedField("Registrant", WhoisRegistrant, multiple=True)
[docs]class WhoisRegistrar(entities.Entity): _binding = whois_binding _binding_class = whois_binding.WhoisRegistrarInfoType _namespace = "http://cybox.mitre.org/objects#WhoisObject-2" registrar_id = fields.TypedField("Registrar_ID", String) registrar_guid = fields.TypedField("Registrar_GUID", String) name = fields.TypedField("Name", String) address = fields.TypedField("Address", String) email_address = fields.TypedField("Email_Address", EmailAddress) phone_number = fields.TypedField("Phone_Number", String) whois_server = fields.TypedField("Whois_Server", URI) referral_url = fields.TypedField("Referral_URL", URI) contacts = fields.TypedField("Contacts", WhoisContacts)
[docs]class WhoisEntry(ObjectProperties): _binding = whois_binding _binding_class = whois_binding.WhoisObjectType _namespace = "http://cybox.mitre.org/objects#WhoisObject-2" _XSI_NS = 'WhoisObj' _XSI_TYPE = 'WhoisObjectType' lookup_date = fields.TypedField("Lookup_Date", DateTime) remarks = fields.TypedField("Remarks", String) contact_info = fields.TypedField("Contact_Info", WhoisContact) domain_name = fields.TypedField("Domain_Name", URI) domain_id = fields.TypedField("Domain_ID", String) server_name = fields.TypedField("Server_Name", URI) ip_address = fields.TypedField("IP_Address", Address) dnssec = fields.TypedField("DNSSEC") nameservers = fields.TypedField("Nameservers", WhoisNameservers) status = fields.TypedField("Status", WhoisStatuses) updated_date = fields.TypedField("Updated_Date", Date) creation_date = fields.TypedField("Creation_Date", Date) expiration_date = fields.TypedField("Expiration_Date", Date) regional_internet_registry = fields.TypedField("Regional_Internet_Registry", String) sponsoring_registrar = fields.TypedField("Sponsoring_Registrar", String) registrar_info = fields.TypedField("Registrar_Info", WhoisRegistrar) registrants = fields.TypedField("Registrants", WhoisRegistrants) DNSSEC_SIGNED = u("Signed") DNSSEC_UNSIGNED = u("Unsigned")