需求:
由于我们公司内部,ip地址管理混乱,存在ip地址冲突的问题,有些时候设置开发环境的ip地址的时候只是ping一下,并没有统一管理,这里我就使用 python + web.py 搭了一个简单的web站点,达到访问就可以获取到一个可用ip地址的效果,且都通过这一个平台,避免已被使用的ip重复使用,造成ip冲突。
环境搭建:
这里首先在linux服务器上安装python,然后参照http://webpy.org/的文档,去安装web.py模块
代码:
ping.sh
#!/bin/bash #------------------------------------------ # by gaoyaohua 20161121 # transfer from ping.py # ping ip return echo # 0:ok 1:false #------------------------------------------ ip=$1 result=`ping -c 3 $ip | grep '0 received' | wc -l` echo $result
ping.py
#!/usr/bin/python #------------------------------------- # by gaoyaohua 20161123 # run ping.py ping.sh # #------------------------------------- import web import subprocess urls = ( '/ping', 'ping_ip' ) class ping_ip: def GET(self): count = len(open('./iplist.txt','rU').readlines()) outip = '' ipduan="192.168.2." for i in range(1,253): four_ip=str(i) test_ip = ipduan + four_ip with open('./iplist.txt','r') as f: count_test=0 for line in f.readlines(): count_test += 1 linestr = line.strip() if linestr == test_ip: break elif count_test == count: record = test_ip ping = subprocess.Popen([r'./ping.sh',record],stdout=subprocess.PIPE) result = ping.stdout.read() if result == '1\n': break else: outip=test_ip break if outip == '': continue else: return test_ip + " is can be used" break if __name__ == "__main__": app = web.application(urls, globals()) app.run()
iplist.txt
192.168.2.1 192.168.2.2 192.168.2.3 192.168.2.166
程序逻辑:
python ping.py 运行脚本
ping.py首先进行for循环192.168.2.1到253,然后ip跟iplist.txt中的地址匹配,如果相同,跳出,如果不同,调用ping.sh对ip进行3次ping的测试,如果不通,将ip返回到页面。
相关推荐
基于Python的Flask WEB框架实现后台权限管理系统,内容包含:用户管理、角色管理、资源管理和机构管理。
Python基于Django框架实现的一个学生信息管理系统源码 Python基于Django框架实现的一个学生信息管理系统源码 Python基于Django框架实现的一个学生信息管理系统源码 Python基于...
课程设计基于Python+Flask框架实现的新冠疫情可视化项目源码课程设计基于Python+Flask框架实现的新冠疫情可视化项目源码课程设计基于Python+Flask框架实现的新冠疫情可视化项目源码课程设计基于Python+Flask框架实现...
Python Web 框架,第 1 部分 使用 Django 和 Python 开发 Web 站点.doc
python使用ip获取经纬度信息
python django是比较流行的web开发框架 开发参考文档
一款 Python 语言基于Flask、Vue2.x、ElementUI、MySQL等框架精心打造的一款高性能的前后端分离架构敏捷开发框架,可快速搭建前后端分离后台管理系统,本着简化开发、提升开发效率的初衷,框架自研了一套个性化的...
利用Python程序获取本机IP地址 利用Python程序获取本机IP地址 利用Python程序获取本机IP地址 利用Python程序获取本机IP地址 利用Python程序获取本机IP地址 利用Python程序获取本机IP地址 利用Python程序获取本机IP...
基于python的web框架django开发的一个统计论文发表的系统源码 基于python的web框架django开发的一个统计论文发表的系统源码 基于python的web框架django开发的一个统计论文发表的系统源码 基于python的web框架...
主要介绍了使用Python的Flask框架实现视频的流媒体传输,包括从摄像机获取帧到web浏览器的数字流传输,需要的朋友可以参考下
Python基于Django框架实现点餐web管理系统源码+数据库.zip 已获导师指导并通过的97分的高分期末大作业项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 Python基于Django框架实现点餐...
流行的python Web开发框架的基准测试
主要介绍了Python实现通过解析域名获取ip地址的方法,结合实例形式总结分析了两种比较常见的解析域名对应IP地址相关操作技巧,需要的朋友可以参考下
python最快的web框架,支持异步,哈哈哈
web.py 是一个Python 的web 框架,它简单而且功能强大。web.py 是公开的,无论用于什么用途都是没有限制的。
Django 项目是一个定制框架,它源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来。Django 框架的核心组件有: 用于创建模型的对象关系映射 为最终用户设计的完美管理界面 一流的 URL 设计 设计者友好...
使用python脚本获取ip地址,并且将ip地址存在本地文件夹。欢迎有需要的朋友下载。
python 获取列表ip地址的归属地 运行后可获得列表内所有ip地址的归属地,从ip138自动查询返回
python flask web框架
一个现代、快速、简单的异步python3 web框架