5大编程语言对决!第1名太猛了!
共 1141字,需浏览 3分钟
·
2022-05-31 21:58
大家好,我是轩辕。
今天,我的知识星球里的第二期学习活动:手写一个抓包软件的第一阶段正式收官了!
第一阶段的收官之战,是大家写的程序来进行PK,分析同样的数据包文件,看谁分析的更快。
收官之战任务:
解析pcap文件,遍历文件中的所有数据包,解析以太网、IP协议、ARP协议、UDP协议、DNS协议,解析结果按照指定格式,分别输出到4个文件中:
arp.txt ip.txt udp.txt dns.txt
这一次的编程学习活动,一开始的时候,还有六十多人参加,到后面躺平的就越来越多了。
最终,只有10位同学完成,提交作业。涉及的语言有C、C++、Go、Python、Java:
所有同学的作业,在同样的环境下(Linux 2核4GB内存)各运行两次,取最好成绩排名。
其中,有两位同学的程序出现了bug,运行不成功,只有8位成功运行,成绩有效。
最终的完成排名如下:
[C++]月:146 ms 148 ms [C++]endless: 317 ms 318 ms [Python]Mr.欧谢特 629 ms 631 ms [Go]我的朋友叫垃圾呆:778 ms 794 ms [C]letangers: 925 ms 935 ms [Python]Walker: 1731 ms 1742 ms [Java]小满同学:5787 ms 5829 ms [Python]厉害:11906 ms 11705 ms [Java]橘子🍊:未成功运行 [C++]Annihilation_choice:未成功运行
要恭喜第一名同学,群里叫他“月佬”,以差不多0.1s的时间就完成了23W+的数据包分析,确实是很强!
按照之前的约定,第一名的同学,送一套价值四百多元的《大话计算机》系列丛书!
这一次因为人少,就没有分语言赛道了,对Java、Python的小伙伴儿不是太公平。后面如果人多的话,将会分编译型语言、字节码语言、解释型语言三个赛道,每个赛道第一名都有奖品!
另外让我意外的是,@欧谢特同学,用Python语言完成,居然闯进了前三甲,打败了使用Go和C语言的两位同学!据说他完成后足足花了两天时间来优化,还大量用到了CPU的缓存机制!
这次学习活动,大家都收获满满,计算机网络通信协议,原来只存在于书本和视频里的知识,变成了自己程序里要处理的数据,神秘的面纱被揭开了,学习起来事半功倍!
手写一个抓包软件的活动暂时告一段落,不少同学要去忙着期末考试了。
也欢迎新的朋友加入星球,跟我们一起继续这场计算机编程+计网学习的冒险之旅。
接下来要挑战难度更高的TCP、HTTP、实时抓包处理了。
暑假我们再会~
PS:各位搞安全的小伙伴儿,你们的呼声我听到了,逆向分析已经提上日程,等我规划好就可以开整了!