Created
November 20, 2014 22:52
-
-
Save dandye/7b619b40ec765e921d4f to your computer and use it in GitHub Desktop.
Hailataxii discovery example using litaxii
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"metadata": { | |
"name": "hailataxii_disovery_with_libtaxii" | |
}, | |
"nbformat": 3, | |
"nbformat_minor": 0, | |
"worksheets": [ | |
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": "# Show that required version of lxml is installed\nfrom lxml import etree\netree.LXML_VERSION", | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"metadata": {}, | |
"output_type": "pyout", | |
"prompt_number": 7, | |
"text": "(3, 3, 1, 0)" | |
} | |
], | |
"prompt_number": 7 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": "# Install library from CheeseShop\n!pip install libtaxii", | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": "Downloading/unpacking libtaxii\n Running setup.py (path:c:\\users\\dandye\\appdata\\local\\temp\\pip_build_DanDye\\libtaxii\\setup.py) egg_info for package libtaxii\n \n warning: no files found matching 'README.md'\n warning: no previously-included files matching '*.pyc' found under directory 'docs'\n warning: no previously-included files matching '*.pyo' found under directory 'docs'\n no previously-included directories found matching 'docs\\_build'\nRequirement already satisfied (use --upgrade to upgrade): lxml>=2.2.3 in c:\\anaconda\\lib\\site-packages (from libtaxii)\nRequirement already satisfied (use --upgrade to upgrade): python-dateutil>=1.4.1 in c:\\anaconda\\lib\\site-packages (from libtaxii)\nInstalling collected packages: libtaxii\n Running setup.py install for libtaxii\n \n warning: no files found matching 'README.md'\n warning: no previously-included files matching '*.pyc' found under directory 'docs'\n warning: no previously-included files matching '*.pyo' found under directory 'docs'\n no previously-included directories found matching 'docs\\_build'\n Installing fulfillment_client-script.py script to C:\\Anaconda\\Scripts\n Installing fulfillment_client.exe script to C:\\Anaconda\\Scripts\n Installing poll_client_10-script.py script to C:\\Anaconda\\Scripts\n Installing poll_client_10.exe script to C:\\Anaconda\\Scripts\n Installing collection_information_client-script.py script to C:\\Anaconda\\Scripts\n Installing collection_information_client.exe script to C:\\Anaconda\\Scripts\n Installing discovery_client-script.py script to C:\\Anaconda\\Scripts\n Installing discovery_client.exe script to C:\\Anaconda\\Scripts\n Installing inbox_client-script.py script to C:\\Anaconda\\Scripts\n Installing inbox_client.exe script to C:\\Anaconda\\Scripts\n Installing feed_information_client_10-script.py script to C:\\Anaconda\\Scripts\n Installing feed_information_client_10.exe script to C:\\Anaconda\\Scripts\n Installing poll_client-script.py script to C:\\Anaconda\\Scripts\n Installing poll_client.exe script to C:\\Anaconda\\Scripts\n Installing discovery_client_10-script.py script to C:\\Anaconda\\Scripts\n Installing discovery_client_10.exe script to C:\\Anaconda\\Scripts\nSuccessfully installed libtaxii\nCleaning up...\n" | |
} | |
], | |
"prompt_number": 8 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": "import libtaxii as t\nimport libtaxii.clients as tc\nimport libtaxii.messages_11 as tm11\nimport xml.dom.minidom\n\nclient = tc.HttpClient()\nclient.set_auth_type(tc.HttpClient.AUTH_BASIC)\nclient.set_use_https(False)\nclient.set_auth_credentials({'username': 'guest', 'password': 'guest'})\n\ndiscovery_request = tm11.DiscoveryRequest(tm11.generate_message_id())\ndiscovery_xml = discovery_request.to_xml()\n\nhttp_resp = client.call_taxii_service2('hailataxii.com', '/taxii-discovery-service/', t.VID_TAXII_XML_11, discovery_xml)\n\ntaxii_message = t.get_message_from_http_response(http_resp, discovery_request.message_id)\n\nprint xml.dom.minidom.parseString(taxii_message.to_xml()).toprettyxml()\n", | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": "<?xml version=\"1.0\" ?>\n<taxii_11:Discovery_Response in_response_to=\"37682\" message_id=\"52547\" xmlns:taxii=\"http://taxii.mitre.org/messages/taxii_xml_binding-1\" xmlns:taxii_11=\"http://taxii.mitre.org/messages/taxii_xml_binding-1.1\" xmlns:tdq=\"http://taxii.mitre.org/query/taxii_default_query-1\">\n\t<taxii_11:Service_Instance available=\"true\" service_type=\"DISCOVERY\" service_version=\"urn:taxii.mitre.org:services:1.1\">\n\t\t<taxii_11:Protocol_Binding>urn:taxii.mitre.org:protocol:https:1.0</taxii_11:Protocol_Binding>\n\t\t<taxii_11:Address>http://hailataxii.com:80/taxii-data</taxii_11:Address>\n\t\t<taxii_11:Message_Binding>urn:taxii.mitre.org:message:xml:1.1</taxii_11:Message_Binding>\n\t</taxii_11:Service_Instance>\n\t<taxii_11:Service_Instance available=\"true\" service_type=\"COLLECTION_MANAGEMENT\" service_version=\"urn:taxii.mitre.org:services:1.1\">\n\t\t<taxii_11:Protocol_Binding>urn:taxii.mitre.org:protocol:https:1.0</taxii_11:Protocol_Binding>\n\t\t<taxii_11:Address>http://hailataxii.com:80/taxii-data</taxii_11:Address>\n\t\t<taxii_11:Message_Binding>urn:taxii.mitre.org:message:xml:1.1</taxii_11:Message_Binding>\n\t</taxii_11:Service_Instance>\n\t<taxii_11:Service_Instance available=\"true\" service_type=\"POLL\" service_version=\"urn:taxii.mitre.org:services:1.1\">\n\t\t<taxii_11:Protocol_Binding>urn:taxii.mitre.org:protocol:https:1.0</taxii_11:Protocol_Binding>\n\t\t<taxii_11:Address>http://hailataxii.com:80/taxii-data</taxii_11:Address>\n\t\t<taxii_11:Message_Binding>urn:taxii.mitre.org:message:xml:1.1</taxii_11:Message_Binding>\n\t</taxii_11:Service_Instance>\n</taxii_11:Discovery_Response>\n\n" | |
} | |
], | |
"prompt_number": 38 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": "", | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 7 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": "\n", | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 7 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": "", | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 3 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": "", | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 7 | |
} | |
], | |
"metadata": {} | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment