探测端口是否存在

 

 
  1. #!/usr/bin/env python 
  2.  
  3. import socket 
  4. import re 
  5. import sys 
  6.  
  7. def check_server(address,port): 
  8.         #create a TCP socket 
  9.         s = socket.socket() 
  10.         print "Attempting to connect to %s on port %s" % (address,port) 
  11.         try
  12.                 s.connect((address,port)) 
  13.                 print "Connected to %s on port %s" % (address,port) 
  14.                 return True 
  15.         except socket.error,e: 
  16.                 print "Connection to %s on port %s failed: %s" % (address,port,e) 
  17.                 return False 
  18.  
  19. if __name__ == '__main__'
  20.         from optparse import OptionParser 
  21.         parser = OptionParser() 
  22.  
  23.         parser.add_option("-a","--address",dest="address",default='localhost',help="ADDRESS for server",metavar="ADDRESS"
  24.  
  25.         parser.add_option("-p","--port",dest="port",type="int",default=80,help="PORT for server",metavar="PORT"
  26.  
  27. (options,args) = parser.parse_args() 
  28. print 'options: %s,args: %s' % (options,args) 
  29. check = check_server(options.address,options.port) 
  30. print 'check_server returned %s' % check 
  31. sys.exit(not check)