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

首頁 > 編程 > Python > 正文

Python實現的多線程端口掃描工具分享

2020-02-23 06:20:47
字體:
來源:轉載
供稿:網友

昨晚今晚寫了兩晚,總算把Py Port Scanner 寫完了,姑且稱之為0.1版本,算是一個Python多線程端口掃描工具。

水平有限,實話中間有一些困惑和不解的地方,代碼可能也寫的比較亂。有些問題并未找到很好的解決方法,還望大家諒解。速度大家自己試驗,我感覺還行。

送上效果圖兩份,分別是掃單IP和掃IP段:

源碼:

代碼如下:
# -*- coding: utf-8 -*-
__author__ = 'Phtih0n'
import threading, socket, sys, cmd, os, Queue

#掃描常用端口
PortList = [21, 22, 23, 25, 80, 135, 137, 139, 445, 1433, 1502, 3306, 3389, 8080, 9015]
#得到一個隊列
def GetQueue(list):
    PortQueue = Queue.Queue(65535)
    for p in list:
        PortQueue.put(p)
    return PortQueue

#單IP掃描線程個數
nThread = 20
#線程鎖
lock = threading.Lock()
#超時時間
Timeout = 3.0
#打開的端口列表
OpenPort = []

class ScanThread(threading.Thread):
    def __init__(self, scanIP):
        threading.Thread.__init__(self)
        self.IP = scanIP

    def Ping(self, Port):
        global OpenPort, lock, Timeout
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.settimeout(Timeout)
        address = (self.IP, Port)
        try:
            sock.connect(address)
        except:
            sock.close()
            return False
        sock.close()
        OpenPort.append(Port)
        if lock.acquire():
            print "IP:%s  Port:%d" % (self.IP, Port)
            lock.release()
        return True


class ScanThreadSingle(ScanThread):
    def __init__(self, scanIP, SingleQueue):
        ScanThread.__init__(self, scanIP)
        self.SingleQueue = SingleQueue

    def run(self):

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 五常市| 莎车县| 玛多县| 祁连县| 突泉县| 博野县| 乐山市| 濮阳市| 五原县| 子长县| 象山县| 合作市| 长兴县| 内黄县| 纳雍县| 三原县| 铁岭市| 通化市| 鄂托克旗| 舒兰市| 唐海县| 吴忠市| 梁平县| 泰顺县| 闽清县| 巫山县| 鄂托克前旗| 任丘市| 本溪市| 江口县| 辽阳市| 内黄县| 新郑市| 六枝特区| 沙田区| 西乡县| 肥城市| 集安市| 延安市| 虎林市| 贞丰县|