Python3工具_C段扫描工具_主机存活探测初始

之前搞了多线程
然后基于多线程写了个C段主机存活探测工具

扫描主函数

def sub():
    global num
    num=0
    while not q.empty():
        threadLock.acquire()  # 开启同步锁
        ip=q.get()

        #print(ip+'\n')
        #time.sleep(0.1)  # IO阻塞,cpu会去执行其他线程,1秒时间足够长,所有线程拿到的temp都是100
        threadLock.release() #释放同步锁
        check_ping = Popen("ping {0} \n".format(ip), stdin=PIPE, stdout=PIPE, shell=True)
        data = check_ping.stdout.read()
        data = data.decode("gbk")
        time.sleep(0.1)
        if 'TTL' in data:
            sys.stdout.write('【+】' + ip + '存活' + '\n')
            #print(ip+'\n')
            num=num+1

多线程调用

def main():
    print("程序开始于:" + str(ctime()))
    global threadLock
    # 创建一个“队列”对象
    global q
    q= queue.Queue(255)
    threadLock = threading.Lock()
    # a=input('请输入C段IP:例如:192.168.1\n''IP:')
    # a=a+'.'

    threads_count =100

    for i in range(1, 255):
        q.put(input_+ '.'+str(i))

    ## 创建线程

    l = []

    for i in range(threads_count):
        t = threading.Thread(target=sub)
        t.setDaemon(True)
        t.start()
        #print('线程' + str(i) + '开始\n')
        l.append(t)

    for t in l:
        t.join()
       # print('t' + str(t) + 'done\n')

    print('扫描完成共'+str(num)+'个存活主机')
    print('任务完成于:' + str(ctime()))

本来想直接写一个gui界面打包成一个exe文件
结果发现使用了多线程之后gui界面卡死

工具运行结果如下:
在这里插入图片描述
这个C段扫描工具作为我第一个开始写的安全工具,后续还会不断完善。

公众号回复:"C段扫描工具"获取Py文件。
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值