I’m working through Violent Python. I’m still working on the Automating Python stuff to, but that requires WingIDE and I only have 1 license for that. Which means run on a VM at home.
Violent Python suggested an IDE at the beginning, but the examples are written in a way (at least in the first 2 chapters) so I can SSH to my multi-purpose server and do everything via VIM and the CLI.
So far here is my thoughts on Violent Python.
- I can use on a headless server over SSH / No GUI needed.
- Don’t need to worry about an IDE
- Focused on Infosec based scripting
- The white space in the code is off. Stuff that should be indented doesn’t appear to be in the text.
- Some of the code as written in the book doesn’t work right, but not enough was covered on debugging to actually troubleshoot the problems the reader has.
- Doesn’t go in-depth enough on some of the subjects when they’re introduced.
- uses example servers that are not provided to the readers to use. Doesn’t talk about how to set up a test environment.
- The programs in the book don’t match the downloadable content on the book’s companion site.
The book said to use
python portscanner.py -H -p 21, 22, 80
but that breaks the port scanner because of the way it reads the command line. As written in the book it passes 21, to the part of the code that scans. Having the spaces trigger as list items.
ValueError: invalid literal for int() with base 10: ''
There were lots of ways to fix that when I googled it last night. Everything from strip the space in a for loop to adding quotes around the ports passed with the -p option.