Python获取指定网段正在使用的IP


Posted in Python onDecember 14, 2020
#!/usr/bin/env python
# -*- coding: utf-8 -*-


''''' 
使用方法样例 python test20.py 192.168.1.1 
(会扫描192.168.1.1-255的ip) 
多线程加速后大概十几秒
'''
import platform
import sys
import os
import time
import threading

live_ip = 0


def get_os():
  os = platform.system()
  if os == "Windows":
    return "n"
  else:
    return "c"


def ping_ip(ip_str):
  cmd = ["ping", "-{op}".format(op=get_os()),
      "1", ip_str]
  output = os.popen(" ".join(cmd)).readlines()
  for line in output:
    if str(line).upper().find("TTL") >= 0:
      print("ip: %s is ok ***" % ip_str)
      global live_ip
      live_ip += 1
      break


def find_ip(ip_prefix):
  '''''
  给出当前的127.0.0 ,然后扫描整个段所有地址
  '''
  threads = []
  for i in range(1, 256):
    ip = '%s.%s' % (ip_prefix, i)
    threads.append(threading.Thread(target=ping_ip, args={ip, }))
  for i in threads:
    i.start()
  for i in threads:
    i.join()


if __name__ == "__main__":
  print("start time %s" % time.ctime())
  cmd_args = sys.argv[1:]
  args = "".join(cmd_args)
  ip_pre = '.'.join(args.split('.')[:-1])
  find_ip(ip_pre)
  print("end time %s" % time.ctime())
  print('本次扫描共检测到本网络存在%s台设备' % live_ip)

Python获取指定网段正在使用的IP

以上就是Python获取指定网段正在使用的IP的详细内容,更多关于python 获取网段ip的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python中实现从目录中过滤出指定文件类型的文件
Feb 02 Python
Python中的进程分支fork和exec详解
Apr 11 Python
python 把数据 json格式输出的实例代码
Oct 31 Python
windows下安装python的C扩展编译环境(解决Unable to find vcvarsall.bat)
Feb 21 Python
Anaconda2 5.2.0安装使用图文教程
Sep 19 Python
Python字符串大小写转换拼接删除空白
Sep 19 Python
简单了解Pandas缺失值处理方法
Nov 16 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
Mar 30 Python
Python实现在线批量美颜功能过程解析
Jun 10 Python
Python远程linux执行命令实现
Nov 11 Python
python Timer 类使用介绍
Dec 28 Python
Python趣味挑战之用pygame实现简单的金币旋转效果
May 31 Python
python利用pytesseract 实现本地识别图片文字
Dec 14 #Python
python 利用百度API识别图片文字(多线程版)
Dec 14 #Python
python3中for循环踩过的坑记录
Dec 14 #Python
Python 数据分析之逐块读取文本的实现
Dec 14 #Python
Python 2.6.6升级到Python2.7.15的详细步骤
Dec 14 #Python
python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境
Dec 14 #Python
Pandas中DataFrame交换列顺序的方法实现
Dec 14 #Python
You might like
360通用php防护代码(使用操作详解)
2013/06/18 PHP
php的数组与字符串的转换函数整理汇总
2013/07/18 PHP
PHP CURL CURLOPT参数说明(curl_setopt)
2013/09/30 PHP
ThinkPHP分页类使用详解
2014/03/05 PHP
PHP实现bitmap位图排序与求交集的方法
2016/07/28 PHP
php app支付宝回调(异步通知)详解
2018/07/25 PHP
JavaScript加密解密7种方法总结分析
2007/10/07 Javascript
javascript 全角转换实现代码
2009/07/17 Javascript
JSON 和 JavaScript eval使用说明
2010/06/13 Javascript
jquery1.5.1中根据元素ID获取元素对象的代码
2011/04/02 Javascript
javascript 另一种图片滚动切换效果思路
2012/04/20 Javascript
批量实现面向对象的实例代码
2013/07/01 Javascript
JQuery获取表格数据示例代码
2014/05/26 Javascript
用原生js做个简单的滑动效果的回到顶部
2014/10/15 Javascript
jQuery实现长按按钮触发事件的方法
2015/02/02 Javascript
JS实现搜索关键词的智能提示功能
2017/07/07 Javascript
Node.js学习教程之HTTP/2服务器推送【译】
2017/10/31 Javascript
解决vue axios的封装 请求状态的错误提示问题
2018/09/25 Javascript
vue 内置过滤器的使用总结(附加自定义过滤器)
2018/12/11 Javascript
JS 遍历 json 和 JQuery 遍历json操作完整示例
2019/11/11 jQuery
Vue如何获取数据列表展示
2019/12/11 Javascript
java遇到微信小程序 "支付验证签名失败" 问题解决
2019/12/22 Javascript
Layui弹框中数据表格中可双击选择一条数据的实现
2020/05/06 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
Python绘图Matplotlib之坐标轴及刻度总结
2019/06/28 Python
python 标准差计算的实现(std)
2019/07/29 Python
Django中间件拦截未登录url实例详解
2019/09/03 Python
Python网络爬虫信息提取mooc代码实例
2020/03/06 Python
termux中matplotlib无法显示中文问题的解决方法
2021/01/11 Python
ProBikeKit新西兰:自行车套件,跑步和铁人三项装备
2017/04/05 全球购物
最新茶叶店创业计划书
2014/01/14 职场文书
校庆筹备方案
2014/03/30 职场文书
节约用水标语
2014/06/11 职场文书
商家认证委托书格式
2014/10/16 职场文书
2015年仓库管理工作总结
2015/05/25 职场文书
元宵节晚会主持词
2015/07/01 职场文书