python3实现多线程ping一个网段

####################################################
"""
 实现多线程ping一个网段的地址,测试联通性
 copyright  2016/9/30 lighter_py
"""
####################################################

import os
import queue
import threading
 

class Pinger(threading.Thread):
	def __init__(self,queue,pingIp,pingCoint=1):
		threading.Thread.__init__(self)
		self.queue = queue
		self.pingIp = pingIp
		self.pingCount = 1
	def run(self):
		pingResult = os.popen(‘ping -n‘ + ‘ ‘ + str(self.pingCount) + ‘ ‘ +self.pingIp).read()
		if ‘无法访问目标主机‘ not in pingResult:
			print(self.pingIp,‘\t is online‘)
		self.queue.get()

class creatpinger:
	def __init__(self,queue,pingIpParagraph,allcount=255,pingCount=1):
		self.queue = queue
		self.pingIpParagraph = pingIpParagraph
		self.allcount = allcount
		self.pingCount = 1
		self.create()
	def create(self):
		for i in range(1,self.allcount+1):
			self.queue.put( i )
			Pinger(self.queue,self.pingIpParagraph+str(i),self.pingCount).start()

if __name__ == ‘__main__‘:
	creatpinger(queue.Queue(100),‘192.168.1.‘)
时间: 2024-10-27 04:53:50

python3实现多线程ping一个网段的相关文章

Linux下shell脚本中信号捕获和函数练习脚本之ping一个网段

该脚本主要的目的是练习在Linux bash脚本中捕获信号,顺便练习一下函数的使用,还有就是终止一个正在运行的程序后,该程序打开的文件的后续处理问题等等! 脚本功能: ping一个网段内的IP,检测哪些IP在线,哪些IP不在线 练习的命令: 1.mktemp 用法:#mktemp 1117.www.qixoo.qixoo.com/Path/To/SomeFile.XXX 其中XXX可以为多个,是由系统随机生成的一段字符串 -d  创建为目录 2.ping 测试网络是否通畅 用法:#ping [-

ping一个网段内所有命令的批处理命令

for /l %%p  in (x,1,y) do @ping 192.168.1.%%p -n 1  >> c:\1.txt 保存为1.bat,其中比如ping 192.168.1.1~192.168.1.255,则x为1,y为255. 输出在C盘下面1.txt.每次ping一个包. 然后再在命令行下面运行arp -a 即可查看该网段内所有主机mac——ip对应表 ping一个网段内所有命令的批处理命令

shell 脚本:ping一个网段的所有ip 和 隔一秒显示当前的时间

环境是 centos7  /bin/bash 注意在复制测试时,务必将示例中的ip网段更改为自己的ip网段. ctrl+z可以将脚本打入后台,然后查看进程kill掉. 1. #!/bin/bash for i in {1..254} #定义1到254 do HOST=192.168.168.$i ping -c 2 $HOST &>/dev/null if [ $? -eq 0 ];then  # -eq 判断返回值是否为0 $?为0表示执行结果正确 echo "$HOST IS

ping 一个网段主机的shell脚本

#!/bin/bash i=1  sum=0 net="192.168.4." while  [ $i -le 254 ]  do   ip=${net}$i  ping -c 1 -i 0.1  $ip &> /dev/null   if [ $? -ne 0 ]; then   echo "$ip is not ont line "   date                //不在线的时间  sum=$[ $sum + 1 ]         

简单的实现一个python3的多线程爬虫,爬取p站上的每日排行榜

大概半年前我开始学习python,也就是半年前,我半抄半改的同样的爬虫写了出来,由于是单线程的程序,当中出了一点的小错就会崩溃,但是那个爬虫中的header之类的东西现在依旧还是能够使用的,于是我就把之前那份的保留了下来.由于有一半是抄的,自己得到的并不多,这次重写,我相当于又重新学习了一遍.,当中有可能有认识不足的,欢迎指正. 首先我们要想登陆p站,得构造一个请求,p站登陆的请求包括: request = urllib.request.Request( #创建请求 url=login_url,

Python3 实现简易ping监控并发送报警邮件

Python3 实现简易ping监控并发动报警邮件 1.实现原理通过ping命令结果获取丢包率和延时情况,当丢包率和延时达到预设值时,将结果作为邮件内容,并发送邮件 2.邮件是用smtplib和email实现发送的 3.目前脚本有个小问题就是:我打开文件,循环读,当读第一行时,我执行ping,获取结果,把结果写到一个文件里,同时判断是否达到预设值,如果达到,就把结果加到邮件内容,就这样一直循环,当把文件读完,然后关闭这两个文件,再发送邮件.总学得有点问题,应该将结果存到一个列表,一次性写入.算了

C语言多线程的一个简单例子

多线程的一个简单例子: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <pthread.h> void * print_a(void *); void * print_b(void *); int main(){ pthread_t t0; pthread_t t1; // 创建线程A if(pthread_creat

测试一个网段主机在线情况,禁ping的情况除外

for m in `seq 11 11` do for n in `seq 2 254` do ping -c 3 -W 3 192.168.$m.$n &>/dev/null if [ $? -eq 0 ];then echo 192.168.$m.$n is up else echo 192.168.$m.$n is down fi done done wait 原文地址:https://www.cnblogs.com/ruiy/p/12706137.html

Python3之多线程基础学习

参考资料 python3多线程官网 多线程优点 多线程类似于同时执行多个不同程序,多线程运行有如下优点: 1.使用线程可以把占据长时间的程序中的任务放到后台去处理. 2.用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度. 3.程序的运行速度可能加快. 4.一些等待的任务实现上如用户输入.文件读写和网络收发数据等,多线程就有用了.可以释放一些珍贵的资源如内存占用等等. 线程中常用的两个模块为:_thread.threading.thread 模