rendered paste body#!/usr/bin/env python import socket, sysclass UDPDumper: def __init__(self, port): self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) self.sock.bind(('', port)) while True: data, addr = self.sock.recvfrom(65536) print 'Received packet from %s:' % `addr` self.printPacket(data) def printPacket(self, data): for i in range(0, len(data), 16): print '%08x |' % i, for j in range(16): if j == 8: print '', if len(data) > i + j: print '%02X' % ord(data[i + j]), else: print ' ', sys.stdout.write(' | ') for j in range(16): if j == 8: print ' ', if len(data) > i + j: c = data[i + j] if ord(c) > 31 and ord(c) < 127: sys.stdout.write(c) else: sys.stdout.write('.') else: sys.stdout.write(' ') print ''if __name__=='__main__': UDPDumper(port=4242)