Python Sockets Help

Mark M Manning mark.manning at gmail.com
Mon Mar 10 23:58:03 CET 2008


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



More information about the Python-list mailing list