• 大小: 15KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-22
  • 语言: Python
  • 标签: python  icmp  ping  PyQt5  

资源简介

这是一个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

评论

共有 条评论