python—局域网扫描软件简化版
参考:
https://www.cnblogs.com/hongten/p/hongten_python_platform.html
https://zhidao.baidu.com/question/983177811637606459.html?qbl=relate_question_0&word=python%20%C8%E7%BA%CE%C5%D0%B6%CFping%D6%F7%BB%FA%CA%C7%B7%F1%B4%E6%BB%EE
https://zhidao.baidu.com/question/940153877572391172.html?qbl=relate_question_1&word=python%20%C8%E7%BA%CE%C5%D0%B6%CFping%D6%F7%BB%FA%CA%C7%B7%F1%B4%E6%BB%EE
http://blog.csdn.net/claroja/article/details/70477851
https://zhidao.baidu.com/question/1047574020056033499.html
https://www.cnblogs.com/Mr-wanwan/p/6000076.html
python 源码
#!/usr/bin/python
# --*-- coding:utf-8 --*--
import os
import platform#导入系统平台模块
list = []
list.append(range(1,256))#顺序生成数字1至255,并一一加入列表list中
#print list[0]
liststr = []
liststr =[str(i) for i in list[0]]#对列表list中生成数字元素每个依次转换成字符元素
#print liststr
if platform.system() == "Linux":#如果是平台是linux,则进入
os.system("touch /root/python/pingip_true.txt")#在Linux中创建空白文件/root/python/pingip_true.txt
os.system("touch /root/python/pingip_false.txt")
ip_true = open("/root/python/pingip_true.txt",'w+')#可以Ping通ip加入,每次重新运行清空文件
ip_false = open("/root/python/pingip_false.txt",'w+')#不可Ping通ip加入,每次重新运行清空文件
else:#平台是Windows,则进入
open("D:\pingip_true.txt","w")#在Windows中创建空白文件D:\pingip_true.txt
open("D:\pingip_false.txt","w")
ip_true = open("D:\pingip_true.txt",'w+')
ip_false = open("D:\pingip_false.txt",'w+')
i = 0
strlist = []
while liststr[i] != '256':#不是列表list最后一个元素空格时,则进入
if platform.system() == "Linux":
str = "ping -c 2 -w 2 192.168.40."#在Linux系统中ping ip的语法,-c 2指发送报文2次,-w 2指等待2秒
else:
str = "ping -n 2 -w 2 192.168.40."#在Windows系统中ping ip的语法
strlist.append(str+liststr[i])#组装成完整的ping的语句ping -n 2 192.168.40.i
#print strlist[i]
pingos = os.system(strlist[i])#调用os模块进行ping操作
#print type(pingos)#查看pingos的值类型
#print pingos#查看pingos的值
if pingos == 0:#等于数字0时说明是ping通,则加入。等所有的ip被ping完成才写入文件中
ip_true.write(strlist[i][14:])#对字符ping -c 2 -w 2 192.168.40.x中取从第14个字符到最后,就是192.168.40.x
ip_true.write('\n')#每次加入数据自动换行
else:
ip_false.write(strlist[i][14:])
ip_false.write('\n')
i = i + 1
ip_true.close()
ip_false.close()
Windows系统中python脚本运行情况:
C:\Python27>python internet2.py
正在 Ping 192.168.40.1 具有 32 字节的数据:
来自 192.168.40.1 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.40.1 的回复: 字节=32 时间<1ms TTL=64
192.168.40.1 的 Ping 统计信息:
数据包: 已发送 = 2,已接收 = 2,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 0ms,平均 = 0ms
正在 Ping 192.168.40.2 具有 32 字节的数据:
请求超时。
请求超时。
192.168.40.2 的 Ping 统计信息:
数据包: 已发送 = 2,已接收 = 0,丢失 = 2 (100% 丢失),
正在 Ping 192.168.40.3 具有 32 字节的数据:
请求超时。
请求超时。
192.168.40.3 的 Ping 统计信息:
数据包: 已发送 = 2,已接收 = 0,丢失 = 2 (100% 丢失),
正在 Ping 192.168.40.4 具有 32 字节的数据:
请求超时。
请求超时。
、
............................
...............................
...............................
.................................
查看可以ping的通IP地址文件pingip_true.txt与不可以ping的通IP地址文件pingip_false.txt
C:\Python27>
C:\Python27>dir d:
驱动器 D 中的卷是 DATA
卷的序列号是 9028-9A62
D:\ 的目录
2017/12/07 23:17 0 pingip_false.txt
2017/12/07 23:17 0 pingip_true.txt
2 个文件 0 字节
9 个目录 254,706,409,472 可用字节
C:\Python27>
Linux系统中python脚本运行情况: