{ "metadata": { "name": "", "signature": "sha256:594c3879ac0e386ec2d6a7212ce0c0c70a2fb144d017bf04855a41716f54060c" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Exploration of Live Network Tap\n", "Like most people I were wondering \"What is my laptop doing? Has it become a botnet? Should I stop downloading a bunch of weird stuff all the time? Will I ever move out of my Mom's basement?\" but I digress..\n", "\n", "This notebook is an exploration of my laptop's network usage using Workbench https://github.com/SuperCowPowers/workbench.git\n", "## Goals of the Exploration\n", "We wanted to get a 'gist' of the network activity happening from a particular capture point, for this case a laptop, but the cpature point could be anywhere. Obviously there are super great tools that already perform exploration and analysis of pcaps: WireShark, Chop Shop, Scapy, blah, foo, etc.. here we leveraging Bro IDS to generate our starting-point data and then hoping off in various directions from there. The work here should be viewed as complimentary to these other tools :)\n", "\n", "
\n", "## Lets start up the workbench server...\n", "Run the workbench server (from somewhere, for the demo we're just going to start a local one)\n", "
\n",
      "$ workbench_server\n",
      "
" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Lets start to interact with workbench, please note there is NO specific client to workbench,\n", "# Just use the ZeroRPC Python, Node.js, or CLI interfaces.\n", "import zerorpc\n", "c = zerorpc.Client(timeout=120)\n", "c.connect(\"tcp://127.0.0.1:4242\")" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 20, "text": [ "[None]" ] } ], "prompt_number": 20 }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "## So I'm confused what am I suppose to do with workbench? \n", "\n", "- Start with c.help(), look at the commands\n", "- Now add stuff to workbench, PCAPs, PE Files, PDFs, SWFs, whatever..\n", "- Workbench stores it in a database (MongoDB now, maybe Vertica later)\n", "- Make a work request see c.help_workers() for all the options\n", "- See [Workbench Demo Notebook](http://nbviewer.ipython.org/github/SuperCowPowers/workbench/blob/master/workbench/notebooks/Workbench_Demo.ipynb) for a lot more info on using workbench." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# I forgot what stuff I can do with workbench\n", "print c.help()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\n", "Welcome to Workbench: Here's a list of help commands:\n", "\t - Run c.help_basic() for beginner help\n", "\t - Run c.help_commands() for command help\n", "\t - Run c.help_workers() for a list of workers\n", "\t - Run c.help_advanced() for advanced help\n", "\n", "See https://github.com/SuperCowPowers/workbench for more information\n" ] } ], "prompt_number": 21 }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "### In this case we're going to skip a lot of intro material to Workbench, see the [Workbench Demo Notebook](http://nbviewer.ipython.org/github/SuperCowPowers/workbench/blob/master/workbench/notebooks/Workbench_Demo.ipynb) for a startup guide.\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "# Process the Streaming PCAP Data\n", " Lets look at the PCAPs that are being tossed into workbench. A script in the utils directory called pcap_streamer.py will 'stream' PCAPs into workbench off of a live network interface. We can use the 'get_sample_window' call to workbench for it to give us the last 30 MB of streaming PCAPs" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Grab a range of pcaps in workbench (last 100 MegaBytes worth in this case)\n", "pcap_md5s = c.get_sample_window('pcap', 50)\n", "print 'Number of PCAPs %d' % len(pcap_md5s)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Number of PCAPs 54\n" ] } ], "prompt_number": 34 }, { "cell_type": "code", "collapsed": false, "input": [ "# Workbench lets you store sample sets\n", "pcap_set = c.store_sample_set(pcap_md5s)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 35 }, { "cell_type": "code", "collapsed": false, "input": [ "# Now give us a HTTP graph of all the activities within that window of PCAPs.\n", "# Workbench also has DNS and CONN graphs, but for now we're just interested in HTTP.\n", "c.work_request('pcap_http_graph', pcap_set)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 36, "text": [ "{'pcap_http_graph': {'md5': 'b02cf3ec31a0fe27f309c54f77ddc9ac',\n", " 'output': 'go to http://localhost:7474/browser and execute this query \"match (s:origin), (t:file), p=allShortestPaths((s)--(t)) return p\"'}}" ] } ], "prompt_number": 36 }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "# Workbench + Neo4j = Awesome\n", " The HTTP graph has quite a bit of info, but you can see that we've conducted a shortest paths search from all nodes of type 'origin' (any node originating http communications) to any node of type 'file'. So we're particularly interested in all of the various files that got downloaded from our network tap in the last few minutes." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# We can also ask workbench for a python dictionary of all the info from this set of (100MB) PCAPs,\n", "# because sometimes visualization are useful and sometimes organized data is useful.\n", "output = c.work_request('view_pcap_details', pcap_set)['view_pcap_details']\n", "output" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 108, "text": [ "{'bro_logs': {'conn_log': '53b02c226034fa4508d0ff384cd82381',\n", " 'dns_log': '5056a27297490d61558a6efe6b028ea1',\n", " 'dpd_log': '7ed68bcc653dc97f915f5c7bfb274b2b',\n", " 'files_log': '678daeba4c4cb8839cbef82103d722b2',\n", " 'http_log': '138ecd68a802bd82f8b7ae8852744fa9',\n", " 'packet_filter_log': '53669ae86761ecdfe0304fe5e3123fe6',\n", " 'ssl_log': 'c907419c6c2d929fe66afb8df3943f49',\n", " 'weird_log': 'a97149b9761dff9b524520a1cbc29e36'},\n", " 'extracted_files': [{'entropy': 6.245624377814982,\n", " 'file_size': 42024,\n", " 'file_type': 'TrueType font data',\n", " 'md5': '12be067a6270759b4f861d64cc267166',\n", " 'sha256': 'd5ec46188792388f1ef48c6421d25d73cad6765b9930defa1f28dc7d1790105a',\n", " 'ssdeep': '768:Ricccw6N1wxkOYjked+6OWQOfba+YUMNhY921XS5uUx+qG+qjKylPfKyIreQ+yO6:EWGxkBjkepOEzaigm92XS5uUx+qG+qjm'},\n", " {'entropy': 7.980726705082393,\n", " 'file_size': 29032,\n", " 'file_type': 'Web Open Font Format, flavor 65536, length 29032, version 1.0',\n", " 'md5': '9b6485fb804ec528b304bc5ba427a52d',\n", " 'sha256': '7480b3771fd67569b3cc75979dfcf8bfdf973af2bc78f331fb93dbf2753dd73e',\n", " 'ssdeep': '768:c8N64HKDhQI5vonULgW5gU154lRGus1uDjUBApCMiDvj:c/5qConULD154lRGugdBAravj'},\n", " {'entropy': 7.98023762110109,\n", " 'file_size': 28496,\n", " 'file_type': 'Web Open Font Format, flavor 65536, length 28496, version 1.0',\n", " 'md5': '668a147a2d75a58822d1f09e16cf6bba',\n", " 'sha256': 'd1b63bac95978c34df58b5e5afac40ba2c2ff986515dd5a47f86c5bb03e38685',\n", " 'ssdeep': '768:Ma6C1UJ6Gy/J3UbWCUfNhEDaET3OEFTJ/B5FjG4ymDQ6:Ma11Vh/S5Us1jOyFFj/yQQ6'},\n", " {'entropy': 7.987978971601742,\n", " 'file_size': 32020,\n", " 'file_type': 'Web Open Font Format, flavor 65536, length 32020, version 0.0',\n", " 'md5': 'a188c2f768ce5033d3f5d47be7280e25',\n", " 'sha256': '8c44c3feedae5331a281278ea3ba91d2255928a2f3010d316d6fbb9052e0c2ec',\n", " 'ssdeep': '768:ZeCMB4D5hQRxRkQBtiAN7LrIM0/B5md7YtRZgkyPJxbI6GGS:ZeC04DARxRjoA1fcB5KoRVeJe'},\n", " {'entropy': 3.907528856075129,\n", " 'file_size': 4286,\n", " 'file_type': 'MS Windows icon resource - 1 icon',\n", " 'md5': 'e788c077dd2498aaeabae414af20e0c0',\n", " 'sha256': '7b174566bbb7e5920ca79912b055757b06bd254ba501e0b273cc9b074cbb3ac1',\n", " 'ssdeep': '48:fWPUND3V5uWQy4FgBwjovZ9u0ZYhdby1FpUl/F+7:u8Dl5uWQy4Fcw8vZ9VwwFpUl9y'},\n", " {'entropy': 5.308834490275621,\n", " 'file_size': 345,\n", " 'file_type': 'XML document text',\n", " 'md5': 'a7b900bec0b7b386dfd18ad22c9ed411',\n", " 'sha256': 'd9f7e0aa1bff501986995b7c69742a14f373819ab6ecd599af29d67f9d8b4794',\n", " 'ssdeep': '6:TMVBdoIUnWn8FX0wa9Fgc4svquXsLwFcn4mc4sVI/iHI0aXgsoGH4CmL0Xgs0JQL:TMHdoIWWnMEwKFcuX4wp57iwsoTCmL0P'},\n", " {'entropy': 4.936019556724105,\n", " 'file_size': 1363,\n", " 'file_type': 'XML document text',\n", " 'md5': 'ecc6377d393d709dcbcdae8798fd06d8',\n", " 'sha256': '8fce4a8b4f926a3fc202d65d8dbf1d70975bb91f7b06bfb5b149b9a020b8f36f',\n", " 'ssdeep': '24:zAaxNjZnQNjGnQNjrnQNjQnKsGVmvmg8B9CUm8p:FNqNpNcNSemvmtB9+m'},\n", " {'entropy': 6.297298526914034,\n", " 'file_size': 37336,\n", " 'file_type': 'TrueType font data',\n", " 'md5': '2e98fc3ce85f31f63010b706259cb604',\n", " 'sha256': '3fc333eb3107febd406586ee8206bc0ee2aeb7f6c7a77f3923a353b72b0ca080',\n", " 'ssdeep': '768:7X+cccw6N1sXef6IkZKhGfzKWGgSy3jnXqOvKz669MLJcS//9dG:TKW2vIGkqzKWGgJ3jnXdvKz66eVcS/1Y'},\n", " {'entropy': 3.2961625571831026,\n", " 'file_size': 5430,\n", " 'file_type': 'MS Windows icon resource - 2 icons, 16x16, 256-colors',\n", " 'md5': 'a300693728f5caa531a6886d9b8f38c2',\n", " 'sha256': 'aab089af3b8390a350352b5b7900f5747ba57ef1caf4120cced745518e8b5477',\n", " 'ssdeep': '24:EmiJT5aysE6HpisMN3dhZxpvjEAPtxnDb/xORpcF8G+stFMPl33i62gyFWahTjjm:/a5hspKBxGAPtlXERp7G+stF2MWIul'},\n", " {'entropy': 6.258940975957493,\n", " 'file_size': 3382,\n", " 'file_type': 'MS Windows icon resource - 2 icons, 32x32, 256-colors',\n", " 'md5': '35f17aa38ef89a37c4013de2d17aab6f',\n", " 'sha256': 'fcea740992d0bd5ba0d3e9dbc91d11d0ed192a6c52fd5ecb39138c8bd927ca1f',\n", " 'ssdeep': '96:gSLCFcGDINyncI+vLduRAqKpERL3LiNKPT0i:BLCFcGDINynT+vZUAqKeRLmNKPJ'},\n", " {'entropy': 3.6954813851810218,\n", " 'file_size': 1150,\n", " 'file_type': 'MS Windows icon resource - 1 icon',\n", " 'md5': '1a1eb5bb0cc75b6506f0019da0c7f21f',\n", " 'sha256': '336368f42787721f0ef3a21dc9a4cfa3a4fd648e2dd4c7c4340119304612b3b1',\n", " 'ssdeep': '12:HaECUuYe4444sY6QBFsb4m/1swMx+1NbXzOO:ril4444sY7BFvwj19X'},\n", " {'entropy': 7.9883310766863005,\n", " 'file_size': 41752,\n", " 'file_type': 'Web Open Font Format, flavor 65536, length 41752, version 1.0',\n", " 'md5': '04b9bfc362dcb9bc999c7d1bcb44a942',\n", " 'sha256': 'd45f5fb1fb4e1a101a8ad8722af443272f6c3d409d912e8175e6268d48e0b091',\n", " 'ssdeep': '768:wMxLyqPx8N3lhJB7jDUCj+4jaXJ+I0c2dY924OqtVWviGvNhzfD2iij4:IqPx+lhv7jQCj+4GZ+fc2d+O+VWFpD04'},\n", " {'entropy': 3.6844259005340536,\n", " 'file_size': 1150,\n", " 'file_type': 'MS Windows icon resource - 1 icon',\n", " 'md5': '386297e91ea17bbc79f08166fbb33efd',\n", " 'sha256': '3a62a1c2bc55c2c51b61addc834aa8061f164b8f2a8fa84d2047a0990cf9ca18',\n", " 'ssdeep': '12:XBwHYDk/lBYpvVmczEY7cQyyyoX7x9H82v:XIYg/lBWEXY7yyye7XP'},\n", " {'entropy': 7.97373633026029,\n", " 'file_size': 21444,\n", " 'file_type': 'Web Open Font Format, flavor 65536, length 21444, version 1.1',\n", " 'md5': '9766098054494741d153b60206e33f89',\n", " 'sha256': '546c3593de0333eccfef2d0ddb7c1331e456f2304446ed386aacbc5b3bad64bf',\n", " 'ssdeep': '384:+ywm9gOSC7IEHv2gkpN1nC1w6QCj0WRnEalg5:L9gOS4HCFChxjLRO5'},\n", " {'entropy': 5.908739848449175,\n", " 'file_size': 11078,\n", " 'file_type': 'MS Windows icon resource - 4 icons, 16x16, 256-colors',\n", " 'md5': '943882776674997378513c8831392441',\n", " 'sha256': '0bc5af02a6c79f9cff2c743cbb54e73ca554b038eef49e6d66550617f96ad884',\n", " 'ssdeep': '192:6TaVJfo1nHW/W0GyJpGHx9qVE8Oc93xn2JPHlVC:6OzgBHWu+3GHx9qVYcdOdV'},\n", " {'entropy': 3.8918131277677763,\n", " 'file_size': 4286,\n", " 'file_type': 'MS Windows icon resource - 1 icon',\n", " 'md5': 'b5e4f8f388ba118d602564b52309a262',\n", " 'sha256': '33fe1bce4ef9232926e34d236bddc8cc4bea7a54484918311f7f1ee48b4765e0',\n", " 'ssdeep': '48:ixXCvHXti29ZBFpIwvC0gGlACnI7t978AZi0vx0Fuqoexnp:iVC/999pIwvWJ978B0vx0FEeX'},\n", " {'entropy': 7.988941525087981,\n", " 'file_size': 23118,\n", " 'file_type': 'Macromedia Flash data (compressed), version 9',\n", " 'md5': '2e841d012d10130d8656ad6482ad88a4',\n", " 'sha256': 'a054812bfac083ac0343834abdfb0804054735de27a4a3d2be910a0a20ec136b',\n", " 'ssdeep': '384:qn+Gc/3LiVzD1u85FL5BC1H5ic7KAuiNmpWN32UZt+6LBSy4x:i4uVf1l5FL5B4X7fvPNGut+6LcyY'},\n", " {'entropy': 7.089124296559591,\n", " 'file_size': 463,\n", " 'file_type': 'data',\n", " 'md5': '21a156f207dfcde876af3830372307de',\n", " 'sha256': '904881c90a884a2614b4221b04aca7528222a89f96bc471e13ac23fe861ee742',\n", " 'ssdeep': '12:hPeVGSoPv95yP6VGjP3I9a9pCHFYa8YLXOpHNKY+URwQgR5Dw:hPeczPltcjP31CHFd3OLDhgfE'},\n", " {'entropy': 6.309014565293686,\n", " 'file_size': 38232,\n", " 'file_type': 'TrueType font data',\n", " 'md5': '488d5cc145299ba07b75495100419ee6',\n", " 'sha256': 'dee2d2b7658161d7efa0dede8298b64bf88c8bc1fea782fc10468c9269e78d4a',\n", " 'ssdeep': '768:JF4rcccw6N1QvZSWOMcvnnPCJXQ4ezeWBT2KDHqNRqW:b4lW+v8WOMcfqJXBezeWBT2KDHqNp'},\n", " {'entropy': 5.101549039629513,\n", " 'file_size': 9662,\n", " 'file_type': 'MS Windows icon resource - 1 icon',\n", " 'md5': '173ce0b3b05f0743fd082723179d3fbf',\n", " 'sha256': '4ab6aef8efee4fb811d1bee5b39f4ab11f8282856576978037bedfa99e804ac0',\n", " 'ssdeep': '96:9FX7Qn/QF8h2+NEMsBTrSrBOtOxObSFSjCOYzYYsu2U0rWm6MfZ7aFa:PMSk2GIBTrSr/cVyPsrWm6MxaFa'},\n", " {'entropy': 5.475841948176977,\n", " 'file_size': 21207,\n", " 'file_type': 'C source, ASCII text, with very long lines',\n", " 'md5': '382a9d8819ad21143fd690782cd1e8ca',\n", " 'sha256': '5a5e5f83b7367c19a7ce084e6b0ee80d953ed8ed8909db48ed067d60ca434b6b',\n", " 'ssdeep': '384:qr26X4PPpp3EE/xIyDYT/Nj7zmjUj+jcjfjfjujujzjc8XQ8BTnHXuoad2eSHn/R:7p8jHm4K4Lj6yvwf8HydmN'},\n", " {'entropy': 5.308834490275621,\n", " 'file_size': 345,\n", " 'file_type': 'XML document text',\n", " 'md5': 'a7b900bec0b7b386dfd18ad22c9ed411',\n", " 'sha256': 'd9f7e0aa1bff501986995b7c69742a14f373819ab6ecd599af29d67f9d8b4794',\n", " 'ssdeep': '6:TMVBdoIUnWn8FX0wa9Fgc4svquXsLwFcn4mc4sVI/iHI0aXgsoGH4CmL0Xgs0JQL:TMHdoIWWnMEwKFcuX4wp57iwsoTCmL0P'},\n", " {'entropy': 5.310373741546879,\n", " 'file_size': 163,\n", " 'file_type': 'data',\n", " 'md5': '2024ea458402395d7ce97d7becda1be9',\n", " 'sha256': 'e32534b3191baebcbc72c680b5cd4e0329ea1b241dc15714cb32bb81c41b5b6f',\n", " 'ssdeep': '3:yivnt6/ly7tFffMLts5OCAadCmy42/uDlhlbqYKAdXm/3l81xqCKup:pn0/8xfMRfC19s/6TFXm/W1xqC5p'},\n", " {'entropy': -0.0,\n", " 'file_size': 1,\n", " 'file_type': 'very short file (no magic)',\n", " 'md5': '7215ee9c7d9dc229d2921a40e899ec5f',\n", " 'sha256': '36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068',\n", " 'ssdeep': '3:F:F'},\n", " {'entropy': 4.845301933698079,\n", " 'file_size': 6636,\n", " 'file_type': 'SVG Scalable Vector Graphics image',\n", " 'md5': 'c01cc1cbf05ba8f782bf709168425535',\n", " 'sha256': '4a7df98b2963b14290e39b88cf700121f6c84c106f169b14cb491a0dbf94a580',\n", " 'ssdeep': '96:QXQSfRNqaeYdPrwekQNeymAqX4keWDWk3a8ALbeZ6bppeUg4vO8ZnjE:cQARNqaeQrIkeyhYrylCsnw'},\n", " {'entropy': 2.8024474140215836,\n", " 'file_size': 1150,\n", " 'file_type': 'floppy with old FAT filesystem, Media descriptor 0xfb',\n", " 'md5': 'de6a154e38bd211276e193a523e8bc98',\n", " 'sha256': 'd2fa61107c4e7bfca982ea0427a2ea37c8826391e515d6868c576db5cb4a2e06',\n", " 'ssdeep': '12:WA2gCZ4HoOateadateapeatataqWKnotlRXi5vgw:WAk54Ggw'},\n", " {'entropy': 1.2843393639542855,\n", " 'file_size': 3638,\n", " 'file_type': 'MS Windows icon resource - 2 icons, 32x32, 256-colors',\n", " 'md5': '59a0c7b6e4848ccdabcea0636efda02b',\n", " 'sha256': 'a1495da3cf3db37bf105a12658636ff628fee7b73975b9200049af7747e60b1f',\n", " 'ssdeep': '6:NXulKltegZ//OekukCS4kdxpHIWvUkt/ctmnzteghFnUtC+i/T2MWFetk/m+:NaKXe2m5CREDssfnxeo/2XUKu+'},\n", " {'entropy': 7.970454777158688,\n", " 'file_size': 4955490,\n", " 'file_type': 'ISO Media, MPEG v4 system, version 2',\n", " 'md5': '0f9e7b97671775a3fb29c36557cf662b',\n", " 'sha256': '7dc55fa7a6e60a63ace66639a1b148e1733647044ee9b0ade0c4b7d87bc074cf',\n", " 'ssdeep': '98304:Fxc89GCIa5m7IAXPu5m7vq8njsZN5rL/g/1FCF9bW5UDpRAiqFMyPEO5sb:DH/II6nvqCj2N5rL/gHCFpepEOE'}],\n", " 'md5': '8518f69c4674db948c5e157bd8010adb'}" ] } ], "prompt_number": 108 }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "## If the next line of code doesn't blow your mind, you aren't paying attention!\n", "#### All of the bro logs are streamed from server to client with NETWORK STREAMING GENERATORS, those highly efficient generators are zero-copy and stream data directly into Pandas Dataframes.\n", "\n", "#### For more on client/server generators and client-contructed/server-executed generator pipelines see our super spiffy [Generator Pipelines](http://nbviewer.ipython.org/url/raw.github.com/SuperCowPowers/workbench/master/workbench/notebooks/Generator_Pipelines.ipynb) notebook." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Critical Code: Transition from Bro logs to Pandas Dataframes\n", "# This one line of code populates dataframes from the Bro logs, \n", "# streaming client/server generators, zero-copy, efficient, awesome...\n", "import pandas as pd\n", "dataframes = {name:pd.DataFrame(c.stream_sample(bro_log)) for name, bro_log in output['bro_logs'].iteritems()}" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 109 }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "# Lets look at the Data\n", "We're going to use some nice functionality in the Pandas dataframe to look at our network data, specifically we're going to group by origin, host, host-ip, and mime_type. The last column represents the aggregated sum of response_body_len.\n", "

\n", "This type of operation is really just scratching the surface when it comes to dataframes, so quickly and efficiently populating a dataframe is super awesome.
" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Now we group by host and show the different response mime types for each host\n", "group_host = dataframes['http_log'].groupby(['id.orig_h','host','id.resp_h','resp_mime_types'])[['response_body_len']].sum()\n", "group_host.head(100)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
response_body_len
id.orig_hhostid.resp_hresp_mime_types
192.168.1.10416518638.log.optimizely.com174.129.203.102image/gif 35
text/plain 4
664902255.log.optimizely.com107.22.231.18image/gif 35
text/plain 2
773-gon-065.mktoresp.com199.15.215.178image/gif 731
ad.doubleclick.net74.125.225.187text/plain 2195
74.125.225.188text/plain 2270
akamaicovers.oreilly.com23.4.141.110image/jpeg 118472
app-sjl.marketo.com23.4.154.76- 0
text/html 1657
text/plain 12905
assets.neo4j.org54.230.4.132image/gif 214656
image/png 1369054
54.230.4.169- 0
image/gif 32454
image/png 245753
av.vimeo.com96.17.111.57video/mp4 4955490
avpa.dzone.com208.91.135.45text/html 506
text/plain 117
b.scorecardresearch.com184.84.180.43- 0
23.3.12.195- 0
23.3.12.201- 0
96.17.111.121- 0
b2c-mlm.marketo.com173.203.143.212- 0
image/gif 258
badge.stumbleupon.com199.30.80.32text/html 1035
beacon-1.newrelic.com50.31.164.168text/plain 21
beta.sylvadb.com129.100.65.142image/png 9555
book.py2neo.org162.209.114.75- 0
image/png 35626
text/html 174762
text/plain 55408
bs.serving-sys.com12.129.210.71- 0
text/plain 14003
c.betrad.com23.4.150.212- 0
c.statcounter.com216.59.38.124image/gif 49
careers.stackoverflow.com198.252.206.17- 0
text/html 28505
cdn.atdmt.com23.3.68.179image/gif 16690
93.184.215.201image/gif 8704
cdn.dzone.com108.161.188.128- 0
binary 99280
image/gif 2359
image/jpeg 86344
image/png 338086
text/plain 688872
cdn.flashtalking.com216.38.160.128image/gif 42739
image/jpeg 147692
text/plain 29718
cdn.optimizely.com72.21.91.19text/plain 327815
cdn.slidesharecdn.com23.4.155.216image/jpeg 138500
cdn.softpedia.com68.142.123.254image/png 1677
cdn.sstatic.net190.93.246.58text/plain 3725
cdn.stumble-upon.com199.30.80.32image/png 1985
data.cmcore.com204.77.31.254image/gif 86
74.121.133.1image/gif 43
doug1izaerwt3.cloudfront.net54.230.6.114- 0
54.230.7.29- 0
ds.serving-sys.com23.3.12.32- 0
image/jpeg 55043
...
\n", "

