首页 > 其他分享 >课程设计个人报告

课程设计个人报告

时间:2023-12-16 10:55:23浏览次数:34  
标签:TLS 解析器 课程设计 个人 报告 Lua API 解析 Wireshark

基于Wireshark插件的国密标准检测工具的设计与实现

个人贡献:

程序框架设计及主要代码编写

设计中遇到的问题及解决方法:

  1. 协议字段提取问题

    • 问题描述:在解析记录层时,出现协议字段提取错误的问题,导致无法准确识别TLS记录的内容类型。
    • 解决方法:使用正确的偏移量和长度来提取协议字段。确保提取的字段与TLS协议规范相匹配,以便准确识别内容类型。根据国密标准和wireshark视窗可以得知不同字段在记录层的偏移量。
  2. 版本字段解析问题

    • 问题描述:解析TLS记录时,遇到版本字段提取错误,导致无法正确识别TLS版本。
    • 解决方法:确认版本字段的偏移量和长度是否正确。对比协议规范,使用正确的字节顺序解析版本字段,确保准确识别TLS版本。
  3. 协议识别准确性问题

    • 问题描述:解析器对不属于TLS协议的数据包进行错误解析,导致解析器识别错误。像有的TCP数据包被当作TLS协议的数据包进行解析。
    • 解决方法:增加更准确的协议识别逻辑,通过检查内容类型字段来确保仅对TLS协议的数据包进行解析。
  4. Wireshark Lua API使用问题

    • 问题描述:在编写Lua解析器时,遇到对Wireshark Lua API函数的不熟悉或误用。
    • 解决方法:通过阅读API文档、查阅示例代码和在线资源来学习和了解Wireshark Lua API的使用方法。在使用新函数或方法时先进行简单的测试。
  5. 性能优化问题

    • 问题描述:解析器因数据包复杂性或低效算法导致性能下降。
    • 解决方法:优化代码逻辑,避免不必要的计算或循环。使用Wireshark Lua API提供的高效函数,并对复杂操作进行优化。

调试过程中遇到的问题及解决方法:

  1. 字段提取错误

    • 问题描述:在测试阶段发现提取字段值与预期不符合,导致协议字段解析错误。
    • 解决方法:使用调试语句打印提取字段的值,逐步确认偏移量和长度是否正确,从而定位并修复提取错误。
  2. 错误处理问题

    • 问题描述:在解析器中遇到未能正确处理异常情况的问题,如空包或字段缺失。
    • 解决方法:添加适当的错误处理机制,使用条件语句检测异常情况,并在出现异常时进行日志记录或提供警告信息。

设计体会及收获:

  1. 规范与实现之间的桥梁:解析器的设计需要对协议规范有深入理解,同时结合Wireshark提供的Lua API实现具体的解析逻辑。将规范和实际实现有机地结合是设计过程中的重要一环。

  2. 灵活性与准确性的平衡:解析器需要保持足够的灵活性以适应不同数据包的解析,同时确保对协议的准确识别。平衡两者的关键是细致的测试和对协议规范的精准理解。

  3. 代码优化与性能:解析器的性能直接影响着Wireshark的效率。通过优化代码逻辑和合理利用API函数,可以提高解析器的性能,从而更好地应对大量数据包的解析。

  4. 更深入了解TLS协议:通过对TLS记录层的解析,我更深入地理解了TLS协议的结构和功能。这让我对网络安全领域有了更全面的认识。

  5. 学习和掌握Wireshark Lua API:通过实践和查阅文档,我更加熟悉了Wireshark Lua API的使用方法和特性,增强了自己的编程能力和问题解决能力。

  6. 错误排查和调试技能:解析器的开发过程中,遇到了不少问题,但通过逐一排查和调试,我学会了快速定位问题并提出解决方案的能力。

  7. 设计思维与工程实践:这次经历增强了我的设计思维,从理论到实践,需要深入分析并将其转化为实际的代码。这种转化过程是对工程实践的重要锻炼。

参考资料:

《Wireshark网络分析从入门到实践》
https://mp.weixin.qq.com/s/lPrgqnFGfqSDFwFN5cjSQQ
https://zhuanlan.zhihu.com/p/362748246
https://zhuanlan.zhihu.com/p/114669991
https://zhuanlan.zhihu.com/p/659794500

标签:TLS,解析器,课程设计,个人,报告,Lua,API,解析,Wireshark
From: https://www.cnblogs.com/wang-chen-kai/p/17904571.html

