天天看點

解決python 服務端口探測探活

方法1:

import os
import threading

def check_client_status(ip, port):
    if os.system('nc -i 1 -w 1 {0} {1}'.format(ip, port)) != 0:
        print "{0} {1}".format(ip, port)

def start_check():
    ins_ips = [(ip, port), ...]  # ip清單
    thread_list = list()
    for ip, port in ins_ips:
       thread_list.append(threading.Thread(target=check_client_status, args=(ip, port)))
       
    for thread in thread_list:
       thread.start()

    for thread in thread_list:
       thread.join()
       
    print "check all clients status complete!"
           

方法2:

import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
result = sock.connect_ex((ip, port))
if result == 0:
    flag = True  # 服務的端口是通的
else:
    flag = False  # 伺服器端口不通
return flag
           

繼續閱讀