rfmonk

ping_www.py

Jan 25th, 2014
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.79 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3. # thx foundations of py net prog
  4. # find the www service of arbitrary host
  5. # using getaddrinfo()
  6.  
  7. import socket
  8. import sys
  9.  
  10. if len(sys.argv) != 2:
  11.     print >>sys.stderr, 'usage: ping_www.py <hostname_or_ip>'
  12.     sys.exit(2)
  13.  
  14. hostname_or_ip = sys.argv[1]
  15.  
  16. try:
  17.     infolist = socket.getaddrinfo(
  18.         hostname_or_ip, 'www', 0, socket.SOCK_STREAM, 0,
  19.         socket.AI_ADDRCONFIG | socket.AI_V4MAPPED | socket.AI_CANONNAME,
  20.     )
  21.  
  22. except socket.gaierror, e:
  23.     print 'Name service failure:', e.args[1]
  24.     sys.exit(1)
  25.  
  26. info = infolist[0]  # try the first one
  27. socket_args = info[0:3]
  28. address = info[4]
  29. s = socket.socket(*socket_args)
  30. try:
  31.     s.connect(address)
  32. except socket.error, e:
  33.     print 'Network failure:', e.args[1]
  34. else:
  35.     print 'Success: host', info[3], 'is listening on 80'
Add Comment
Please, Sign In to add comment