使用python来获取整个局域网内可以连通的主机ip地址:

整体是思路就是

1、先获取我本机的ip地址

2、拿到我本机ip后,截取ip的最后一段,保留前一部分网段信息

3、调用cmd命令,循环从1循环255次到255来ping 整个网段内可以ping通的ip

通过Ping TTL 大于0 判断是否可ping通

4、最后得到可以ping通的ip地址

# -*- coding: utf-8 -*-import platform
import os
import time
import threading
import socketlive_ip = 0def 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 在线" % ip_str)global live_iplive_ip += 1breakdef find_ip(ip_prefix):'''''给出当前的ip地址段 ,然后扫描整个段所有地址'''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()def find_local_ip():"""获取本机当前ip地址:return: 返回本机ip地址"""myname = socket.getfqdn(socket.gethostname())myaddr = socket.gethostbyname(myname)return myaddrif __name__ == "__main__":print("开始扫描时间: %s" % time.ctime())addr = find_local_ip()args = "".join(addr)ip_pre = '.'.join(args.split('.')[:-1])find_ip(ip_pre)print("扫描结束时间 %s" % time.ctime())print('本次扫描共检测到本网络存在%s台设备' % live_ip)

运行结果:

开始扫描时间: Sun Apr 26 00:10:28 2020
ip: 192.168.1.11 在线
ip: 192.168.1.6 在线
ip: 192.168.1.2 在线
ip: 192.168.1.3 在线
ip: 192.168.1.1 在线
ip: 192.168.1.4 在线
ip: 192.168.1.100 在线
ip: 192.168.1.255 在线
扫描结束时间 Sun Apr 26 00:10:32 2020
本次扫描共检测到本网络存在8台设备

到此,我们就获取到了整个局域网中的全部可连接网络。

Python获取局域网内可连通的主机ip地址相关推荐

  1. DOS获取局域网内所有正在使用的ip地址

    复制一下代码,简历一个bat文件,双击 COLOR 0A CLS @ECHO Off Title 查询局域网内在线电脑IP :send @ECHO off&setlocal enabledel ...

  2. 访问网络内不同ip段的计算机,[转]问题:话说两台电脑在一个局域网内,把它们的IP地址都设成不同的网段,请问,它们可不可以通讯?如...

    问题:话说两台电脑在一个局域网内,把它们的IP地址都设成不同的网段,请问,它们可不可以通讯?如果能,请问应该怎么做? (1)其实不论怎么设置,目的都是为了添加路由 网关只是间接添加了0.0.0.0的默 ...

  3. Python获取局域网内所有机器IP地址与网卡MAC地址

    已发相关文章请参考Python获取本机所有网卡的MAC地址 本文代码使用ARP协议获取局域网内所有计算机的IP地址与MAC地址,思路是使用系统命令arp获取ARP表并生成文本文件,然后从文件中读取和解 ...

  4. 微课--Python获取局域网内所有机器IP地址与MAC地址

    开学第一课:一定不要这样问老师Python问题 董付国老师Python系列教材推荐与选用参考 3000道Python习题免费在线练习 ============== 版权声明:由于公众号后台规则问题,本 ...

  5. 自制蹭网工具(全套-修改电脑MAC地址、IP、获取局域网内别人的MAC和IP)

    自制蹭网工具,功能如下: 1.局域网内获取别人MAC和IP的方法: 2.修改本机MAC地址的方法 3.改本机IP地址的方法 之前我一直在使用,先分享出来,下载地址如下: https://downloa ...

  6. 计算机查找在线设备IP指令,[转载]查看局域网内在线的电脑的IP地址(批处理)

    1.检测网络状态 有时候局域网中主机故障,导致下面的电脑不能上网.而故障又是暂时性的,说不定什么时候网络就恢复了,在掉线的这段时间去玩单机游戏吧又怕网络通了而不知道,老是从游戏中切换出来检查网络又觉得 ...

  7. python获取局域网内的设备_python调用nmap探测局域网设备

    平台:linux 描述:利用os.popen()函数调用系统命令nmap进行扫描,并用grep命令对扫描结果关键内容进行提取 代码 #!/usr/bin/env pthon #--*--coding= ...

  8. python获取局域网在线主机_python通过scapy获取局域网所有主机mac地址示例

    python通过scapy获取局域网所有主机mac地址示例 发布于 2014-10-10 20:34:48 | 607 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python ...

  9. java获取局域网内主机,java怎么获取局域网内所有主机ip

    java怎么获取局域网内所有主机ip 关注:53  答案:2  mip版 解决时间 2021-01-27 21:31 提问者夢岭杺 2021-01-27 12:02 java怎么获取局域网内所有主机i ...

最新文章

  1. 【黑客免杀攻防】读书笔记4 - 壳在免杀中的应用
  2. Java使用Jdbc操作MySql数据库(一)
  3. [召集] .NET Framework基本类库中的设计模式
  4. Ubuntu下搭建Kubernetes集群(3)--k8s部署
  5. 引导类加载器 Bootstrap ClassLoader
  6. HDU 2504 又见GCD
  7. HIPS 自定义框架
  8. DDD 领域驱动设计落地实践:六步拆解 DDD
  9. 360小程序将上线,机会在哪里?
  10. 解析http头部和c++string的高级使用技巧
  11. 从零开始学Koa2(一)
  12. day 5 名片管理系统-文件版
  13. 2019年上海春运志愿服务启动 3000余名志愿者守护归乡路
  14. java生成gif_Java生成动态GIF图片
  15. 闪迪内存卡软件测试,闪迪存储卡怎么样
  16. [原创]:善用佳软(二)
  17. maven clean Process terminated
  18. 「咕咕网校 - 基础省选」树上问题的进阶 by Drench
  19. 爱五笔iWuBi for Mac(五笔练习工具)
  20. 携程网络防火墙自动化运维之道

热门文章

  1. 如何修复 Chrome 书签栏图标显示不正常
  2. 为什么夜晚拍照时照片里有不规则光晕?(转载)
  3. CSS margin 重叠(margin collapse)
  4. 使用函数实现字符串复制
  5. electron 实现文件下载管理器
  6. 毕业设计 - 题目:基于深度学习卷积神经网络的花卉识别 - 深度学习 机器视觉
  7. 损失函数——对数损失(Logarithmic Loss,Log Loss)
  8. 高数叔建模第四章:相关分析方法与计算
  9. java 使用浏览器下载图片
  10. 利用红外测温仪测量物体的发射率