100 rows \u00d7 1 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 110, "text": [ " response_body_len\n", "id.orig_h host id.resp_h resp_mime_types \n", "192.168.1.104 16518638.log.optimizely.com 174.129.203.102 image/gif 35\n", " text/plain 4\n", " 664902255.log.optimizely.com 107.22.231.18 image/gif 35\n", " text/plain 2\n", " 773-gon-065.mktoresp.com 199.15.215.178 image/gif 731\n", " ad.doubleclick.net 74.125.225.187 text/plain 2195\n", " 74.125.225.188 text/plain 2270\n", " akamaicovers.oreilly.com 23.4.141.110 image/jpeg 118472\n", " app-sjl.marketo.com 23.4.154.76 - 0\n", " text/html 1657\n", " text/plain 12905\n", " assets.neo4j.org 54.230.4.132 image/gif 214656\n", " image/png 1369054\n", " 54.230.4.169 - 0\n", " image/gif 32454\n", " image/png 245753\n", " av.vimeo.com 96.17.111.57 video/mp4 4955490\n", " avpa.dzone.com 208.91.135.45 text/html 506\n", " text/plain 117\n", " b.scorecardresearch.com 184.84.180.43 - 0\n", " 23.3.12.195 - 0\n", " 23.3.12.201 - 0\n", " 96.17.111.121 - 0\n", " b2c-mlm.marketo.com 173.203.143.212 - 0\n", " image/gif 258\n", " badge.stumbleupon.com 199.30.80.32 text/html 1035\n", " beacon-1.newrelic.com 50.31.164.168 text/plain 21\n", " beta.sylvadb.com 129.100.65.142 image/png 9555\n", " book.py2neo.org 162.209.114.75 - 0\n", " image/png 35626\n", " text/html 174762\n", " text/plain 55408\n", " bs.serving-sys.com 12.129.210.71 - 0\n", " text/plain 14003\n", " c.betrad.com 23.4.150.212 - 0\n", " c.statcounter.com 216.59.38.124 image/gif 49\n", " careers.stackoverflow.com 198.252.206.17 - 0\n", " text/html 28505\n", " cdn.atdmt.com 23.3.68.179 image/gif 16690\n", " 93.184.215.201 image/gif 8704\n", " cdn.dzone.com 108.161.188.128 - 0\n", " binary 99280\n", " image/gif 2359\n", " image/jpeg 86344\n", " image/png 338086\n", " text/plain 688872\n", " cdn.flashtalking.com 216.38.160.128 image/gif 42739\n", " image/jpeg 147692\n", " text/plain 29718\n", " cdn.optimizely.com 72.21.91.19 text/plain 327815\n", " cdn.slidesharecdn.com 23.4.155.216 image/jpeg 138500\n", " cdn.softpedia.com 68.142.123.254 image/png 1677\n", " cdn.sstatic.net 190.93.246.58 text/plain 3725\n", " cdn.stumble-upon.com 199.30.80.32 image/png 1985\n", " data.cmcore.com 204.77.31.254 image/gif 86\n", " 74.121.133.1 image/gif 43\n", " doug1izaerwt3.cloudfront.net 54.230.6.114 - 0\n", " 54.230.7.29 - 0\n", " ds.serving-sys.com 23.3.12.32 - 0\n", " image/jpeg 55043\n", " ...\n", "\n", "[100 rows x 1 columns]" ] } ], "prompt_number": 110 }, { "cell_type": "code", "collapsed": false, "input": [ "# Now we group by host and show the different response mime types for each host\n", "group_host = dataframes['http_log'].groupby(['host','id.resp_h','resp_mime_types','uri'])[['response_body_len']].sum()\n", "group_host.head(50)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
response_body_len
hostid.resp_hresp_mime_typesuri
0.gravatar.com2606:2800:220:bf1:95:a65:51f:1a94-/css/hovercard.css?ver=201422x 0
/css/services.css?ver=201422x 0
/js/gprofiles.js?ver=201422x 0
image/jpeg/avatar/65dc2ca9ccb63a7004ff934f5501d576?s=32&d=identicon&r=G 988
/avatar/65dc2ca9ccb63a7004ff934f5501d576?s=64&d=identicon&r=G 1477
image/png/avatar/31c24d77a26eb5e3d35b537f19cbe360?s=32&d=identicon&r=G 2284
/avatar/31c24d77a26eb5e3d35b537f19cbe360?s=64&d=identicon&r=G 7860
/avatar/335410d8b3c50577cf0ed33567a3862e?s=32&d=identicon&r=G 646
/avatar/335410d8b3c50577cf0ed33567a3862e?s=64&d=identicon&r=G 1300
/avatar/3dc0bab46bc3dfa2b7175d6d629abf3f?s=32&d=identicon&r=G 810
/avatar/3dc0bab46bc3dfa2b7175d6d629abf3f?s=64&d=identicon&r=G 1797
/avatar/60b0ef6e1bbdbac2049c933c7c4e7fdd?s=32&d=identicon&r=G 1279
/avatar/60b0ef6e1bbdbac2049c933c7c4e7fdd?s=64&d=identicon&r=G 2885
/avatar/9e32ff422dd2c6155bbb43800b98c4d3?s=32&d=identicon&r=G 645
/avatar/9e32ff422dd2c6155bbb43800b98c4d3?s=64&d=identicon&r=G 1207
/avatar/fd9c7194bbb73ea2f186928424b721f6?s=32&d=identicon&r=G 1017
/avatar/fd9c7194bbb73ea2f186928424b721f6?s=64&d=identicon&r=G 1887
1.bp.blogspot.com2607:f8b0:400f:800::100bimage/png/-TK4TVif-FGU/T0Gtlv4zk7I/AAAAAAAAAMw/F-OvNpHcByM/s320/neo4j_sample.png 36931
1.gravatar.com2606:2800:220:bf1:95:a65:51f:1a94-/avatar/ad516503a11cd5ca435acc9bb6523536?s=25&d=identicon&forcedefault=y&r=G 0
/avatar/ad516503a11cd5ca435acc9bb6523536?s=54&d=identicon&forcedefault=y&r=G 0
image/jpeg/avatar/a805ec88c0754455cac9b5655dea230e?s=32&d=identicon&r=G 1294
/avatar/a805ec88c0754455cac9b5655dea230e?s=64&d=identicon&r=G 2720
image/png/avatar/11ec004db919032b93195fc5d2555fea?s=32&d=identicon&r=G 276
/avatar/11ec004db919032b93195fc5d2555fea?s=64&d=identicon&r=G 391
/avatar/43618511463276f21c363c8079ad5a5b?s=32&d=identicon&r=G 622
/avatar/43618511463276f21c363c8079ad5a5b?s=64&d=identicon&r=G 1445
/avatar/a614ce207462e4f3fe33273c0deccde7?s=32&d=identicon&r=G 946
/avatar/a614ce207462e4f3fe33273c0deccde7?s=64&d=identicon&r=G 2105
/blavatar/babef735719ccc14fa9a281e6de2fe08?s=32 2497
/blavatar/babef735719ccc14fa9a281e6de2fe08?s=64 8650
image/x-icon/blavatar/b8c1a3c32665c00621a27ee5fc4e51ce?s=16 11078
16518638.log.optimizely.com174.129.203.102image/gif/event?a=16518638&d=13765676&y=false&n=engagement&g=28357548&u=oeu1401383749478r0.00880544213578105&t=1401383754150&f=1026380119 35
text/plain/event?a=16518638&d=13765676&y=false&n=http://java.dzone.com/articles/storm-neo4j-and-python-real&u=oeu1401383749478r0.00880544213578105&wxhr=true&t=1401383749484&f= 2
/event?a=16518638&d=13765676&y=false&n=http://java.dzone.com/articles/storm-neo4j-and-python-real&u=oeu1401383749478r0.00880544213578105&wxhr=true&t=1401383750032&f=1026380119 2
2.bp.blogspot.com2607:f8b0:400f:801::100bimage/png/--ghj75EWkyc/UnjtpNV657I/AAAAAAAALiU/UYua5dc4fPk/s1600/Screenshot_11_5_13_2_07_PM.png 779602
/-yz4sG2of89Y/UG4TQ5QsgDI/AAAAAAAAAV8/apaI68-NH5U/s1600/ftd-banner.png 45874
2.gravatar.com2606:2800:220:bf1:95:a65:51f:1a94image/jpeg/avatar/86006d83b5bf07a88ef95dfd001609f8?s=32&d=identicon&r=G 1078
/avatar/86006d83b5bf07a88ef95dfd001609f8?s=64&d=identicon&r=G 1810
/avatar/e8dd547cc3ce614c9662b891791349d4?s=32&d=identicon&r=G 1266
/avatar/e8dd547cc3ce614c9662b891791349d4?s=64&d=identicon&r=G 2488
image/png/avatar/58750f2179edbd650b471280aa66fee5?s=32&d=identicon&r=G 2501
/avatar/58750f2179edbd650b471280aa66fee5?s=64&d=identicon&r=G 8411
/avatar/b6e56aafe01b6dfb69550be92e8db136?s=32&d=identicon&r=G 633
/avatar/b6e56aafe01b6dfb69550be92e8db136?s=64&d=identicon&r=G 1225
4.bp.blogspot.com2607:f8b0:400f:801::100cimage/jpeg/_NtoTtHZadHE/SZcxuOA6QmI/AAAAAAAAAAk/Y9hjo6lyCI4/S45/hendy-sitting_square.jpg 1619
664902255.log.optimizely.com107.22.231.18image/gif/event?a=664902255&d=13765676&y=false&n=engagement&g=634652246&u=oeu1401383749478r0.00880544213578105&t=1401383754146&f= 35
text/plain/event?a=664902255&d=13765676&y=false&n=http://java.dzone.com/articles/storm-neo4j-and-python-real&u=oeu1401383749478r0.00880544213578105&wxhr=true&t=1401383749484&f= 2
773-gon-065.mktoresp.com199.15.215.178image/gif/webevents/clickLink?_mchNc=1401381694487&_mchCn=&_mchHr=http://www.neo4j.org/learn/licensing&_mchId=773-GON-065&_mchTk=_mch-neo4j.org-1395320035524-69364&_mchHo=www.neo4j.org&_mchPo=&_mchRu=/develop/shell&_mchPc=http:&_mchVr=142 43
/webevents/clickLink?_mchNc=1401381750537&_mchCn=&_mchHr=http://www.neo4j.org/learn/apps&_mchId=773-GON-065&_mchTk=_mch-neo4j.org-1395320035524-69364&_mchHo=www.neo4j.org&_mchPo=&_mchRu=/develop/shell&_mchPc=http:&_mchVr=142 43
/webevents/clickLink?_mchNc=1401381765145&_mchCn=&_mchHr=http://maxdemarzi.com/2012/08/17/neosocial-connecting-to-facebook-with-neo4j/&_mchId=773-GON-065&_mchTk=_mch-neo4j.org-1395320035524-69364&_mchHo=www.neo4j.org&_mchPo=&_mchRu=/learn/apps&_mchPc=http:&_mchVr=142 43
\n", "

50 rows \u00d7 1 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 111, "text": [ " response_body_len\n", "host id.resp_h resp_mime_types uri \n", "0.gravatar.com 2606:2800:220:bf1:95:a65:51f:1a94 - /css/hovercard.css?ver=201422x 0\n", " /css/services.css?ver=201422x 0\n", " /js/gprofiles.js?ver=201422x 0\n", " image/jpeg /avatar/65dc2ca9ccb63a7004ff934f5501d576?s=32&d=identicon&r=G 988\n", " /avatar/65dc2ca9ccb63a7004ff934f5501d576?s=64&d=identicon&r=G 1477\n", " image/png /avatar/31c24d77a26eb5e3d35b537f19cbe360?s=32&d=identicon&r=G 2284\n", " /avatar/31c24d77a26eb5e3d35b537f19cbe360?s=64&d=identicon&r=G 7860\n", " /avatar/335410d8b3c50577cf0ed33567a3862e?s=32&d=identicon&r=G 646\n", " /avatar/335410d8b3c50577cf0ed33567a3862e?s=64&d=identicon&r=G 1300\n", " /avatar/3dc0bab46bc3dfa2b7175d6d629abf3f?s=32&d=identicon&r=G 810\n", " /avatar/3dc0bab46bc3dfa2b7175d6d629abf3f?s=64&d=identicon&r=G 1797\n", " /avatar/60b0ef6e1bbdbac2049c933c7c4e7fdd?s=32&d=identicon&r=G 1279\n", " /avatar/60b0ef6e1bbdbac2049c933c7c4e7fdd?s=64&d=identicon&r=G 2885\n", " /avatar/9e32ff422dd2c6155bbb43800b98c4d3?s=32&d=identicon&r=G 645\n", " /avatar/9e32ff422dd2c6155bbb43800b98c4d3?s=64&d=identicon&r=G 1207\n", " /avatar/fd9c7194bbb73ea2f186928424b721f6?s=32&d=identicon&r=G 1017\n", " /avatar/fd9c7194bbb73ea2f186928424b721f6?s=64&d=identicon&r=G 1887\n", "1.bp.blogspot.com 2607:f8b0:400f:800::100b image/png /-TK4TVif-FGU/T0Gtlv4zk7I/AAAAAAAAAMw/F-OvNpHcByM/s320/neo4j_sample.png 36931\n", "1.gravatar.com 2606:2800:220:bf1:95:a65:51f:1a94 - /avatar/ad516503a11cd5ca435acc9bb6523536?s=25&d=identicon&forcedefault=y&r=G 0\n", " /avatar/ad516503a11cd5ca435acc9bb6523536?s=54&d=identicon&forcedefault=y&r=G 0\n", " image/jpeg /avatar/a805ec88c0754455cac9b5655dea230e?s=32&d=identicon&r=G 1294\n", " /avatar/a805ec88c0754455cac9b5655dea230e?s=64&d=identicon&r=G 2720\n", " image/png /avatar/11ec004db919032b93195fc5d2555fea?s=32&d=identicon&r=G 276\n", " /avatar/11ec004db919032b93195fc5d2555fea?s=64&d=identicon&r=G 391\n", " /avatar/43618511463276f21c363c8079ad5a5b?s=32&d=identicon&r=G 622\n", " /avatar/43618511463276f21c363c8079ad5a5b?s=64&d=identicon&r=G 1445\n", " /avatar/a614ce207462e4f3fe33273c0deccde7?s=32&d=identicon&r=G 946\n", " /avatar/a614ce207462e4f3fe33273c0deccde7?s=64&d=identicon&r=G 2105\n", " /blavatar/babef735719ccc14fa9a281e6de2fe08?s=32 2497\n", " /blavatar/babef735719ccc14fa9a281e6de2fe08?s=64 8650\n", " image/x-icon /blavatar/b8c1a3c32665c00621a27ee5fc4e51ce?s=16 11078\n", "16518638.log.optimizely.com 174.129.203.102 image/gif /event?a=16518638&d=13765676&y=false&n=engagement&g=28357548&u=oeu1401383749478r0.00880544213578105&t=1401383754150&f=1026380119 35\n", " text/plain /event?a=16518638&d=13765676&y=false&n=http://java.dzone.com/articles/storm-neo4j-and-python-real&u=oeu1401383749478r0.00880544213578105&wxhr=true&t=1401383749484&f= 2\n", " /event?a=16518638&d=13765676&y=false&n=http://java.dzone.com/articles/storm-neo4j-and-python-real&u=oeu1401383749478r0.00880544213578105&wxhr=true&t=1401383750032&f=1026380119 2\n", "2.bp.blogspot.com 2607:f8b0:400f:801::100b image/png /--ghj75EWkyc/UnjtpNV657I/AAAAAAAALiU/UYua5dc4fPk/s1600/Screenshot_11_5_13_2_07_PM.png 779602\n", " /-yz4sG2of89Y/UG4TQ5QsgDI/AAAAAAAAAV8/apaI68-NH5U/s1600/ftd-banner.png 45874\n", "2.gravatar.com 2606:2800:220:bf1:95:a65:51f:1a94 image/jpeg /avatar/86006d83b5bf07a88ef95dfd001609f8?s=32&d=identicon&r=G 1078\n", " /avatar/86006d83b5bf07a88ef95dfd001609f8?s=64&d=identicon&r=G 1810\n", " /avatar/e8dd547cc3ce614c9662b891791349d4?s=32&d=identicon&r=G 1266\n", " /avatar/e8dd547cc3ce614c9662b891791349d4?s=64&d=identicon&r=G 2488\n", " image/png /avatar/58750f2179edbd650b471280aa66fee5?s=32&d=identicon&r=G 2501\n", " /avatar/58750f2179edbd650b471280aa66fee5?s=64&d=identicon&r=G 8411\n", " /avatar/b6e56aafe01b6dfb69550be92e8db136?s=32&d=identicon&r=G 633\n", " /avatar/b6e56aafe01b6dfb69550be92e8db136?s=64&d=identicon&r=G 1225\n", "4.bp.blogspot.com 2607:f8b0:400f:801::100c image/jpeg /_NtoTtHZadHE/SZcxuOA6QmI/AAAAAAAAAAk/Y9hjo6lyCI4/S45/hendy-sitting_square.jpg 1619\n", "664902255.log.optimizely.com 107.22.231.18 image/gif /event?a=664902255&d=13765676&y=false&n=engagement&g=634652246&u=oeu1401383749478r0.00880544213578105&t=1401383754146&f= 35\n", " text/plain /event?a=664902255&d=13765676&y=false&n=http://java.dzone.com/articles/storm-neo4j-and-python-real&u=oeu1401383749478r0.00880544213578105&wxhr=true&t=1401383749484&f= 2\n", "773-gon-065.mktoresp.com 199.15.215.178 image/gif /webevents/clickLink?_mchNc=1401381694487&_mchCn=&_mchHr=http://www.neo4j.org/learn/licensing&_mchId=773-GON-065&_mchTk=_mch-neo4j.org-1395320035524-69364&_mchHo=www.neo4j.org&_mchPo=&_mchRu=/develop/shell&_mchPc=http:&_mchVr=142 43\n", " /webevents/clickLink?_mchNc=1401381750537&_mchCn=&_mchHr=http://www.neo4j.org/learn/apps&_mchId=773-GON-065&_mchTk=_mch-neo4j.org-1395320035524-69364&_mchHo=www.neo4j.org&_mchPo=&_mchRu=/develop/shell&_mchPc=http:&_mchVr=142 43\n", " /webevents/clickLink?_mchNc=1401381765145&_mchCn=&_mchHr=http://maxdemarzi.com/2012/08/17/neosocial-connecting-to-facebook-with-neo4j/&_mchId=773-GON-065&_mchTk=_mch-neo4j.org-1395320035524-69364&_mchHo=www.neo4j.org&_mchPo=&_mchRu=/learn/apps&_mchPc=http:&_mchVr=142 43\n", "\n", "[50 rows x 1 columns]" ] } ], "prompt_number": 111 }, { "cell_type": "code", "collapsed": false, "input": [ "# Look at Weird logs\n", "dataframes['weird_log'].head(20)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
addlid.orig_hid.orig_pid.resp_hid.resp_pnamenoticepeertsuid
0 - - - - - unknown_protocol_2 F bro 1.401381e+09 -
1 - 192.168.1.104 63522 96.17.111.50 80 above_hole_data_without_any_acks F bro 1.401381e+09 Cr8erB4kODWfLymHxg
2 - 192.168.1.104 63553 107.21.109.142 80 unescaped_special_URI_char F bro 1.401382e+09 CInmEQ2qPTLFUaUJgd
3 - 192.168.1.104 63561 69.172.216.56 80 unescaped_%_in_URI F bro 1.401382e+09 CsPWi63OSkkqS5bkT2
4 - 192.168.1.104 63565 69.172.216.56 80 unescaped_%_in_URI F bro 1.401382e+09 CpUvD0416gnFEY3S27
5 - 192.168.1.104 63565 69.172.216.56 80 unescaped_special_URI_char F bro 1.401382e+09 CpUvD0416gnFEY3S27
6 - 192.168.1.104 63567 69.172.216.111 80 unescaped_special_URI_char F bro 1.401382e+09 CPz0bF1lYoQ8MMjdZc
7 - 192.168.1.104 63570 74.125.225.187 80 unescaped_%_in_URI F bro 1.401382e+09 CyPWtb4Btqfxo9Rbv7
8 - 192.168.1.104 63585 69.172.216.111 80 unescaped_special_URI_char F bro 1.401382e+09 Cfjf9F4oM1IXnypuo4
9 - 192.168.1.104 63586 69.172.216.111 80 unescaped_special_URI_char F bro 1.401382e+09 ChFsjm27dRTqQaHEH
10 - 192.168.1.104 63588 69.172.216.111 80 unescaped_special_URI_char F bro 1.401382e+09 Ccdrtu3v0mZw804E81
11 - 192.168.1.104 63607 69.172.216.111 80 unescaped_special_URI_char F bro 1.401382e+09 C0vA5B35l8eojeAAQ
12 - 192.168.1.104 63545 190.104.31.170 80 bad_HTTP_request F bro 1.401382e+09 Ch8tcl22l2EgiV7dwh
13 - 192.168.1.104 63558 107.21.109.142 80 unescaped_special_URI_char F bro 1.401382e+09 C8gJEv1kMJhwG85Hmj
14 - 192.168.1.104 63782 192.0.80.175 80 above_hole_data_without_any_acks F bro 1.401382e+09 CsAIRmdNfA18AqWGi
15 - 192.168.1.104 63780 192.0.80.175 80 above_hole_data_without_any_acks F bro 1.401382e+09 CFkBvRNG5dNLudepe
16 - - - - - unknown_protocol_2 F bro 1.401382e+09 -
17 - 192.168.1.104 63867 179.24.226.184 80 bad_HTTP_request F bro 1.401382e+09 CSzfaoC9bkQ6q93je
18 - 192.168.1.104 63925 192.0.80.175 80 above_hole_data_without_any_acks F bro 1.401382e+09 CHjPrEuxwlcImsYqk
19 - 192.168.1.104 63922 192.0.80.175 80 above_hole_data_without_any_acks F bro 1.401382e+09 Cswz9T28tbPQ7kyBX3
\n", "

20 rows \u00d7 10 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 112, "text": [ " addl id.orig_h id.orig_p id.resp_h id.resp_p \\\n", "0 - - - - - \n", "1 - 192.168.1.104 63522 96.17.111.50 80 \n", "2 - 192.168.1.104 63553 107.21.109.142 80 \n", "3 - 192.168.1.104 63561 69.172.216.56 80 \n", "4 - 192.168.1.104 63565 69.172.216.56 80 \n", "5 - 192.168.1.104 63565 69.172.216.56 80 \n", "6 - 192.168.1.104 63567 69.172.216.111 80 \n", "7 - 192.168.1.104 63570 74.125.225.187 80 \n", "8 - 192.168.1.104 63585 69.172.216.111 80 \n", "9 - 192.168.1.104 63586 69.172.216.111 80 \n", "10 - 192.168.1.104 63588 69.172.216.111 80 \n", "11 - 192.168.1.104 63607 69.172.216.111 80 \n", "12 - 192.168.1.104 63545 190.104.31.170 80 \n", "13 - 192.168.1.104 63558 107.21.109.142 80 \n", "14 - 192.168.1.104 63782 192.0.80.175 80 \n", "15 - 192.168.1.104 63780 192.0.80.175 80 \n", "16 - - - - - \n", "17 - 192.168.1.104 63867 179.24.226.184 80 \n", "18 - 192.168.1.104 63925 192.0.80.175 80 \n", "19 - 192.168.1.104 63922 192.0.80.175 80 \n", "\n", " name notice peer ts \\\n", "0 unknown_protocol_2 F bro 1.401381e+09 \n", "1 above_hole_data_without_any_acks F bro 1.401381e+09 \n", "2 unescaped_special_URI_char F bro 1.401382e+09 \n", "3 unescaped_%_in_URI F bro 1.401382e+09 \n", "4 unescaped_%_in_URI F bro 1.401382e+09 \n", "5 unescaped_special_URI_char F bro 1.401382e+09 \n", "6 unescaped_special_URI_char F bro 1.401382e+09 \n", "7 unescaped_%_in_URI F bro 1.401382e+09 \n", "8 unescaped_special_URI_char F bro 1.401382e+09 \n", "9 unescaped_special_URI_char F bro 1.401382e+09 \n", "10 unescaped_special_URI_char F bro 1.401382e+09 \n", "11 unescaped_special_URI_char F bro 1.401382e+09 \n", "12 bad_HTTP_request F bro 1.401382e+09 \n", "13 unescaped_special_URI_char F bro 1.401382e+09 \n", "14 above_hole_data_without_any_acks F bro 1.401382e+09 \n", "15 above_hole_data_without_any_acks F bro 1.401382e+09 \n", "16 unknown_protocol_2 F bro 1.401382e+09 \n", "17 bad_HTTP_request F bro 1.401382e+09 \n", "18 above_hole_data_without_any_acks F bro 1.401382e+09 \n", "19 above_hole_data_without_any_acks F bro 1.401382e+09 \n", "\n", " uid \n", "0 - \n", "1 Cr8erB4kODWfLymHxg \n", "2 CInmEQ2qPTLFUaUJgd \n", "3 CsPWi63OSkkqS5bkT2 \n", "4 CpUvD0416gnFEY3S27 \n", "5 CpUvD0416gnFEY3S27 \n", "6 CPz0bF1lYoQ8MMjdZc \n", "7 CyPWtb4Btqfxo9Rbv7 \n", "8 Cfjf9F4oM1IXnypuo4 \n", "9 ChFsjm27dRTqQaHEH \n", "10 Ccdrtu3v0mZw804E81 \n", "11 C0vA5B35l8eojeAAQ \n", "12 Ch8tcl22l2EgiV7dwh \n", "13 C8gJEv1kMJhwG85Hmj \n", "14 CsAIRmdNfA18AqWGi \n", "15 CFkBvRNG5dNLudepe \n", "16 - \n", "17 CSzfaoC9bkQ6q93je \n", "18 CHjPrEuxwlcImsYqk \n", "19 Cswz9T28tbPQ7kyBX3 \n", "\n", "[20 rows x 10 columns]" ] } ], "prompt_number": 112 }, { "cell_type": "markdown", "metadata": {}, "source": [ "# So what's my laptop doing?\n", " Now that we're looking at both the graph and the organized dataframe, lets investigate the traffic we're seeing from the network tap.\n", "
\n", "
\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Put awesome description of all the stuff going on here :)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Convert the 'ts' field to an official datetime object\n", "dataframes['http_log']['time'] = pd.to_datetime(dataframes['http_log']['ts'],unit='s')\n", "dataframes['http_log']['time'].head()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 113, "text": [ "0 2014-05-29 16:33:38.783838\n", "1 2014-05-29 16:34:38.973012\n", "2 2014-05-29 16:35:39.162410\n", "3 2014-05-29 16:36:39.353959\n", "4 2014-05-29 16:37:40.297491\n", "Name: time, dtype: datetime64[ns]" ] } ], "prompt_number": 113 }, { "cell_type": "code", "collapsed": false, "input": [ "# Explore pivoting and resampling\n", "response_bytes = dataframes['http_log'][['time','resp_mime_types','response_body_len']]\n", "response_bytes['response_body_len'] = response_bytes['response_body_len'].astype(int)\n", "print response_bytes.head()\n", "pivot = pd.pivot_table(response_bytes, rows='time', values='response_body_len', cols=['resp_mime_types'], aggfunc=sum)\n", "sampled_bytes = pivot.resample('1Min', how='sum')\n", "sampled_bytes.head()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " time resp_mime_types response_body_len\n", "0 2014-05-29 16:33:38.783838 text/plain 21\n", "1 2014-05-29 16:34:38.973012 text/plain 21\n", "2 2014-05-29 16:35:39.162410 text/plain 21\n", "3 2014-05-29 16:36:39.353959 text/plain 21\n", "4 2014-05-29 16:37:40.297491 text/plain 21\n", "\n", "[5 rows x 3 columns]\n" ] }, { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
resp_mime_types-application/octet-streamapplication/x-font-ttfapplication/x-shockwave-flashapplication/xmlbinaryimage/gifimage/jpegimage/pngimage/svg+xmlimage/x-icontext/htmltext/plaintext/x-cvideo/mp4
time
2014-05-29 16:33:00NaNNaNNaNNaNNaNNaN NaN NaN NaNNaN NaN NaN 21NaNNaN
2014-05-29 16:34:00NaNNaNNaNNaNNaNNaN NaN NaN NaNNaN NaN NaN 21NaNNaN
2014-05-29 16:35:00NaNNaNNaNNaNNaNNaN NaN NaN NaNNaN NaN NaN 21NaNNaN
2014-05-29 16:36:00NaNNaNNaNNaNNaNNaN NaN NaN NaNNaN NaN NaN 21NaNNaN
2014-05-29 16:37:00 0NaNNaNNaNNaNNaN 68841 962 23623NaN 3382 55238 417659NaNNaN
\n", "

5 rows \u00d7 15 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 114, "text": [ "resp_mime_types - application/octet-stream application/x-font-ttf \\\n", "time \n", "2014-05-29 16:33:00 NaN NaN NaN \n", "2014-05-29 16:34:00 NaN NaN NaN \n", "2014-05-29 16:35:00 NaN NaN NaN \n", "2014-05-29 16:36:00 NaN NaN NaN \n", "2014-05-29 16:37:00 0 NaN NaN \n", "\n", "resp_mime_types application/x-shockwave-flash application/xml binary \\\n", "time \n", "2014-05-29 16:33:00 NaN NaN NaN \n", "2014-05-29 16:34:00 NaN NaN NaN \n", "2014-05-29 16:35:00 NaN NaN NaN \n", "2014-05-29 16:36:00 NaN NaN NaN \n", "2014-05-29 16:37:00 NaN NaN NaN \n", "\n", "resp_mime_types image/gif image/jpeg image/png image/svg+xml \\\n", "time \n", "2014-05-29 16:33:00 NaN NaN NaN NaN \n", "2014-05-29 16:34:00 NaN NaN NaN NaN \n", "2014-05-29 16:35:00 NaN NaN NaN NaN \n", "2014-05-29 16:36:00 NaN NaN NaN NaN \n", "2014-05-29 16:37:00 68841 962 23623 NaN \n", "\n", "resp_mime_types image/x-icon text/html text/plain text/x-c video/mp4 \n", "time \n", "2014-05-29 16:33:00 NaN NaN 21 NaN NaN \n", "2014-05-29 16:34:00 NaN NaN 21 NaN NaN \n", "2014-05-29 16:35:00 NaN NaN 21 NaN NaN \n", "2014-05-29 16:36:00 NaN NaN 21 NaN NaN \n", "2014-05-29 16:37:00 3382 55238 417659 NaN NaN \n", "\n", "[5 rows x 15 columns]" ] } ], "prompt_number": 114 }, { "cell_type": "code", "collapsed": false, "input": [ "# Plotting defaults\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "plt.rcParams['font.size'] = 12.0\n", "plt.rcParams['figure.figsize'] = 12.0, 8.0" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 115 }, { "cell_type": "code", "collapsed": false, "input": [ "# Let plot it!\n", "sampled_bytes.plot()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 116, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 116 } ], "metadata": {} } ] }