资源简介
这是一个python通过icmp协议实现的一个ping工具,内附有环节配置安装说明,以及详细的代码解释,并用PyQt5实现了简单的图形化处理,写有帮助信息,帮助更快的进行理解与使用。

代码片段和文件信息
#!/usr/bin/python3.6.4
#-*-coding:utf-8-*-
__author__ = ‘Rosefinch‘
__date__ = ‘2018/5/31 10:32‘
def chesksum(data):
“““
校验
“““
n = len(data)
m = n % 2 #判断data长度是否是偶数字节
sum = 0 #记录(十进制)相加的结果
for i in range(0 n - m 2): #将每两个字节(16位)相加(二进制求和)直到最后得出结果
sum += ord(data[i]) + (ord(data[i+1]) << 8)#传入data以每两个字节(十六进制)通过ord转十进制,第一字节在低位,第二个字节在高位
if m: #传入的data长度是奇数,将执行,且把这个字节(8位)加到前面的结果
sum += ord(data[-1])
#将高于16位与低16位相加
sum = (sum >> 16) + (sum & 0xffff)
sum += (sum >> 16) #如果还有高于16位,将继续与低16位相加
answer = ~sum & 0xffff#对sum取反(返回的是十进制)
#主机字节序转网络字节序列(参考小端序转大端序)
answer = answer >> 8 | (answer << 8 & 0xff00)
return answer #最终返回的结果就是wireshark里面看到的checksum校验和
if __name__ == “__main__“:
# data = “\x08\x00\x00\x01\x00\x01\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x61\x62\x63\x64\x65\x66\x67\x68\x69“
data_type = ‘\x08‘ # ICMP Echo Request
data_code = ‘\x00‘ # must be zero
data_checksum = ‘\x00\x00‘ # “...with value 0 substituted for this field...“
data_ID = ‘\x00\x01‘ #Identifier
data_Sequece = ‘\x00\x01‘ #Sequence number
payload_body = ‘abcdefghijklmnopqrstuvwabcdefghi‘ #data
icmp_message = data_type + data_code + data_checksum + data_ID + data_Sequece + payload_body
int_ = chesksum(icmp_message)
print(‘{:d} ---> {:x}‘.format(int_int_))
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-12-19 20:35 ping\
目录 0 2018-12-23 19:19 ping\ping工具\
文件 4569 2018-12-19 16:33 ping\ping工具2.ui
文件 1740 2018-12-16 21:04 ping\ping工具\01检验和.py
文件 5631 2018-12-19 14:41 ping\ping工具\ping.py
文件 5688 2018-12-23 19:18 ping\ping工具\ping后台处理.py
文件 13994 2018-12-23 19:18 ping\ping工具\ping后台处理备.py
目录 0 2018-12-23 19:19 ping\ping工具\__pycache__\
文件 4150 2018-12-23 19:19 ping\ping工具\__pycache__\ping后台处理.cpython-36.pyc
文件 399 2018-12-23 19:18 ping\ping工具\主函数.py
文件 573 2018-12-23 19:25 ping\ping资料.txt
文件 300 2018-12-23 19:20 ping\使用必读.txt
文件 1462 2018-12-19 20:33 ping\课程设计环节配置.txt
- 上一篇:Python简版聊天室代码
- 下一篇:python日期时间运算
相关资源
- 二级考试python试题12套(包括选择题和
- pywin32_python3.6_64位
- python+ selenium教程
- PycURL(Windows7/Win32)Python2.7安装包 P
- 英文原版-Scientific Computing with Python
- 7.图像风格迁移 基于深度学习 pyt
- 基于Python的学生管理系统
- A Byte of Python(简明Python教程)(第
- Python实例174946
- Python 人脸识别
- Python 人事管理系统
- 基于python-flask的个人博客系统
- 计算机视觉应用开发流程
- python 调用sftp断点续传文件
- python socket游戏
- 基于Python爬虫爬取天气预报信息
- python函数编程和讲解
- Python开发的个人博客
- 基于python的三层神经网络模型搭建
- python实现自动操作windows应用
- python人脸识别(opencv)
- python 绘图(方形、线条、圆形)
- python疫情卡UN管控
- python 连连看小游戏源码
- 基于PyQt5的视频播放器设计
- 一个简单的python爬虫
- csv文件行列转换python实现代码
- Python操作Mysql教程手册
- Python Machine Learning Case Studies
- python获取硬件信息
评论
共有 条评论