您的位置:首页 > 编程语言 > Python开发

python---局域网扫描简化版、平台判断、平台创建文件、文件操作、range、数字列表转成字符列表、不同平台ping操作

2017-12-07 23:30 796 查看
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[/code] 
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脚本运行情况:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