dbus-pcap: Print error information to stderr

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: Id659c280a2a01eb2e18ae950e8908063b7bb95fd
diff --git a/dbus-pcap/dbus-pcap b/dbus-pcap/dbus-pcap
index eea8ba4..8108ac8 100755
--- a/dbus-pcap/dbus-pcap
+++ b/dbus-pcap/dbus-pcap
@@ -10,6 +10,7 @@
 from scapy.all import rdpcap
 import struct
 import json
+import sys
 
 RawMessage = namedtuple("RawMessage", "endian, header, data")
 FixedHeader = namedtuple("FixedHeader", "endian, type, flags, version, length, cookie")
@@ -192,10 +193,11 @@
         return remaining, offset
 
     def dump(self):
-        print("AlignedStream: absolute offset: {}".format(self.offset))
-        print("AlignedStream: relative offset: {}".format(self.offset - self.stash[1]))
-        print("AlignedStream: remaining buffer:\n{}".format(self.drain()[0]))
-        print("AlignedStream: provided buffer:\n{}".format(self.stash[0]))
+        print("AlignedStream: absolute offset: {}".format(self.offset), file=sys.stderr)
+        print("AlignedStream: relative offset: {}".format(self.offset - self.stash[1]),
+                file=sys.stderr)
+        print("AlignedStream: remaining buffer:\n{}".format(self.drain()[0]), file=sys.stderr)
+        print("AlignedStream: provided buffer:\n{}".format(self.stash[0]), file=sys.stderr)
 
     def dump_assert(self, condition):
         if condition:
@@ -211,9 +213,10 @@
         val = struct.unpack("{}{}".format(endian, prop.type), val)[0]
         return bool(val) if prop.type == DBusType.BOOLEAN else val
     except struct.error as e:
-        print(e)
-        print("parse_fixed: Error unpacking {}".format(val))
-        print("parse_fixed: Attempting to unpack type {} with properties {}".format(tc.type, prop))
+        print(e, file=sys.stderr)
+        print("parse_fixed: Error unpacking {}".format(val), file=sys.stderr)
+        print("parse_fixed: Attempting to unpack type {} with properties {}".format(tc.type, prop),
+              file=sys.stderr)
         stream.dump_assert(False)
 
 def parse_string(endian, stream, tc):
@@ -233,7 +236,8 @@
             stream.dump()
             raise AssertionError(e)
     except AssertionError as e:
-        print("parse_string: Error unpacking string of length {} from {}".format(size, val))
+        print("parse_string: Error unpacking string of length {} from {}".format(size, val),
+                file=sys.stderr)
         raise e
 
 def parse_type(endian, stream, tc):
@@ -328,10 +332,10 @@
             body = parse_body(header, data)
             return CookedMessage(header, body)
         except AssertionError as e:
-            print(header)
+            print(header, file=sys.stderr)
             raise e
     except AssertionError as e:
-        print(raw)
+        print(raw, file=sys.stderr)
         raise e
 
 def parse_packet(packet):
@@ -340,6 +344,7 @@
     try:
         msg = parse_message(raw)
     except MalformedPacketError as e:
+        print("Got malformed packet: {}".format(raw), file=sys.stderr)
         # For a message that is so large that its payload data could not be parsed,
         # just parse its header, then set its data field to empty.
         header, data = parse_header(raw, True)