Python获取局域网内可连通的主机ip地址
使用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地址相关推荐
- DOS获取局域网内所有正在使用的ip地址
复制一下代码,简历一个bat文件,双击 COLOR 0A CLS @ECHO Off Title 查询局域网内在线电脑IP :send @ECHO off&setlocal enabledel ...
- 访问网络内不同ip段的计算机,[转]问题:话说两台电脑在一个局域网内,把它们的IP地址都设成不同的网段,请问,它们可不可以通讯?如...
问题:话说两台电脑在一个局域网内,把它们的IP地址都设成不同的网段,请问,它们可不可以通讯?如果能,请问应该怎么做? (1)其实不论怎么设置,目的都是为了添加路由 网关只是间接添加了0.0.0.0的默 ...
- Python获取局域网内所有机器IP地址与网卡MAC地址
已发相关文章请参考Python获取本机所有网卡的MAC地址 本文代码使用ARP协议获取局域网内所有计算机的IP地址与MAC地址,思路是使用系统命令arp获取ARP表并生成文本文件,然后从文件中读取和解 ...
- 微课--Python获取局域网内所有机器IP地址与MAC地址
开学第一课:一定不要这样问老师Python问题 董付国老师Python系列教材推荐与选用参考 3000道Python习题免费在线练习 ============== 版权声明:由于公众号后台规则问题,本 ...
- 自制蹭网工具(全套-修改电脑MAC地址、IP、获取局域网内别人的MAC和IP)
自制蹭网工具,功能如下: 1.局域网内获取别人MAC和IP的方法: 2.修改本机MAC地址的方法 3.改本机IP地址的方法 之前我一直在使用,先分享出来,下载地址如下: https://downloa ...
- 计算机查找在线设备IP指令,[转载]查看局域网内在线的电脑的IP地址(批处理)
1.检测网络状态 有时候局域网中主机故障,导致下面的电脑不能上网.而故障又是暂时性的,说不定什么时候网络就恢复了,在掉线的这段时间去玩单机游戏吧又怕网络通了而不知道,老是从游戏中切换出来检查网络又觉得 ...
- python获取局域网内的设备_python调用nmap探测局域网设备
平台:linux 描述:利用os.popen()函数调用系统命令nmap进行扫描,并用grep命令对扫描结果关键内容进行提取 代码 #!/usr/bin/env pthon #--*--coding= ...
- python获取局域网在线主机_python通过scapy获取局域网所有主机mac地址示例
python通过scapy获取局域网所有主机mac地址示例 发布于 2014-10-10 20:34:48 | 607 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python ...
- java获取局域网内主机,java怎么获取局域网内所有主机ip
java怎么获取局域网内所有主机ip 关注:53 答案:2 mip版 解决时间 2021-01-27 21:31 提问者夢岭杺 2021-01-27 12:02 java怎么获取局域网内所有主机i ...
最新文章
- 【黑客免杀攻防】读书笔记4 - 壳在免杀中的应用
- Java使用Jdbc操作MySql数据库(一)
- [召集] .NET Framework基本类库中的设计模式
- Ubuntu下搭建Kubernetes集群(3)--k8s部署
- 引导类加载器 Bootstrap ClassLoader
- HDU 2504 又见GCD
- HIPS 自定义框架
- DDD 领域驱动设计落地实践:六步拆解 DDD
- 360小程序将上线,机会在哪里?
- 解析http头部和c++string的高级使用技巧
- 从零开始学Koa2(一)
- day 5 名片管理系统-文件版
- 2019年上海春运志愿服务启动 3000余名志愿者守护归乡路
- java生成gif_Java生成动态GIF图片
- 闪迪内存卡软件测试,闪迪存储卡怎么样
- [原创]:善用佳软(二)
- maven clean Process terminated
- 「咕咕网校 - 基础省选」树上问题的进阶 by Drench
- 爱五笔iWuBi for Mac(五笔练习工具)
- 携程网络防火墙自动化运维之道