用python实现ping】的更多相关文章

python 多线程 ping 多线程操作可按如下例子实现 #!/usr/bin/env python #encoding: utf8 import subprocess from threading import Thread from Queue import Queue def ping(i,queue): while True: ip=queue.get() #print 'Thread %s pinging %s' %(i,ip) ret=subprocess.call('ping -…
# -*- coding: utf-8 -*- import os # 参考文档: # Ping to a specific IP address using python [duplicate] # http://stackoverflow.com/questions/25842744/ping-to-a-specific-ip-address-using-python # if os.system("ping -c 1 www.baidu.com") == 0: # error:…
一.ICMP协议分析 ICMP:Internet控制报文协议.由于IP协议并不是一个可靠的协议,它不保证数据被成功送达,那么,如何才能保证数据的可靠送达呢? 这里就需要使用到一个重要的协议模块ICMP(网络控制报文)协议.它传递差错报文以及其他需要注意的信息,经常供IP层或更高层协议(TCP或UDP)使用.所以它经常被认为是IP层的一个组成部分.它在IP数据报文中的封装如下: ICMP的数据报文格式如下所示.所有报文的前4个字节都是一样的,其他的因报文类型不同而不一样.类型字段可以有15个不同的…
需要ping一个网段所有机器的在线情况,shell脚步运行时间太长,用python写个多线程ping吧,代码如下: #!/usr/bin/python #coding=utf-8 ''' Created on 2015-8-4 @author: Administrator ''' import threading,subprocess from time import ctime,sleep,time import Queue queue=Queue.Queue() class ThreadUr…
#!/usr/bin/env python #coding=utf-8 import os import argparse import socket import struct import select import time ICMP_ECHO_REQUEST = 8 # Platform specific DEFAULT_TIMEOUT = 2 DEFAULT_COUNT = 4 class Pinger(object): """ Pings to a host --…
最近在https://pypi.python.org/pypi/mping/0.1.2找到了一个python包,可以用它来批量ping服务器,它是中国的大神写的,支持单个服务器.将服务器IP写在txt或json里都可以. 具体用法有中文文档,感谢作者youfou 这里我改了几个字,方便我这种英文不好的同学使用 mping.py #!/usr/bin/env python3 # coding: utf-8 import argparse import ctypes import json impo…
os.system(cmd)通过执行命令会得到返回值. ping通的情况下返回值为0. ping不通的情况: 1.请求超时,返回值1 2.无法访问目标主机,返回值为 0,和ping通返回值相同   所以建议不用os.system…
# -*- coding: utf-8 -*- import subprocess import re def get_ping_result(ip_address): p = subprocess.Popen(["ping.exe", ip_address], stdin = subprocess.PIPE, stdout = subprocess.PIPE, stderr = subprocess.PIPE, shell = True) out = p.stdout.read().…
>>> #获取hostname ... >>> host_name=socket.gethostname() >>> print "%s" %host_name SimilarFacedeMacBook-Pro.local >>> #获取IP地址 ... >>> socket.gethostbyname(host_name) '192.168.30.120' #获取远程机器的IP,类型于ping…
#coding:utf-8 __author__ = 'similarface' #!/usr/bin/env python import socket #二进制和ASCII互转及其它进制转换 from binascii import hexlify def get_remote_machine_info(remote_host): ''' 获取根据域名获取IP地址 :param remote_host: 域名 :return:IP地址 ''' try: #SimilarFacedeMacBoo…
扫描左上角二维码,关注公众账号 数字货币量化投资,回复“1279”,获取以下600个Python经典例子源码 ├─algorithm│       Python用户推荐系统曼哈顿算法实现.py│      NFA引擎,Python正则测试工具应用示例.py│      Python datetime计时程序的实现方法.py│      python du熊学斐波那契实现.py│      python lambda实现求素数的简短代码.py│      Python localtime()方法计…
使用python调用ping命令,然后在日志中记录ping的结果,用来监测网络连通情况. 代码: [python]from time import *from subprocess import *webf= open("webs.txt","r")webs=[]for w in webf:webs.append(w.strip())def logAppend(log,info):inttime = time()structtime = localtime(intt…
kolla-ansible快速入门 kolla-ansible是一个结构相对简单的项目,它通过一个shell脚本,根据用户的参数,选择不同的playbook和不同的参数调用ansible-playbook执行,没有数据库,没有消息队列,所以本文的重点是ansible本身的语法. kolla-ansible命令 kolla-ansible命令的主要代码如下: #!/bin/bash # # This script can be used to interact with kolla via ans…
简介 Inventory 是 Ansible 管理主机信息的配置文件,相当于系统 HOSTS 文件的功能,默认存放在 /etc/ansible/hosts.为方便批量管理主机,便捷使用其中的主机分组,Ansible 通过 Inventory 来定义其主机和组,在使用时通过一1 或 --inventory-file 指定读取如果只有一个 Inventory 时可不用指定路径,默认读取 /etc/ansible/hosts. Inventory 可以同时存在多个,而且支持动态生成与 Ansible…
本文主要是介绍python图形界面上的按键与实际功能的对接,其实编程掌握了基础之后的学习应该都是靠自己去挖掘其他的 在网上发现多半教程都是2的,故本文使用的是python3.5,其实也没什么区别,就有一些支持库改变而已 首先我们使用python去编写一个简单的窗口程序,带一个按键,如下图 from tkinter import * #导入tk包 import os #导入os包,方便执行cmd命令,网上还有其他方法执行 test = Tk() #创建一个窗口程序 test.title('ping…
使用python检测一个设备是否ping的通 一,subprocess以及常用的封装函数 运行python的时候,我们都是在创建并运行一个进程.像Linux进程那样,一个进程可以fork一个子进程,并让这个子进程exec另外一个程序.在Python中,我们通过标准库中的subprocess包来fork一个子进程,并运行一个外部的程序. subprocess 包中定义有数个创建子进程的函数,这些函数分别以不同的方式创建子进程,所以我们可以根据需要来从中选取一个使用.另外subprocess还提供了…
最近工作需要,写了一个Python小脚本,分享给大家,因为公司的IP用的差不多了,然后离职人员的IP有没有及时删除,导致没多少IP用了,所以做了一个python脚本跑了跑,清出来一堆ping不通的IP,然后对照其他的数据表,把可用的IP清理出来,好了,废话不多说,上代码:(代码很简单,就不做注释了) 输入起始查询IP和终止查询IP 然后脚本会在这两个IP段之间把ping通和ping不通的IP分别写入到两个TXT文件中 # coding=utf-8 import os,time import sy…
本文中的脚本适用范围: 1)检测某些IP地址是否被占用: 2)检测网络中某些设备是否存活: 3)在分配新的ip地址之前,批量检测环境中是否存在冲突的机器 以上检测基于ICMP Ping报文,要求所有的设备允许Ping,设备开通禁止ICMP策略,防火墙禁止ICMP报文等情况不在本文的考虑范围之内. 不多说,上代码: (一)windows 批处理脚本 ::autor lb ::date 2018 05 @echo off ::屏显当前的测试时间并输出到测试结果(详细日志和结果日志) echo %da…
python多线程与多进程 多线程: 案例:扫描给定网络中存活的主机(通过ping来测试,有响应则说明主机存活) 普通版本: #扫描给定网络中存活的主机(通过ping来测试,有响应则说明主机存活)import sys import subprocess import time def ping(net,start=100,end=200,n=2,w=5): for i in range(start,end+1): ip=net+"."+str(i) command="ping…
先建一个存放ip列表的txt文件: [root@yysslopenvpn01 ~]# cat hostip.txt 192.168.130.1 192.168.130.2 192.168.130.3 192.168.130.4 192.168.130.5 192.168.130.6 192.168.130.7 192.168.130.8 192.168.130.9 192.168.130.10 192.168.130.11 192.168.130.12 192.168.130.13 192.16…
Linux7.3默认的python系统是2.7.5,然后想着升级使用python3.6.6 1 下载 2 解压  tar fx Python-3.6.6.tgz 3  configure --prefix=/usr/local/python3.6 4 make && make install 5 ln -s /usr/local/python3.6/bin/python3.6  /usr/bin/python3.6 说明:这里是让两个版本的python共存 下面的脚本成功执行的 # /us…
0x00 将IP列表放到txt文件内 先建一个存放ip列表的txt文件: [root@yysslopenvpn01 ~]# cat hostip.txt 192.168.130.1 192.168.130.2 192.168.130.3 192.168.130.4 192.168.130.5 192.168.130.6 192.168.130.7 192.168.130.8 192.168.130.9 192.168.130.10 192.168.130.11 192.168.130.12 19…
好想在2014结束前再赶出个10篇博文来,~(>_<)~,不写博客真不是一个好兆头,至少说明对学习的欲望和对知识的研究都不是那么积极了,如果说这1天的时间我能赶出几篇精致的博文,你们信不信,哈哈,反正我是信了... python检测服务器是否ping通的2种方法 1.第一种比较挫,就是用ping,python调用shell,这个适用于较少的服务器数量,几百台已经很慢了(当然是说python同步的方法,要是nodejs异步方式还是很快的,但是nodejs CPU计算不行,所以尝试了下只能200台…
本文主要利用python的相关模块进行批量ping ,测试IP连通性. 下面看具体代码(python3): #!/usr/bin/env python#-*-coding:utf-8-*- import reimport subprocessfrom io import StringIOimport multiprocessingimport timeimport sysdef check_alive(ip): result = subprocess.call('ping -w 1000 -n…
使用socket模块也可以获得域名对应的ip,参考:https://blog.csdn.net/c465869935/article/details/50850598 print socket.gethostbyname('www.baidu.com') 源码下载 https://pypi.python.org/pypi/ping/0.2 fping功能 https://www.cnblogs.com/zhoujie/p/python17.html 适合服务器数量较大时使用,fping命令,它是…
#!/usr/bin/env python # -*- coding:utf-8 -*- import subprocess import logging import datetime import time import threading try: # Python3 from queue import Queue except ImportError: # Python2 from Queue import Queue def set_logging_format(): logging.…
在日常的工作中,我们通常会有去探测目标主机是否存活的应用场景,单个的服务器主机可以通过计算机自带的DOS命令来执行,但是业务的存在往往不是单个存在的,通常都是需要去探测C段的主机(同一个网段下的存活主机),这样使用DOS来进行操作是不可取,探测的速度太慢了,不满足实际需要.一般批量的操作需要使用脚本进行一键部署执行,本文主要通过使用Python语言来实现批量ping的操作(使用多线程实现Python批量处理) Python版本 :Python3 使用的第三方库:subprocess, loggi…
import subprocess file_out = subprocess.Popen('ping www.baidu.com', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) while True: line = file_out.stdout.readline() print(line) : break…
2016年1月5日 星期四 天气:还好 一直不知道自己为什么要去学Python,其实Python能做到的Java都可以做到,Python有的有点Java也有,而且Java还是必修课,可是就是不愿意去学Java,后来看到了<Linux黑客的python编程之道>然后发现了一些自己感兴趣的事,每个IT男都有一个黑客梦,我也不例外,所以继续开始Python写习. 因为要准备高数考试,所有以很多东西不能去仔细学习. 就深深的记住了几句话: 第一句:调试器就是黑客的眼睛.刚开始不懂什么是调试器:但是从眼…
docker的安装见官方文档 我使用的系统为Ubuntu16.04 Ubuntu系统安装docker文档地址:https://docs.docker.com/engine/installation/linux/ubuntulinux/ Ubuntu的版本必须和文档中提到的要一致 ----------------------------------------------------------------- 1.查找相关的Ubuntu镜像 可以去docker镜像官网:https://hub.do…