#coding=utf-8 ''' 端口掃描器 ''' import socket import threading import struct class scanner(object): def __init__(self,ip,port): self.__ip = ip self.__port = port def scanning(self): self.__S = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: self.__S.connect((self.__ip, self.__port)) print '[+] %s 的 %3s 端口:打開' % (self.__ip, self.__port) # 若能夠創建鏈接,表示此端口是打開的 except: pass def SCan(ip,port): scan = scanner(ip,port) scan.scanning() def SCAn(host): for port in range(1,65535): try: Scan = threading.Thread(target=SCan,args=(host,port)) Scan.start() except:pass if __name__ == '__main__': iplist = open('ip_list.txt','r') iplist = [str(ip.replace('\n', '') ) for ip in iplist] for ip in iplist: SCAn(ip)