python实现扫描局域网指定网段ip的方法


Posted in Python onApril 16, 2019

一、问题由来

工作的局域网中,会接入很多设备,机器人上的网络设备就2个了,一个巨哥红外,一个海康可见光。机器人还有自身的ip。

有时候机器人挂的多了,设备维修更换中,搞来搞去就不记得ip是什么,用自带的软件的确能扫出来,但是这就要开两个windows环境下的软件,耗时耗力,折腾。正好在linux,那简单,敲命令。

nmap -P 192.168.1.0/24

可以扫描出 192.168.1.0~192.168.1.255的全部ip

但是前提是要装过nmap

apt-get install nmap

可总感觉在用高射炮打蚊子——大材小用

那就自己折腾折腾python吧,于是就在网上抄抄改改。

二、python扫描指定网段ip

1、demo

pingS.py
import sys
import os
import time
import _thread
import datetime
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()
  flag = False
  for line in list(output):
    if not line:
      continue
    if str(line).upper().find("TTL") >=0:
      flag = True
      break
  if flag:
    print("*** *** *** ip: %s is OK *** *** ***"%(ip_str))
def find_ip(ip_prefix):
  for i in range(1,256):
    ip = ('%s.%s'%(ip_prefix,i))
    _thread.start_new_thread(ping_ip, (ip,))
    time.sleep(0.3)
if __name__ == "__main__":
  startTime = datetime.datetime.now()
  print("start time %s"%(time.ctime()))
  net=sys.argv[1]
  args = "".join(("192.168."+net+".1"))
  ip_prefix = '.'.join(args.split('.')[:-1])
  find_ip(ip_prefix)
  endTime = datetime.datetime.now()
  print("end time %s"%(time.ctime()))
  print("total takes :",(endTime - startTime).seconds)

python3除移thread模块,为了兼容性使用_thread代替,最安全用法是使用threading模块

datetime.datetime.now()获取当前时间

os = platform.system()判断当前系统类型

output = os.popen()调用终端,返回值会保存在output中

每次扫描的时长大约是 76 s。

2、运行

python3 pingS.py 1

参数1是指定网段,如果想扫描192.168.5.0~192.168.5.255

则输入:

python3 pingS.py 5

3、打包

pyinstaller -F pingS.py打包成单一可执行文件

用上面的命令前提是已安装pyinstaller——-(pip intsall pyinstaller)

运行完会生成一个pingS的可执行文件

cp pingS /bin

好了,到这一步,任意地方打开终端输入:

pingS 1

都可以完成 192.168.1.0~192.168.1.255的扫描

总结

以上所述是小编给大家介绍的python实现扫描局域网指定网段ip的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python内置函数的用法实例教程
Sep 08 Python
在Python3中使用asyncio库进行快速数据抓取的教程
Apr 02 Python
python的文件操作方法汇总
Nov 10 Python
Python下调用Linux的Shell命令的方法
Jun 12 Python
python制作mysql数据迁移脚本
Jan 01 Python
详解Python 切片语法
Jun 10 Python
在pycharm下设置自己的个性模版方法
Jul 15 Python
python实现大文本文件分割
Jul 22 Python
利用Python检测URL状态
Jul 31 Python
Python grpc超时机制代码示例
Sep 14 Python
python 自动刷新网页的两种方法
Apr 20 Python
Django框架中视图的用法
Jun 10 Python
python实现扫描ip地址的小程序
Apr 16 #Python
使用Python制作简单的小程序IP查看器功能
Apr 16 #Python
Python使用POP3和SMTP协议收发邮件的示例代码
Apr 16 #Python
Python这样操作能存储100多万行的xlsx文件
Apr 16 #Python
Python字符串内置函数功能与用法总结
Apr 16 #Python
python3实现字符串操作的实例代码
Apr 16 #Python
几个适合python初学者的简单小程序,看完受益匪浅!(推荐)
Apr 16 #Python
You might like
Netflix将与CLAMP、乙一以及冲方丁等6名知名制作人合伙展开原创动画计划!
2020/03/06 日漫
程序员编程十条戒律
2009/07/09 PHP
ThinkPHP中自定义目录结构的设置方法
2014/08/15 PHP
Yii2中SqlDataProvider用法示例
2016/09/22 PHP
javascript 原型模式实现OOP的再研究
2009/04/09 Javascript
javascript 获取select下拉列表值的代码
2009/09/07 Javascript
Javascript常考语句107条收集
2010/03/09 Javascript
bgsound 背景音乐 的一些常用方法及特殊用法小结
2010/05/11 Javascript
父子窗体间传递JSON格式的数据的代码
2010/12/25 Javascript
基于jquery的高性能td和input切换并可修改内容实现代码
2011/01/09 Javascript
ExtJs设置GridPanel表格文本垂直居中示例
2013/07/15 Javascript
快速使用Bootstrap搭建传送带
2016/05/06 Javascript
项目实践一图片上传之form表单还是base64前端图片压缩(前端图片压缩)
2016/07/28 Javascript
Javascript中判断一个值是否为undefined的方法详解
2016/09/28 Javascript
微信小程序 倒计时组件实现代码
2016/10/24 Javascript
DOM事件探秘篇
2017/02/15 Javascript
详解为Bootstrap Modal添加拖拽的方法
2018/01/05 Javascript
Node.js搭建WEB服务器的示例代码
2018/08/15 Javascript
浅谈vue 单文件探索
2018/09/05 Javascript
解决Vue中引入swiper,在数据渲染的时候,发生不滑动的问题
2018/09/27 Javascript
微信小程序实现二维码签到考勤系统
2020/01/16 Javascript
bootstrap实现tab选项卡切换
2020/08/09 Javascript
[03:04]2018年国际邀请赛典藏宝瓶&莱恩声望物品展示 片尾有彩蛋
2018/06/04 DOTA
python k-近邻算法实例分享
2014/06/11 Python
Atom的python插件和常用插件说明
2018/07/08 Python
pip install python 快速安装模块的教程图解
2019/10/08 Python
Django 框架模型操作入门教程
2019/11/05 Python
TensorFlow实现打印每一层的输出
2020/01/21 Python
pytorch实现CNN卷积神经网络
2020/02/19 Python
耐克美国官网:Nike.com
2016/08/01 全球购物
PHP中如何使用Cookie
2015/10/28 面试题
物理研修随笔感言
2014/02/14 职场文书
积极向上的团队口号
2014/06/06 职场文书
办公室行政主管岗位职责
2015/04/09 职场文书
感动中国何玥观后感
2015/06/02 职场文书
小学班主任工作经验交流材料
2015/11/02 职场文书