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

IS课程设计-个人报告

时间:2023-12-16 16:45:39浏览次数:37  
标签:TLS 协议 课程设计 个人 报告 插件 SSL 解析 Wireshark

个人报告

1.小组贡献排序及依据(每个人的工作量):

  • 张顺扬(37%):针对GMT0024以及相关网站提供的五个协议相关数据资料编写lua代码并进行不断调试。
  • 肖权城(33%):前期进行相关资料检索,提供了大量包括协议逻辑分析功能的网站和数据资料对后期代码编写带来了有力支撑。
  • 徐元琦(30%):对代码进行修改,分析Wireshark数据包内容

2.个人报告(20211406张顺扬):

在这个课程设计中,我贡献了以下方面的工作:

1. 设计和实现SSL/TLS协议解析功能

编写了主要的解析函数,包括握手协议解析(dissect_ssl_handshake)、CipherSpec Change协议解析(dissect_cipher_spec_change)、Record Layer协议解析(dissect_record_layer_protocol)、Alert Protocol协议解析(dissect_alert_protocol)等。这些函数通过解析Wireshark捕获的SSL/TLS流量,提取关键信息,并在Wireshark界面中以易读的方式显示。

2. 设计清晰的模块化结构

将解析功能模块化设计,每个模块负责特定协议的解析。这种设计风格提高了代码的可维护性和可扩展性,使得其他开发者可以更容易理解和扩展代码。

** 3. 添加对国密标准的支持**

根据国密标准,修改了握手协议解析函数,确保它可以正确解析使用国密算法的SSL/TLS握手协议。这样的修改对于满足特定加密算法需求的网络流量分析具有重要意义。

4. 注释和文档编写

在代码中添加了详尽的注释,解释了关键逻辑和功能。这有助于其他开发者理解代码,并能够更方便地进行二次开发或维护。同时,我对整个课程设计进行了详细的流程分析,编写了设计文档,包括系统体系结构、数据类型定义、程序流程图、UML类图和时序图等。

5. 测试和调试

通过对Wireshark捕获的SSL/TLS流量进行测试,验证了插件在实际场景中的正确性。在调试过程中,我发现并解决了一些潜在的问题,确保了插件的稳定性和可靠性。

** 6. 注册协议和端口**

设计了ssl_tls_protocol_init函数,用于注册SSL/TLS协议并指定对应的端口。这一步确保了Wireshark能够识别并解析指定端口上的SSL/TLS流量。

总体而言,该课程设计能够更好地解析SSL/TLS协议,支持国密标准,并提供了清晰的代码结构和文档,为其他开发者提供了参考和便利。

  • a)列出设计中遇到的问题及解决方法
    设计过程中,主要遇到了代码逻辑难于实现,比如网关到网关协议的实现和握手协议的具体代码分析。
    但在相关资料分析后,也得知了协议数据逻辑和代码之间的关系。

  • b)列出调试过程中遇到的主要问题,并说明解决方法;
    我们小组每个人的Wireshark版本不一样,可能会导致出现的数据包分析结果不一致,根据不同的版本,代码也会随之更改。
    在调试过程中,我们小组出现了如下主要问题

  1. 解析逻辑错误:

问题: 解析SSL/TLS握手协议或其他协议时,逻辑错误导致解析结果不准确。
解决方法: 通过仔细检查解析函数中的逻辑,查看Wireshark捕获的数据包和协议规范,确认解析逻辑是否正确。可以使用打印语句或调试工具来辅助调试,逐步排查问题。

  1. 数据偏移错误:

问题: 由于数据包的结构变化或解析位置偏移错误,导致解析的字段内容错误。
解决方法: 仔细检查解析函数中的数据包偏移量,确保读取的字段位置正确。使用Wireshark的数据包详细信息来验证偏移量是否正确,并修复偏移错误的部分。

  1. 国密标准支持问题:

问题: 在解析国密标准的SSL/TLS握手协议时,可能出现解析错误或不支持的算法。
解决方法: 深入研究国密标准文档,了解相关算法的数据结构和解析规则。对解析函数进行修改,确保支持国密标准的加密算法。可以参考相关文档或规范,也可以查阅开源实现的代码作为参考。

  1. Wireshark插件注册问题:

问题: 插件未成功注册到Wireshark,导致无法解析指定端口上的SSL/TLS流量。
解决方法: 确认注册函数 ssl_tls_protocol_init 中的协议名和端口号是否正确,检查Wireshark插件的加载路径是否正确。可以通过Wireshark的插件管理界面或控制台输出来验证插件是否成功加载。

  1. 性能问题:

问题: 在解析大量数据包时,可能出现性能瓶颈,影响Wireshark的响应速度。
解决方法: 优化解析函数,避免不必要的循环或重复操作。可以考虑添加缓存机制,减少对相同数据的重复解析。使用Wireshark提供的性能分析工具,定位性能瓶颈,并对其进行优化。

我们小组通过不断修改和调试,有效地应对在调试过程中可能遇到的问题,确保插件的正确性和稳定性。在调试过程中,及时查找并解决问题有助于提高代码质量和插件的可用性。

  • c)设计体会及收获
    在参与这个课程设计的过程中,我积累了丰富的设计体会和收获,涉及到技术层面、团队协作以及实际问题解决等多个方面。

技术层面:

  1. 插件化开发的优势: 通过Wireshark插件化开发,我深刻体会到了插件化架构的优势。这种设计风格使得系统更容易扩展,代码模块化程度高,不同功能模块互相独立,方便维护和修改。

  2. Wireshark API的灵活应用: 学习和使用Wireshark API时,我发现其提供了丰富的功能和接口,能够充分发挥Wireshark的网络分析能力。合理利用这些API,能够更轻松地完成对协议的解析和展示。

  3. 国密标准的理解和应用: 在适应国密标准时,我深入研究了相关文档和规范,了解了国密算法的原理和应用。这拓宽了我的密码学知识,并使我能够更好地应对网络安全领域的具体要求。

团队协作:

  1. 注重文档和注释: 在团队协作中,编写清晰、详细的文档和注释显得尤为重要。通过我的努力,整个课程设计具备了良好的可读性和可维护性,团队成员能够更容易理解我的代码和设计思路。

  2. 协同调试和讨论: 在遇到问题时,采用协同调试和团队讨论的方式,能够更快速地找到解决方案。通过共享调试经验和问题分析,团队成员的智慧得以集结,帮助项目更顺利地推进。

实际问题解决:

  1. 解析逻辑的准确性: 在解析协议过程中,需要不断验证解析逻辑的准确性,通过与协议规范对比,确保解析结果的正确性。这培养了我的耐心和细致入微的思考能力。

  2. 对性能的关注: 面对大量数据包的解析,需要关注性能问题,对代码进行优化。这锻炼了我的性能优化能力,使我更关注代码的效率和可扩展性。

总结与展望:

通过这个课程设计,我对于wireshark插件编写理解更加深入,虽然在lua语言上理解更加透彻,但在c语言插件编写方面我还应该多下功夫,同时,小组团队协作和问题解决的能力也是极其重要的。这次设计使我更深刻地理解了网络协议解析的复杂性和重要性,也为我未来在网络安全领域的发展奠定了坚实的基础。
在将来的课设或实习中,我应该更加投入到团队建设和前期的分工当中,为后来的代码编写阶段节约更多时间,并且留出试错的空间。同时,我将更专注于提升C语言插件编写的技能,以拓宽自己在Wireshark插件开发方面的能力。加强团队建设和前期分工,为后续的代码编写提供更有力的支持,优化团队协作效率。同时,我会保持对网络协议解析复杂性的敏感性,注重问题的深入分析与解决,以不断提升自己在网络安全领域的专业素养,为未来的职业发展打下更加坚实的基础。

标签:TLS,协议,课程设计,个人,报告,插件,SSL,解析,Wireshark
From: https://www.cnblogs.com/zsy1748774883/p/17904994.html

相关文章

  • 2023年秋季个人阅读计划8
    人月神话》是一本关于计算机软件的经典著作,内容源于作者Brooks在IBM公司任System计算机系列以及其庞大的软件系统OS项目经理时的实践经验。这本书的主题是软件工程和项目管理,探讨了软件开发中的各种问题和挑战。这本书的内容源于作者布鲁克斯在IBM公司任System/360计算机系列以及......
  • 课程设计个人报告
    基于Wireshark插件的国密标准检测工具的设计与实现个人贡献:程序框架设计及主要代码编写设计中遇到的问题及解决方法:协议字段提取问题:问题描述:在解析记录层时,出现协议字段提取错误的问题,导致无法准确识别TLS记录的内容类型。解决方法:使用正确的偏移量和长度来提取协议字段......
  • 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份跨境电商行业相关报告。一方面,随着跨境电子商务的发展,跨境电子商务的监管政策得到了......