欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在Python中調用Ping命令,批量IP的方法

 更新時間:2019年01月26日 10:12:17   作者:jeff9031  
今天小編就為大家分享一篇在Python中調用Ping命令,批量IP的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

如下所示:

#!/usr/bin/env python
#coding:UTF-8
'''''''
 Author: jefferchen@163.com
 可在命令行直接帶目的IP,也可將IP列表在文本文件中。
 pingip.py -d DestIP 
 DestIP示例: a)單個: 192.168.11.1
        b)多個: 192.168.11.1;172.16.8.1;176.13.18.2
        c)網段: 192.168.11.1-127
  文本文件:ip.txt
      目的IP多行存儲
'''''''
import argparse
import os
import platform
import time,datetime

def PingCmd():
  cmdStr = ''
  if platform.system()=='Linux':
    cmdStr = 'ping -c 1 %s > /dev/null'
  else:
    cmdStr = 'ping -n 1 %s > nul'
  return cmdStr

def IPV4SegList(aList):
  IPSeg = aList[0].split('.')
  IP4Begin = int(IPSeg[3])
  IP4End  = int(aList[1])
  segList = []
  if IP4End<=IP4Begin:
    IP4End += IP4Begin
  else:
    IP4End +=1
  for ip in range(IP4Begin,IP4End):
    aIP = IPSeg[0]+'.'+IPSeg[1]+'.'+IPSeg[2]+'.'+str(ip)
    segList += [aIP]
  return segList

def ParseSeg(aSeg):
  segList = []
  aList = aSeg.split('-')
  if len(aList)==2:
    segList = IPV4SegList(aList)
  else:
    segList = aList
  return segList

def AddLineIP(IPList,aLine):
  LineList = aLine.split(';')
  for aSeg in LineList:
    segList = ParseSeg(aSeg)
    IPList += segList
  return IPList

def GetIPListFromFile(filename):
  IPList = []
  f = open(filename)
  lines = f.readlines()
  for line in lines:
    line = line.strip()
    line = line.replace('\n','')
    IPList = AddLineIP(IPList,line)
  return IPList

def NotifyAdmin(failureIP):
  print('Network error at ',failureIP)

def ReportSummary(success,failure):
  print('----DONE! Total: %s nodes. %s ---'%(success+failure,timeFmt()))

def PingList(aList):
  sucess,failure = 0,0
  failureIP = []
  print('Trying...')
  for ip in aList:
    cmdStr = PingCmd()%ip.replace('\n','')
    res = os.system(cmdStr)
    if res < 1 :
      sucess += 1
    else:
      failure += 1
      failureIP += [ip]
    time.sleep(1)
  if failure :
     NotifyAdmin(failureIP)
  else:
    ReportSummary(sucess,failure);


def timeFmt():
  return time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))

def writeLog(content):
  print('[%s] %s' % (timeFmt(), content))
  file_object = open('ping.' + time.strftime('%Y-%m-%d', time.localtime(time.time())) + '.log', 'a')
  file_object.write('[%s] %s\n' % (timeFmt(), content));
  file_object.close()

if __name__ == '__main__':
  parse = argparse.ArgumentParser(description='Batch ping utility.')
  parse.add_argument('-f','--filename',default='ip.txt',help='IP file name(Default IP.txt)')
  parse.add_argument('-d','--destip',type=str,default='',help='destination IPs ');
  args = parse.parse_args()
  if args.destip!='':
    IPList = AddLineIP([],args.destip)
  else:
    if args.filename!='':
      IPFile = args.filename
    else:
      IPFile = 'ip.txt'
    IPList = GetIPListFromFile(IPFile)
  PingList(IPList)

以上這篇在Python中調用Ping命令,批量IP的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Python中的單行、多行、中文注釋方法

    Python中的單行、多行、中文注釋方法

    今天小編就為大家分享一篇Python中的單行、多行、中文注釋方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • 模擬瀏覽器的Python爬蟲工具全面深入探索

    模擬瀏覽器的Python爬蟲工具全面深入探索

    Python爬蟲是獲取網頁信息的重要工具,但有時網站對爬蟲有限制,要求模擬瀏覽器行為,本文將深入探討如何使用Python模擬瀏覽器行為進行網絡數據抓取,我們將介紹相關工具和技術,提供詳細的示例代碼和解釋
    2024-01-01
  • python模塊之re正則表達式詳解

    python模塊之re正則表達式詳解

    正則表達式是一種小型的、高度專業(yè)化的編程語言,并不是python中特有的,是許多編程語言中基礎而又重要的一部分。在python中,主要通過re模塊來實現。這篇文章主要介紹了python模塊之re正則表達式詳解,需要的朋友可以參考下
    2017-02-02
  • Caffe卷積神經網絡solver及其配置詳解

    Caffe卷積神經網絡solver及其配置詳解

    這篇文章主要為大家介紹了Caffe卷積神經網絡solver及其配置詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • python神經網絡之批量學習tf.train.batch函數示例

    python神經網絡之批量學習tf.train.batch函數示例

    這篇文章主要為大家介紹了python神經網絡之批量學習tf.train.batch函數示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • Python機器學習之預測黃金價格

    Python機器學習之預測黃金價格

    這篇文章主要介紹了如何使用機器學習方法來預測最重要的貴金屬之一黃金的價格,文中的示例代碼講解詳細,感興趣的小伙伴可以試一試
    2022-01-01
  • Python cookie的保存與讀取、SSL講解

    Python cookie的保存與讀取、SSL講解

    在本篇文章里小編給大家整理了關于Python cookie的保存與讀取、SSL講解,需要的朋友們可以學習下。
    2020-02-02
  • Python統(tǒng)計列表元素出現次數的方法示例

    Python統(tǒng)計列表元素出現次數的方法示例

    這篇文章主要介紹了Python統(tǒng)計列表元素出現次數的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • python實現QQ定時發(fā)送新年祝福信息

    python實現QQ定時發(fā)送新年祝福信息

    大家好,本篇文章主要講的是python實現QQ定時發(fā)送新年祝福信息,感興趣的同學感快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • Python 在局部變量域中執(zhí)行代碼

    Python 在局部變量域中執(zhí)行代碼

    這篇文章主要介紹了Python 如何在局部變量域中執(zhí)行代碼,幫助大家更好的理解和學習Python,感興趣的朋友可以了解下
    2020-08-08

最新評論