相关文章

  • gamble 题解报告
    #Galble题解简要题意:  给定一个数$n$AB两人赌博,每次你作为第三者下注任意整数$x$元,A赢则获得$x$元,否则亏损$x$元。任何一个人赢$n$次立刻结束游戏。你需要每次基于现在的情况,计算下的赌注,以使得在整个赌博的全过程,如果A胜利则获得$2^{2n-1}$元,否则亏损这么......
  • Android程序员如何避免职业瓶颈,实现个人职业价值最大化?
    前言随着科技的不断发展,互联网行业日新月异,年轻一代的安卓开发者层出不穷。但对于已经步入中年的安卓开发者来说,面临的职业发展困境和竞争压力也开始逐渐显现。越来越多的程序员难以跟上时代的步伐,只会埋头写代码,缺乏大局观和长远的职业考虑。缺乏大局观的程序员许多程序员缺乏大局......
  • 电子公文传输系统----个人贡献
    506ilou团队的电子公文传输系统----个人贡献目录506ilou团队的电子公文传输系统----个人贡献一.简述我完成的工作1.实验前期构建用户场景,并完成需求分析2.参与修改完善需求规格说明书3.在确定分工、描述设计阶段4.在实验过程中完成后端模块化功能的实现二.我们小组总共的代码行......
  • jenkins学习19 - pipline 构建项目生成 allure报告并发送邮箱
    前言个人其实一直的不太喜欢用邮箱发送报告,测试报告用邮件通知这都是五六年前的事情了,但有部分小伙伴依然执着于发邮件报告通知。这里整理了下发邮箱通知的教程。配置你的邮箱配置邮箱这一步最繁琐,由于每个人使用的邮箱不一样,配置也是不一样的,没有固定的答案。这就导致很多人......
  • 基于Wireguard技术的虚拟个人网络搭建(转)
    原文(https://gitee.com/spoto/wireguard#docker%E5%AE%89%E8%A3%85wireguard)手动安装Wireguard安装Wireguard(以ubuntu20.04为基础)#root权限sudo-i#安装wireguard软件aptinstallwireguardresolvconf-y#开启IP转发echo"net.ipv4.ip_forward=1">>/etc/sysctl.......
  • 向日葵的平替:一款个人开发的远程工具——fastnat
    相关资料:https://www.cnblogs.com/thinkingmore/p/14317505.htmlhttps://www.cnblogs.com/thinkingmore/p/15550667.html  官网地址:https://www.fastnat.club/  ------------------------------------------------  经过个人使用测试,亲测可用,虽然使用过程中有......
  • 鸿蒙生态学堂·创新实训营成功举办,饿了么、个人所得税、哈啰等40余头部应用参培
    2023年12月12日至14日,第六期鸿蒙生态学堂·创新实训营在上海成功举办。饿了么、个人所得税、浙里办、萤石云视频、扫描全能王、哈啰、浦发银行、起点读书、企查查、途虎养车、叮咚买菜、麦当劳(中国)、肯德基、华住会、高铁管家、东方航空、航班管家、虎扑、中望CAD等40余知名应用的......
  • 【专题】2022年中国跨境电商行业研究报告PDF合集分享(附原数据表)
    报告链接:http://tecdat.cn/?p=32044近年来,我国的跨境电子商务发展迅速,在过去五年中,其贸易额增长率达到了16.2%,已经成为稳定对外贸易的一支重要力量。阅读原文,获取专题报告合集全文,解锁文末52份跨境电商行业相关报告。一方面,随着跨境电子商务的发展,跨境电子商务的监管政策得到了......
  • 事后诸葛亮分析报告
    这个作业属于哪个课程https://edu.cnblogs.com/campus/gdgy/CSGrade21-12这个作业要求在哪里https://edu.cnblogs.com/campus/gdgy/CSGrade21-12/homework/13022这个作业的目标事后诸葛亮分析报告设想和目标1.我们的软件要解决什么问题?是否定义得很清楚?是否对......
  • Selenium系列知识点整理--个人总结
    Selenium系列知识点整理-----https://www.cnblogs.com/yoyoketang/-----本文摘录于‘上海-悠悠’的博客,网址如上  新手学习selenium路线图(老司机亲手绘制)-学前篇  学习selenium主要分六个阶段,自己在哪个层级,可以对号入座下。第一阶段:幼儿园1.选语言:在学习自动......