{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "# Zeek Network Data to Plotting\n", "Yes, this is provincial, but going from a Zeek log to a visual data plot in a few lines of code might be really handy sometimes. So without further ado here's a very small bit of code :)\n", "\n", "
\n", "\n", "### Software\n", "- Zeek Analysis Tools (ZAT): https://github.com/SuperCowPowers/zat\n", "- Pandas: https://github.com/pandas-dev/pandas\n", "- Matplotlib: https://matplotlib.org" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Quickly go from Zeek log to Pandas DataFrame" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Successfully monitoring ../data/http.log...\n" ] }, { "data": { "text/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", "
filenamehostid.orig_hid.orig_pid.resp_hid.resp_pinfo_codeinfo_msgmethodorig_fuids...resp_mime_typesresponse_body_lenstatus_codestatus_msgtagstrans_depthuiduriuser_agentusername
ts
2013-09-15 17:44:27.668082-guyspy.com192.168.33.10103154.245.228.19180--GET-...text/html184301Moved Permanently(empty)1CyIaMO7IheOh38Zsi/Mozilla/4.0 (compatible; MSIE 8.0; Windows NT ...-
2013-09-15 17:44:27.731702-www.guyspy.com192.168.33.10103254.245.228.19180--GET-...text/html100631200OK(empty)1CoyZrY2g74UvMMgp4a/Mozilla/4.0 (compatible; MSIE 8.0; Windows NT ...-
2013-09-15 17:44:28.092922-www.guyspy.com192.168.33.10103254.245.228.19180--GET-...text/html55817404Not Found(empty)2CoyZrY2g74UvMMgp4a/wp-content/plugins/slider-pro/css/advanced-sl...Mozilla/4.0 (compatible; MSIE 8.0; Windows NT ...-
2013-09-15 17:44:28.150301-www.guyspy.com192.168.33.10104054.245.228.19180--GET-...text/plain887200OK(empty)1CiCKTz4e0fkYYazBS3/wp-content/plugins/contact-form-7/includes/cs...Mozilla/4.0 (compatible; MSIE 8.0; Windows NT ...-
2013-09-15 17:44:28.150602-www.guyspy.com192.168.33.10104154.245.228.19180--GET-...text/plain10068200OK(empty)1C1YBkC1uuO9bzndRvh/wp-content/plugins/slider-pro/css/slider/adva...Mozilla/4.0 (compatible; MSIE 8.0; Windows NT ...-
\n", "

5 rows × 26 columns

\n", "
" ], "text/plain": [ " filename host id.orig_h id.orig_p \\\n", "ts \n", "2013-09-15 17:44:27.668082 - guyspy.com 192.168.33.10 1031 \n", "2013-09-15 17:44:27.731702 - www.guyspy.com 192.168.33.10 1032 \n", "2013-09-15 17:44:28.092922 - www.guyspy.com 192.168.33.10 1032 \n", "2013-09-15 17:44:28.150301 - www.guyspy.com 192.168.33.10 1040 \n", "2013-09-15 17:44:28.150602 - www.guyspy.com 192.168.33.10 1041 \n", "\n", " id.resp_h id.resp_p info_code info_msg \\\n", "ts \n", "2013-09-15 17:44:27.668082 54.245.228.191 80 - - \n", "2013-09-15 17:44:27.731702 54.245.228.191 80 - - \n", "2013-09-15 17:44:28.092922 54.245.228.191 80 - - \n", "2013-09-15 17:44:28.150301 54.245.228.191 80 - - \n", "2013-09-15 17:44:28.150602 54.245.228.191 80 - - \n", "\n", " method orig_fuids ... resp_mime_types \\\n", "ts ... \n", "2013-09-15 17:44:27.668082 GET - ... text/html \n", "2013-09-15 17:44:27.731702 GET - ... text/html \n", "2013-09-15 17:44:28.092922 GET - ... text/html \n", "2013-09-15 17:44:28.150301 GET - ... text/plain \n", "2013-09-15 17:44:28.150602 GET - ... text/plain \n", "\n", " response_body_len status_code status_msg \\\n", "ts \n", "2013-09-15 17:44:27.668082 184 301 Moved Permanently \n", "2013-09-15 17:44:27.731702 100631 200 OK \n", "2013-09-15 17:44:28.092922 55817 404 Not Found \n", "2013-09-15 17:44:28.150301 887 200 OK \n", "2013-09-15 17:44:28.150602 10068 200 OK \n", "\n", " tags trans_depth uid \\\n", "ts \n", "2013-09-15 17:44:27.668082 (empty) 1 CyIaMO7IheOh38Zsi \n", "2013-09-15 17:44:27.731702 (empty) 1 CoyZrY2g74UvMMgp4a \n", "2013-09-15 17:44:28.092922 (empty) 2 CoyZrY2g74UvMMgp4a \n", "2013-09-15 17:44:28.150301 (empty) 1 CiCKTz4e0fkYYazBS3 \n", "2013-09-15 17:44:28.150602 (empty) 1 C1YBkC1uuO9bzndRvh \n", "\n", " uri \\\n", "ts \n", "2013-09-15 17:44:27.668082 / \n", "2013-09-15 17:44:27.731702 / \n", "2013-09-15 17:44:28.092922 /wp-content/plugins/slider-pro/css/advanced-sl... \n", "2013-09-15 17:44:28.150301 /wp-content/plugins/contact-form-7/includes/cs... \n", "2013-09-15 17:44:28.150602 /wp-content/plugins/slider-pro/css/slider/adva... \n", "\n", " user_agent \\\n", "ts \n", "2013-09-15 17:44:27.668082 Mozilla/4.0 (compatible; MSIE 8.0; Windows NT ... \n", "2013-09-15 17:44:27.731702 Mozilla/4.0 (compatible; MSIE 8.0; Windows NT ... \n", "2013-09-15 17:44:28.092922 Mozilla/4.0 (compatible; MSIE 8.0; Windows NT ... \n", "2013-09-15 17:44:28.150301 Mozilla/4.0 (compatible; MSIE 8.0; Windows NT ... \n", "2013-09-15 17:44:28.150602 Mozilla/4.0 (compatible; MSIE 8.0; Windows NT ... \n", "\n", " username \n", "ts \n", "2013-09-15 17:44:27.668082 - \n", "2013-09-15 17:44:27.731702 - \n", "2013-09-15 17:44:28.092922 - \n", "2013-09-15 17:44:28.150301 - \n", "2013-09-15 17:44:28.150602 - \n", "\n", "[5 rows x 26 columns]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from zat.log_to_dataframe import LogToDataFrame\n", "from zat.utils import plot_utils\n", "\n", "# Just some plotting defaults\n", "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "plot_utils.plot_defaults()\n", "\n", "# Convert it to a Pandas DataFrame\n", "log_to_df = LogToDataFrame()\n", "http_df = log_to_df.create_dataframe('../data/http.log')\n", "http_df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "## Lets look at our data\n", "Above we used a ZAT utility method to set up nice plotting defaults and here we simply use the plotting provided by Pandas." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[,\n", " ]], dtype=object)" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nJEmSqmTCKkmSJEmqkgmrJEmSJKlKJqySJEmSpCqZsEqSJEmSqmTCKkmSJEmqkgmrJEmSJKlKJqyS\nJEmSpCqZsEqSJEmSqmTCKkmSJEmqkgmrJEmSJKlKJqySJEmSpCqZsEqSJEmSqmTCKkmSJEmqkgmr\nJEmSJKlKJqySJEmSpCqZsEqSJEmSqmTCKkmSJEmqkgmrJEmSJKlKJqySJEmSpCqZsEqSJEmSqmTC\nKkmSJEmqkgmrJEmSJKlKJqySJEmSpCqZsEqSJEmSqmTCKkmSJEmqkgmrJEmSJKlKJqySJEmSpCqZ\nsEqSJEmSqmTCKkmSppVkRZJLk2xJcmOSc5Msbpcdn2Rjktvan8ePOl5J0uQxYZUkSXtyHnATsAw4\nHngk8LwkdwU+CFwMHAJcBHywnS9J0sCYsEqSpD35L8B7Sim3l1JuBC4DjgNOABYDf19K2VlKeR0Q\n4LdHFqkkaSItHnUAkiSpWn8PnJRkA82d1CcAL6FJWq8spZSusle28y/r3UiSNcAagGXLlrFx48Yh\nhz3/xuWYpqamRh3C2LLu+mfd9c+6G1DCmmQFzWND/w3YCbwP+F+llJ+2fVrOBx4IXAX8SSnlq4PY\nryRJGqrP0iSaPwYW0Tz6+wFgLbC1p+xW4ODpNlJKWQ+sB1i9enVZtWrVsOIdmXE6pnGKtTbWXf+s\nu/4t9Lob1CPB9nGRJGmCJNmP5m7pJcBBwGE0bfnZwDZgac8qS4Fb5zNGSdLkG1TCah8XSZImy6HA\nfYFz2zb8FuAtwBOBTcBDkqSr/EPa+ZIkDcyg+rDOuY+L/Vt2Nc7Pqxv7aBj7aBi7JlUp5eYk3wGe\nm+RvgCXAM2na8Q3Az4DnJ3kjcFq72qdGEaskaXINKmGdcx8X+7fMvXxNjH00jH00jF0T7Gk0F6Vf\nTJOgfgr481LKHUmeCvwj8GqaMSqeWkq5Y2SRSpIm0pwT1q4+LuuB36C5AnsBTR+X72MfF0mSxlI7\nSOIJe1j2FcArHpKkoRpEH1b7uEiSJEmSBm7OCWsp5Wag08dlcZJ7MH0fl/2TnN6uZh8XSZIkSdJe\nDWqU4KcBjwc2A98CfkLbxwV4KvCHwI+AP8Y+LpIkSZKkGRjIoEv2cZEkSZIkDdqg7rBKkiRJkjRQ\nJqySJEmSpCqZsEqSJEmSqmTCKkmSJEmqkgmrJEmSJKlKJqySJEmSpCqZsEqSJEmSqmTCKkmSJEmq\nkgmrJEmSJKlKJqySJEmSpCqZsEqSJEmSqmTCKkmSJEmqkgmrJEmSJKlKJqySJEmSpCqZsEqSJEmS\nqmTCKkmSJEmqkgmrJEmSJKlKJqySJEmSpCqZsEqSJEmSqmTCKkmSJEmqkgmrJEmSJKlKJqySJEmS\npCqZsEqSJEmSqmTCKkmSJEmqkgmrJEmSJKlKJqySJEmSpCqZsEqSJEmSqmTCKkmSJEmqkgmrJEmS\nJKlKJqySJEmSpCqZsEqSJEmSqmTCKkmS9ijJSUmuSrI9ybVJHt7Of1SSq5PcluTTSZaPOlZJ0uQx\nYZUkSdNK8hjgbOCPgIOBRwDfTnIYcAnwEuBQ4HLg3aOKU5I0uRaPOgBJklStlwOvKKV8sf18PUCS\nNcCmUsp728/rgJuTHFtKuXokkUqSJtLA7rD6yJAkSZMjySJgNXB4km8luS7JuUkOBI4DruiULaVs\nB65t50uSNDADucPa9cjQ/wT+HVjWzu88MvQs4EPAWTSPDP36IPYrSZKG5gjgLsDTgYcDPwE+CKwF\nlgCbe8pvpXlseDftHdk1AMuWLWPjxo1DCnl0xuWYpqamRh3C2LLu+mfd9c+6G9wjwT4yJEnSZNnR\n/vyHUsr3AZK8hiZh/SywtKf8UuDW6TZUSlkPrAdYvXp1WbVq1VACHqVxOqZxirU21l3/rLv+LfS6\nm/MjwT4yJEnS5CmlbAGuA0r37PbnJmBlZ2aSg4D7t/MlSRqYQdxhHcgjQz4utKtxvv1v7KNh7KNh\n7JpwbwH+LMllNO37nwMfBt4PnJPkROAjwEuBK316SpI0aINIWAfyyJCPC829fE2MfTSMfTSMXRPs\nLOAw4BrgduA9wF+WUm5vk9VzgYuBfwNOGlmUkqSJNeeEtZSyJcneHhl6ZmemjwxJkjQ+Sik/AZ7X\nTr3LPgEcO+9BSZIWlEG91qbzyNC9khzCro8MPTjJiUkOwEeGJEmSJEkzNKiE9SzgSzSPDF0FfIXm\nkaHNwInAXwJbgIfhI0OSJEmSpBkYyGttfGRIkiRJkjRog7rDKkmSJEnSQJmwSpIkSZKqZMIqSZIk\nSaqSCaskSZIkqUomrJIkSZKkKpmwSpIkSZKqZMIqSZIkSaqSCaskSZIkqUomrJIkSZKkKpmwSpIk\nSZKqZMIqSZIkSaqSCaskSZIkqUomrJIkSZKkKpmwSpIkSZKqZMIqSZIkSaqSCaskSZIkqUomrJIk\n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\nD+BKogos3McoAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "http_df[['request_body_len','response_body_len']].hist()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "## Lets look at our data again\n", "Since ZAT automatically makes the timestamp the index, we can plot volume over time super easy." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nJfnOOT+65HWS/rtzbnaDp7lV0hOafv0CSX8u6dmSpszs6ZIKkm6RNKBwCtqDCjeCA1hjJz6Xzrma\nmR2R9A4z+21JT5L0K5J+tb/fDbB77MRns+n210r6tnPuR/1aP7Bb7dBn05P0VDP7CUnfUPj35ssV\nVlURoWUXm/FOha17b1c4UWwxuk3Rh/mX1KK9ITrX6TZJcs75zrmT8ZekxyQF0a9rkiYkfVbSaYWj\ntg9Kerlzrrrd3xyQUTvxuZTC8DmpcCrhVyS9yzn3D9v7rQGZtlOfTalDeyGAVbb9sxn9cOjfSfqA\nwn/TfkvSf5f0V9v+3WWIscUAAAAAAJAEKqQAAAAAgEQQSAEAAAAAiSCQAgAAAAASQSAFAAAAACSC\nQAoAAAAASASBFAAAAACQCAIpAADYVcxszMycmb046bUAADZGIAWAM4yZfdzMrm9x+6HoH/EHzeza\n6P83+rqvw/3fjJ63+boFM7vVzK7psMbmxyya2R1m9ntmZtv0tmwrM/ummf150uvohZkNmtkfmtkP\nzWzJzKbN7EYz+9Wk1wYA2D3ySS8AAJBK75f04aZff1PS9dHtMScpDoiXSfqqpMslnYhuW2m69g8k\nfUjSsKTXS/pLM6s45z67wRrix5Ql/VT0/6cl/WXP3w3aMrOic26lxV0flvRCSW+WdKukfZKeJ+ms\nHVweAGCXo0IKAFjHOTfnnDsZf0nyJa26zTn3SNP9j0YPnWq6/7Gmp5yNbvuhc+6dku6W9HMdlhE/\n5j7n3F9JOibpJc0XmNklZvYVM5s1s1Nm9hkzO6fpfs/M3m9mj0dff2pmH4qrt9E166qXa6vIFnqr\nmf0oqtjeYmavWfOYd5vZcTNbNrOTZvbX8XNJukrSbzVVfQ+aWcHMPmBmD0WPOWFm/7ndm2Fmrzez\nOTN7hZndFVUtv2FmT1pz3SvM7LvR/fea2XvNrNh0/31RBfyjZjYj6dNtXvLfSHqfc+766Pfge865\nDznnPtjj+3KemX3azB6NKuTfN7N/1XT/G6Iq7Er0399Y83hnZteY2efNbN7M7mnxGs9t+p6/J+mK\ndu8jACBdCKQAgCQsSSp0c2EUel4s6WJJ1abbz5V0WGH17nKFVdRhSV8ys/jvt9+R9BuS3iDp+ZI8\nSa/exHrfI+nfS/otSZdIep/CKu/PRmu5WtLvSnqjpKdKermkf4ke+2ZJ/yTpY5LOjb5OSPptST8v\n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\nRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "http_df['uid'].resample('1S').count().plot()\n", "plt.xlabel('HTTP Requests per Second')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Wrap Up\n", "Well that's it for this notebook, it was kinda simple but sometime you just want to know how to plot the darn thing. :)\n", "\n", "If you liked this notebook please visit the [ZAT](https://github.com/SuperCowPowers/zat) project for more notebooks and examples." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.2" } }, "nbformat": 4, "nbformat_minor": 2 }