Skip to content

🛜输入IP、TCP和UDP等数据包,能给出该数据包首部检验和检验的过程,判断首部数据包是否有差错。

License

Notifications You must be signed in to change notification settings

DURUII/Homework-Pyside6-Checksum

 
 

Repository files navigation

流程

  1. CHECKSUM

    • 搭建链路-网络-传输层级框架
    • 确定基于key2bit, key2val, key2dec的模式逐层解析
    • 搭建数据流切分/解读/格式化函数➡️很笨拙、很繁琐
      • 支持多进制输入,二进制解析,最后十六进制存储
    • 实现各层key2bit, key2val, key2dec
      • 实现 Ethernet II 解析
      • 实现 IPv4 解析
      • 实现 TCP/UDP 解析
    • 搭建数据流校验函数
      • 支持多进制输入,二进制分组,再用十六进制计算
      • 进位回卷
      • 反攻解析函数,添加checksum置零功能
    • 实现各层 checksum
      • 反攻 IPv4,添加伪首部传递功能
      • 实现 IPv4 校验
      • 实现 TCP/UDP 校验
      • 测试 & Debug
  2. UI

    • 安装 Qt Designer,小打小闹(图标、文字)
    • 实现pack&crate.sh打包脚本
    • 修改布局,集成文件与字符读入、结果解析、校验和计算过程

参考

  1. checksum

  2. pyside6

  3. Diagram

实现

🚩README

About

🛜输入IP、TCP和UDP等数据包,能给出该数据包首部检验和检验的过程,判断首部数据包是否有差错。

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • Python 99.9%
  • Shell 0.1%