首页 > 代码库 > python的socket连接端口:代替telnet检测服务器端口

python的socket连接端口:代替telnet检测服务器端口

场景:

    在使用linux过程中,我们常用telnet来测试对方服务器某个端口是否开通,但linux默认没有安装telnet客户端,很多时候临时安装telnet会比较麻烦,这时候就可以使用python来做简单测试了。

python
import socket
s=socket.socket()
s.connect(("IP",port))
s.close

注:其实就是调用的socket模块,和telnet一样只能来测试tcp端口。


脚本:

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


本文出自 “hiubuntu” 博客,请务必保留此出处http://qujunorz.blog.51cto.com/6378776/1546083

python的socket连接端口:代替telnet检测服务器端口