Learning Python for Forensics
上QQ阅读APP看书,第一时间看更新

Challenge

We recommend experimenting with the code to learn how it works or try to improve its functionality. For example, checking whether the user supplied two arguments would be better suited at the beginning of the main() function rather than checking after the bulk of the program has executed. Another simple check might be determining that the vendor and product ID are both four characters in length. Anything less or greater should be refused as all vendor and product IDs in the dictionary are four characters long.

We have provided a file named usb.ids in the code packet containing the USB data source from the webpage of interest. Rather than using urllib2 to access the data source online, we recommend modifying the script to work with the usb.ids local file. This can expand the script functionality for those lacking an Internet connection or are running the script offline. Programs are constantly evolving and are never truly finished products. There are plenty of other improvements that can be made here.