Faces in The Cloud: High-Throughput Data Processing with Message Queues, Part 1

As the title of this post alludes, this tutorial will guide you though the process of setting up a grid computing cluster, leveraging a high-performance message queue for task arbitration. This particular example will perform face detection on a number of images using Python, OpenCV, ImageMagick, and leveraging beanstalkd. My hope is that by the end of this tutorial you will understand a little bit about message queues, image processing, and grid computing.

Read more »

Bridging Networks in Pure Python

2011-09-13 by Motoma, tagged as bridge, hack, network, python, reverse connection

Every now and then I find myself in a situation where the tools at hand are inappropriate, impeded, or impotent for the task at hand. Whether I am on a machine with insufficient privileges, behind a vindictive NAT, or under the opression of significant egress filtering, from time to time I find myself needing to bridge networks in order to get my work done.

Read more »

Genetic Programming the Python Way - The Basics

2011-02-05 by Motoma, tagged as genetic programming, python, ruby

Ages ago, I came across a post by Chris Eigner that succinctly delineates the genetic programming method, exemplified with a terse, no-frills example written in Ruby. Impressed by the simplicity of his code, I quickly whipped up an implementation in Python. Weeks turned into months, as I continued to put off posting the code here.

Read more »

Basic Server Monitoring with Python

2010-12-29 by Motoma, tagged as monitoring, python, server, uptime

Uptime is an important statistic for anyone in the internet business. For a system administrator to keep track of uptime, a reliable method for monitoring servers and services is key. A reliable, offsite shell acount like Devio.us lends itself to this task quite naturally. In this post, I will demonstrate:

  1. How to write a simple script that connects to a server
  2. How to make scripts report to you via email
  3. How to set scripts and programs to run at a scheduled time

Read more »

SOCKS Wrapper, Compatibility Improvements, and PyLoris 3.2

2010-09-23 by Motoma, tagged as networking, proxy, python, socks, tunnel

Almost a year and a half ago, I wrote a program called PyLoris. Inspired by a proof of concept tool written by RSnake, PyLoris demonstrated the efficacy of connection exhaustion as a vehicle for a denial of service attack. While the initial release of the tool was buggy and featureless, I began to imagine new ways to augment the attack, improving its ability to work unimpeded. SOCKS support was one of the improvements. By coupling PyLoris with SOCKS, the attack signature could become obfuscated, split across many different machines in geographically disparate locations, making mitigation a nightmare.

Read more »

Using Python to be the Man in the Middle

2010-08-20 by Motoma, tagged as hacking, mitm, programming, python, sockets

I've started working on a private project which is on par with the type of programming I like to do. The basic premise is that the program acts as a man in the middle, routing traffic between client and server, occasionally altering or injecting data into the stream each way.

Read more »

Using Python to Leech Files from an FTP Server

2010-07-08 by Motoma, tagged as automation, download, files, ftp, leech, python

My friend Jeff from { ParsedContent } and I were discussing the techniques one could use to surreptitiously download files from and FTP server using Python. Jeff has made a posting on Dream.In.Code looking for some quick guidance, and I jumped at the chance to flex my programming muscles.

Read more »

What's New?

2010-04-07 by Motoma

PyLoris 3.0 is a complete rewrite of the PyLoris code base. Everything was rethought, restructured, and rebuilt from the ground up. Along the way, I developed a feature set that I felt it needed, while retrospectively analyzing how PyLoris' users were trying to use it. In the end PyLoris 3.0 was given a GUI, a Scripting interface, and a threaded API.

Read more »