That's embarrassingly simple! Thank you very much!!
On Mar 11, 4:03 am, [EMAIL PROTECTED] wrote: > On 10 Mar, 23:58, Mark M Manning <[EMAIL PROTECTED]> wrote: > > > > > I need your expertise with a sockets question. > > > Let me preface this by saying I don't have much experience with > > sockets in general so this question may be simple. > > > I am playing with the mini dns server from a script I found > > online:http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/491264/index_txt > > > All I want to do is edit this script so that it records the IP > > address. I've seen other examples use the accept() object which > > returns the data and the IP address it is receiving the data from. I > > can't use that in this case but I'm wondering if someone could show me > > how. > > > Here is the socket part of the script: > > > if __name__ == '__main__': > > ip='192.168.1.1' > > print 'pyminifakeDNS:: dom.query. 60 IN A %s' % ip > > > udps = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) > > udps.bind(('',53)) > > > try: > > while 1: > > data, addr = udps.recvfrom(1024) > > p=DNSQuery(data) > > udps.sendto(p.respuesta(ip), addr) > > print 'Respuesta: %s -> %s' % (p.dominio, ip) > > except KeyboardInterrupt: > > print 'Finalizando' > > udps.close() > > > Thanks to everyone in advance! > > ~Mark > > You already have the address of the sender, is in the 'addr' variable, > as returned by udps.recvfrom. > Change the print statement in sometinmh like: > print 'Respuesta (%s): %s -> %s' % ( addr, p.dominio, ip) > and you will see the sender address in dotted notation printed inside > the (). > > Ciao > ------- > FB -- http://mail.python.org/mailman/listinfo/python-list