#!/usr/bin/env python import sys, os import socket class Listener(object): __EXIT = { 'SUCCESS':0, 'ERROR':1, } def __init__( self): pass def Run( self): self.__startListen() return self.__EXIT['SUCCESS'] def __startListen( self): self.svrsoc = socket.socket( socket.AF_INET, socket.SOCK_STREAM) self.svrsoc.bind((socket.gethostname(), 443)) self.svrsoc.listen(3) while True: (cs, add) = self.svrsoc.accept() dt = cs.recv(0x1000) address = add[0] print("Received Message From: %s" % address) if len(dt) == 0x180: print("Received message:") print("%s\n" % repr(dt)) version = dt[0:0x80] name = dt[0x80:0xc0] mac = dt[0xc0:0x100] comment = dt[0x100:0x180] print("Address: %s, Windows Version: %s, Computer Name %s, MAC: %s, Comment %s" % (address, version, name, mac, comment) ) cs.send("\x1A\x80" + "\x00" * 0x802) cs.close() else: print("Received incorrectly sized message: 0x%x received. Expecting size of 0x180" % len(dt)) print("Received: %s\n" % repr(dt)) cs.close() if __name__ == "__main__": app = Listener() sys.exit( app.Run())