[PythonCode]扫描局域网的alive ip地址
内网的主机都是自己主动分配ip地址,有时候须要查看下有那些ip在使用,就写了个简单的脚本。
linux和windows下都能够用,用多线程来ping1-255全部的地址,效率不高。2分钟左右。 先凑合和用吧。
#-*- coding: utf-8 -*-
#author: orangleliu date: 2014-11-12
#python2.7.x ip_scaner.py '''
不同平台,实现对所在内网端的ip扫描 有时候须要知道所在局域网的有效ip,可是又不想找特定的工具来扫描。 用法 python ip_scaner.py 192.168.1.1
(会扫描192.168.1.1-255的ip)
''' import platform
import sys
import os
import time
import thread def get_os():
'''
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):
'''
给出当前的127.0.0 ,然后扫描整个段全部地址
'''
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__":
print "start time %s"%time.ctime()
commandargs = sys.argv[1:]
args = "".join(commandargs) ip_prefix = '.'.join(args.split('.')[:-1])
find_ip(ip_prefix)
print "end time %s"%time.ctime()
是应用的时候: python ip_scaner.py 192.168.31.1 就会扫描 1-255全部的ip地址了。
D:\CodeHouse\python\tools>python ip_scaner.py 10.0.1.38
start time Wed Nov 12 18:50:58 2014
ip: 10.0.1.1 is ok ***
ip: 10.0.1.2 is ok ***
ip: 10.0.1.24 is ok ***
ip: 10.0.1.38 is ok ***
ip: 10.0.1.39 is ok ***
end time Wed Nov 12 18:52:16 2014
就这样。
本文出自 “orangleliu笔记本” 博客。转载请务必保留此出处http://blog.csdn.net/orangleliu/article/details/41048173
作者: orangleliu
[PythonCode]扫描局域网的alive ip地址的更多相关文章
- 局域网使用的IP地址范围
局域网可用的IP地址范围为: A类地址:10.0.0.0 - 10.255.255.255 B类地址:172.16.0.0 - 172.31.255.255 C类地址:192.168.0.0 -19 ...
- Java 网络编程(1):使用 NetworkInterface 获得本机在局域网内的 IP 地址
原文地址:https://segmentfault.com/a/1190000007462741 1.问题提出 在使用 Java 开发网络程序时,有时候我们需要知道本机在局域网中的 IP 地址.很常见 ...
- 不同局域网中同一IP地址的计算机怎么通信的
1.IP地址在192.--.255之内的是私有地址,即192.168.1.56的电脑a是不能直接与192.168.1.56的电脑b进行通信的.他们需要用到NAT技术,即网络地址转换.2.NAT的作用是 ...
- wifi智能插座 一键扫描局域网内插座Ip及其它信息 Python源代码API
转载请保留原地址. http://www.cnblogs.com/lsqandzy 最近买了几个智能插座玩,插座安装在家里,连接好wifi,不管你人在哪里,通过手机,一键开启或关闭插座电源,想象一下, ...
- 扫描局域网内的ip和主机名
1. 目的 今天发现我配置的一台电脑ip被人占用了,所以准备写个程序扫描一下局域网内所有正在使用的ip和主机名 2. 实现--直接上代码 import time import threading im ...
- 局域网中使用的IP地址有哪些?
当我们建设一个局域网的时候,需要为网络中的每台计算机分配一个IP地址.那么都有哪些IP地址可以使用在局域网中呢?局域网中的IP地址有什么规定呢? 在局域网中,我们是不能使用如202.106.45.11 ...
- C# dotnet 获取整个局域网的 ip 地址
局域网可以使用的 IP 地址有很多,我写了一段代码用来枚举所有可以用的 ip 地址 小伙伴都知道,局域网可以使用的 IP 范围如下 A类地址:10.0.0.0 - 10.255.255.255 B类地 ...
- 使用Python检测局域网内IP地址使用情况
来源:https://www.cnblogs.com/donlin-zhang/p/6812675.html 在测试环境搭建的过程中,经常需要给服务器分配静态IP地址,由于不清楚当前局域网内部哪些IP ...
- 如何知道局域网内哪些ip被占用----工具法Free IP Scanner
在局域网中,尤其是在工作室和公司中需要修改IP地址才能上网,通常我们在设置完ip地址后会提示[该ip地址已被占用],又得回头去修改ip地址.本篇经验就介绍一款很好用的免费软件——Free IP Sca ...
随机推荐
- 什么是cookie(前段时间看到别人简历上把cookie和localStorage混淆了所以专门又去了解了下)
在前端面试中,有一个必问的问题:请你谈谈cookie和localStorage有什么区别啊? localStorage是H5中的一种浏览器本地存储方式,而实际上,cookie本身并不是用来做服务器存储 ...
- LinuxMint 编译 LittlevGL GUI
编译必须 安装arm-linux-gcc-4.4.3.tar.gz PC simulator You can try out the Littlev Graphics Library using on ...
- reciting
When I was seventeen, I read a quote that went something like, '' if you live your each day as if it ...
- Caused by: java.lang.IllegalArgumentException: Parameter Maps collection does not contain value for com.bj186.crm.pojo.User
原因分析: myBatis在写delete语句的时候,多写了一个属性 错误的代码: <delete id="deleteUser" parameterType="I ...
- struct获取不到值的小错误
struct2 get set 这两个方法一定要用双骆驼命名法:getA() setA(), 而geta() seta()不行 我找了好久的错误,只能说框架这东西快捷方便,找起错误要人命
- NOIP考纲
首先来一张图,很直观(截止到2012年数据) 下面是收集的一些,我改了一下 红色加粗表示特别重要,必须掌握绿色加粗表示最好掌握,可能性不是很大,但是某些可以提高程序效率 高精度 a.加法 b.减法 c ...
- CF161D Distance in Tree 点分治
题目: 输入点数为N一棵树,求树上长度恰好为K的路径个数 分析: 题目的数据范围不是很紧,点分治也可以过,树形dp也可以过.这里采用点分治做法. 我们只需要单开一个类似于桶的数组,跑点分治套路,统计即 ...
- h lib dll文件相关部分
参考:https://www.cnblogs.com/azbane/p/7364060.html 只对其中自己用得到的重点做了个笔记. 1..h头文件是编译时必须的,lib是链接时需要的,dll是运行 ...
- 如何用纯 CSS 创作一个容器厚条纹边框特效
效果预览 在线演示 按下右侧的"点击预览"按钮在当前页面预览,点击链接全屏预览. https://codepen.io/zhang-ou/pen/YLqbXy 可交互视频教程 此视 ...
- c++_方格填数(最新方法)
方格填数 如下的10个格子 +--+--+--+ | | | |+--+--+--+--+| | | | |+--+--+--+--+| | | |+--+--+--+ (如果显示有问题,也可以参 ...