加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
ping_subnet.py 1.88 KB
一键复制 编辑 原始数据 按行查看 历史
Jérôme Krell 提交于 2019-10-10 14:22 . Reformat Code by PyCharm-Community
from __future__ import print_function
import os # Load the Library Module
import subprocess # Load the Library Module
import sys # Load the Library Module
# Script Name : ping_subnet.py
# Author : Craig Richards
# Created : 12th January 2012
# Last Modified :
# Version : 1.0
# Modifications :
# Description : After supplying the first 3 octets it will scan the final range for available addresses
filename = sys.argv[0] # Sets a variable for the script name
if '-h' in sys.argv or '--h' in sys.argv or '-help' in sys.argv or '--help' in sys.argv: # Help Menu if called
print('''
You need to supply the first octets of the address Usage : ''' + filename + ''' 111.111.111 ''')
sys.exit(0)
else:
if (len(
sys.argv) < 2): # If no arguments are passed then display the help and instructions on how to run the script
sys.exit(' You need to supply the first octets of the address Usage : ' + filename + ' 111.111.111')
subnet = sys.argv[1] # Set the variable subnet as the three octets you pass it
if os.name == "posix": # Check the os, if it's linux then
myping = "ping -c 2 " # This is the ping command
elif os.name in ("nt", "dos", "ce"): # Check the os, if it's windows then
myping = "ping -n 2 " # This is the ping command
f = open('ping_' + subnet + '.log', 'w') # Open a logfile
for ip in range(2, 255): # Set the ip variable for the range of numbers
ret = subprocess.call(myping + str(subnet) + "." + str(ip),
shell=True, stdout=f, stderr=subprocess.STDOUT) # Run the command pinging the servers
if ret == 0: # Depending on the response
f.write(subnet + "." + str(ip) + " is alive" + "\n") # Write out that you can receive a reponse
else:
f.write(subnet + "." + str(ip) + " did not respond" + "\n") # Write out you can't reach the box
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化