使用Python脚本,检测远程服务和端口是否连通,可以用如下代码片断实现
#!/usr/bin/python
# _*_ coding: UTF-8 _*_
import socket
import threading
import time
#服务和端口放在list中
service = [\'mixcztdb.erp3.crland.com.cn 1526\', \'ztcommon.crland.cn 8081\',
\'ztshop.crland.cn 80\', \'opera.crland.com.cn 80\',
\'opera.crland.cn 80\', \'invest.saas.crland.com.cn 80\',
\'zt_rediscol1.erp3.crland.com.cn 7001\', \'zt_rediscol1.erp3.crland.com.cn 7002\',
\'zt_rediscol2.erp3.crland.com.cn 7001\', \'zt_rediscol2.erp3.crland.com.cn 7002\',
\'zt_rediscol3.erp3.crland.com.cn 7001\', \'zt_rediscol3.erp3.crland.com.cn 7002\']
\'\'\'
用socket连接
\'\'\'
def socketconnect(addr, port):
try:
sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sk.settimeout(2)
sk.connect((addr, int(port)))
# print \'connect to \' + addr + \' \' + port + \' success\'
except socket.error, e:
print \'connect to \' + addr + \' \' + port + \' timed out\'
sk.close()
\'\'\'
取service中的地址和端口
\'\'\'
def check():
for every in service:
addr = every.split()
socketconnect(addr[0], addr[1])
\'\'\'
main方法
\'\'\'
if __name__ == \'__main__\':
threads = [threading.Thread(target=check())]
map(lambda x: x.start(), threads)
运行结果,输出了不通的服务地址信息
connect to mixcztdb.erp3.crland.com.cn 1526 timed out
connect to zt_rediscol1.erp3.crland.com.cn 7001 timed out
继续阅读与本文标签相同的文章
-
第三讲,Ceph内部构件
2026-05-18栏目: 教程
-
日本发明AI女友,中国却发明AI主持人,这就是差距!
2026-05-18栏目: 教程
-
《华西通信》行业深度:Wi-Fi6同步5G启航,共享万物互
2026-05-18栏目: 教程
-
不用纠结NSA与SA网络!对于5G手机来说,体验基本一致
2026-05-18栏目: 教程
-
你对自己的网站拥有所有权吗?
2026-05-18栏目: 教程
