国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實現的多線程端口掃描功能示例

2019-11-25 16:23:27
字體:
來源:轉載
供稿:網友

本文實例講述了python實現的多線程端口掃描功能。分享給大家供大家參考,具體如下:

下面的程序給出了對給定的ip主機進行多線程掃描的Python代碼

#!/usr/bin/env python#encoding: utf-8import socket, sys, thread, timeopenPortNum = 0socket.setdefaulttimeout(3)def usage():  print '''''Usage:  Scan the port of one IP: python port_scan_multithread.py -o <ip>  Scan the port of one IP: python port_scan_multithread.py -m <ip1, ip2, ip3, ip4 ...>  '''  print 'Exit'  sys.exit(1)def socket_port(ip, PORT):  global openPortNum  if PORT > 65535:    print 'Port scanning beyond the port range, interrupt to scan'    sys.exit(1)  s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  result = s.connect_ex((ip, PORT))  if(result == 0):    print ip, PORT,'is open'    openPortNum += 1  s.close()def start_scan(IP):  for port in range(0, 65535+1):    thread.start_new_thread(socket_port, (IP, int(port)))    time.sleep(0.006)if __name__ == '__main__':  t = 0  if len(sys.argv)<2 or sys.argv[1] == '-h':    usage()  elif sys.argv[1] == '-o':    ONE_IP = raw_input('Please input ip of scanning: ')    t = time.time()    start_scan(ONE_IP)  elif sys.argv[1] == '-m':    MANY_IP = raw_input('Please input many ip of scanning: ')    IP_SEG = MANY_IP.split(',')    t = time.time()    for i in IP_SEG:      start_scan(i)  print  print 'total open port is %s, scan used time is: %f ' % (openPortNum, time.time()-t)

運行效果圖

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python URL操作技巧總結》、《Python數據結構與算法教程》、《Python Socket編程技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 淮安市| 安丘市| 临颍县| 治多县| 和顺县| 大关县| 武义县| 乌兰察布市| 宜春市| 固阳县| 慈溪市| 江北区| 修水县| 鹤壁市| 枝江市| 龙川县| 来凤县| 锦州市| 丘北县| 绍兴市| 柯坪县| 东兴市| 陈巴尔虎旗| 康乐县| 招远市| 台山市| 双峰县| 汾阳市| 晋中市| 深州市| 嘉兴市| 上杭县| 什邡市| 仪陇县| 浦城县| 昌都县| 通州市| 东方市| 兴业县| 郧西县| 石渠县|