本节主要内容:
python代码检测远程主机状态
1,首先,安装python2.7
 
复制代码 代码示例:
#wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz 
#tar xf Python-2.7.3.tgz 
#cd Python-2.7.3 
#./configure --prefix=/usr/local/python 
#make 
#make install 
#mv /usr/bin/python /usr/bin/python.bak 
#ln -s /usr/local/python/bin/python /usr/bin/python
检测下python的版本~  python -V
2,检测远程主机端口状态
 
复制代码 代码示例:
#!/usr/bin/env python 
#-*- coding:utf-8-*- 
import socket 
def main(): 
sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
    sk.settimeout(1000) 
ip=raw_input('Please input ip(default:127.0.0.1)') 
    if ip=='': 
ip='127.0.0.1'
s=raw_input('Please input start port(default:80)') 
    if s=='': 
startport=80
    else: 
startport=int(s) 
s=raw_input('Please input end port(default:80)') 
    if s=='': 
endport=80
    else: 
endport=int(s) 
    for port in range(startport,endport+1): 
        print('Port scaning:%d' % port) 
        try: 
            sk.connect((ip,port)) 
            print('Server %s port %d OK!' % (ip,port)) 
        except Exception: 
            print('Server %s port %d is not connected!' % (ip,port)) 
    sk.close() 
if __name__ == '__main__': 
    main()
例2,检测端口的是否打开
 
复制代码 代码示例:
#!/usr/bin/env python
#
#site: www.jb200.com
import os
import socket
def IsOpen(ip,port):
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
try:
s.connect((ip,int(port)))
s.shutdown(2)
print '%d is open' % port
return True
except:
print '%d is down' % port
return False
if __name__ == '__main__':
IsOpen('10.10.10.63',8888)