国产探花免费观看_亚洲丰满少妇自慰呻吟_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):

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 定襄县| 临潭县| 阜平县| 日土县| 汉中市| 稷山县| 天等县| 德保县| 乡城县| 五原县| 吉隆县| 繁峙县| 鹰潭市| 六盘水市| 信丰县| 恭城| 嘉鱼县| 札达县| 邵阳市| 绍兴市| 伊春市| 卓尼县| 龙游县| 饶阳县| 呈贡县| 井陉县| 来凤县| 格尔木市| 黎川县| 昭苏县| 洛宁县| 天全县| 芷江| 买车| 柘城县| 临桂县| 当涂县| 鸡泽县| 滨州市| 石河子市| 大竹县|