资源简介
这是一个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日期时间运算
- Python简版聊天室代码
- Flask-login
- 矩阵分解在MovieLens上的Python实现
- 全国840个气象站点日照时数转日总太
- python 3.6 socket传输视频
- 基于PYQT编写的人脸识别软件
- 续Python3.x+PyQtChart实现数据可视化界面
- 疯狂Python讲义习题答案.rar
- A*算法解决十五数码问题Python程序、报
- 使用python tkinter写的登陆窗口源码
- caffe_pb2.py
- LUTAI.Tools.IronPythonCheckTool
- 基于python的猜单词游戏开发
- 基于Python实现的Pagerank算法
- Python实现数据库
- 传智播客Python就业班2018.zip
- Python对爬取微博的评论进行jieba分词和
- python爬虫 破解js加密有道词典案列的
- python写的旅游网站源码
- 利用鸢尾花数据集画出P-R曲线 pytho
- pyHook-1.5.1-cp38-cp38-win_amd64.whl
- freesmallgames.zip
- python一加云相册批量爬虫
- 实战python利用线性回归来预测鲍鱼年
- 实战python线性回归
- RSA算法的纯Python实现源码
- 请求分页存储管理Python实现源代码+课
- python爬取100个百度百科页面信息
- python面试题大全
评论
共有 条评论