Book Image

Learning Python for Forensics

By : Chapin Bryce
Book Image

Learning Python for Forensics

By: Chapin Bryce

Overview of this book

This book will illustrate how and why you should learn Python to strengthen your analysis skills and efficiency as you creatively solve real-world problems through instruction-based tutorials. The tutorials use an interactive design, giving you experience of the development process so you gain a better understanding of what it means to be a forensic developer. Each chapter walks you through a forensic artifact and one or more methods to analyze the evidence. It also provides reasons why one method may be advantageous over another. We cover common digital forensics and incident response scenarios, with scripts that can be used to tackle case work in the field. Using built-in and community-sourced libraries, you will improve your problem solving skills with the addition of the Python scripting language. In addition, we provide resources for further exploration of each script so you can understand what further purposes Python can serve. With this knowledge, you can rapidly develop and deploy solutions to identify critical information and fine-tune your skill set as an examiner.
Table of Contents (24 chapters)
Learning Python for Forensics
Credits
About the Authors
Acknowledgments
About the Reviewer
www.PacktPub.com
Preface
Index

Mastering our final iteration – bitcoin_address_lookup.py


In the final iteration, we will write the output of our script to a CSV file rather than the console. This allows examiners to quickly filter and sort data in a manner conducive to analysis.

On line 2, we've imported the csv module that is a part of the standard library. Writing to a CSV file is fairly simple compared with other output formats, and most examiners are very comfortable with manipulating spreadsheets.

001 import argparse
002 import csv
003 import json
004 import logging
005 import sys
006 import os
007 import urllib2
008 import unix_converter as unix
009
010 __author__ = 'Preston Miller & Chapin Bryce'
011 __date__ = '20160401'
012 __version__ = 0.03
013 __description__ = 'This scripts downloads address transactions using blockchain.info public APIs'

The main focus of this final iteration is the addition of the new function csvWriter(). This function is responsible for writing the data returned by parseTransactions...