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文件。
作者:那酒不要留
-------------------------------------------
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!知识源于分享!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!