linuxC公司新员工【年终总结】.doc_第1页
linuxC公司新员工【年终总结】.doc_第2页
linuxC公司新员工【年终总结】.doc_第3页
linuxC公司新员工【年终总结】.doc_第4页
linuxC公司新员工【年终总结】.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

linux C公司新员工年终总结通过两年的大学学习,最终我终于找到了一份我心仪的工作linux c 底层开发,虽然我大学只学了两年,并且还是一个专科生。但是英雄不问出处,我现在和大多本科生一起工作在一个办公室里面,我为我自己高兴和自豪。虽然现在我还有很多东西不懂不会,但是我相信通过我一段时间的努力,我会赶上来的。入职一个多月,感谢同事们耐心的帮助,不然就我一个人苦苦钻研,哪有这样的进步速度。我觉得做事和学习的方法比书本上的知识更重要,所以我在学习知识的同时还要向其他同事学习做事和学习的方法,在紧张的工作之余还能提高自己各方面的能力。如果领导对我学习方法和做事有什么意见和看法,敬请提出。我想只有这样我就可以进步更快了。大纲Vm虚拟机及linux基本配置为了简洁的表达我这一个多月来学习的内容和整个过程的衔接关系,我做了张图表,表达如下:从上到下依次递进source insight(SI)的基本使用UltraEdit的基本操作和使用winscp(WS)的基本操作和使用常用工具软件(word,excel,powerpoint)的基本操作和使用初级-编程环境培训secureRT(SRT)的基本操作和使用抓取一个HTTP Get包,打印五元组抓取一个http包,打印出所访问的网页原始套接字抓包抓取一个http包,打印出所访问的网页并把上网记录存入文件中抓取一个http包,打印出所访问的网页并把上网记录存入mysql数据库中MySql数据库的访问抓取一个OICQ包,打印五元组和相应的qq号,并存入mysql数据库中抓取一个OICQ包,打印五元组和相应的qq号,并存入mysql数据库中网络数据包的分析优酷udp数据包特征的分析OICQ数据包的分析电驴udp数据包特征的分析Socket通讯发送单个字符串无阻塞式的客户端与服务器阻塞式客户端与服务器多路复用I/O的客户端与服务器Socket通讯发送结构体Socket通讯和多进程多线程从数据库中取出上网记录(ip,日期,时间,域名)发送给客户端,分别以三种读写方式实现希望我以上的图表能够清晰的表达我这一个多月来的学习和工作的内容。开发工具和开发环境主要的开发工具有:Vm虚拟机,UltraEdit,Excel、Word、Powerpoint,source insight(SI),secureRT(SRT),winscp(WS)等等。对于一个新人,熟悉在linux环境下的编程环境,编程工具的使用,有助于更好更快的融入公司的开发体系中,更好更快掌握linux环境下编程工具的使用,是开发的基础。编程规范学习编程规范是为了提高源程序的质量和可维护性,最终提高软件产品生产力,就很有必要对源程序的编写风格作出统一的规范和约束。所以对编程规范的学习是很有必要的。公司对编程规范包括:代码的排版、注释、标识符命名、变量使用、代码可测性、程序效率、质量保证、代码编译、单元测试、程序版本与维护等。个人体会与总结:我感觉查看资料和书籍,并不是拿着一本书从头看到尾,从第一页看到最后一页,这样效率不是很高,而且很多不是我现在急需掌握的,重点看那些我以前没有接触到的,那些以前我接触过的,现在只需大致看下,浏览下。而对于那些我以前没有接触过的,有晦涩难懂的,看一遍不行,就看两遍,直至看懂为止。例如,在使用Gcc编译器的时候,必须给出一系列必要的调用参数和文件名称。Gcc编译器的调用参数大约有100多个,而对我刚开始学习的我很多是用不到的,所以先掌握基本的参数命令,其他的等到以后用到是时候在加入到自己的知识库。程序实践原始套接字的抓包,连接MySql数据库,socket通讯,这些知识点主要是通过程序实践来学习的,把几个比较经典重要的程序的实现与感悟列在下面。程序实践一:抓取一个http包,打印出所访问的网页并把上网记录存入文件中程序实现过程:首先抓住经过网卡的数据包,首先检测他是不是ip包,如果是剥去包头,然后看是不是tcp包,如果是则检测它的端口是不是80端口。如果是则证明传输的是http协议。然后就可以分析是不是存在“get”字段,是不是存在“host”字段。然后取“host”后面的一个字符串,即我们要得到的主机访问的域名,即上网记录。我所犯的错误:1.创建原始套接字失败:分析原因:刚开始的时候运行程序正常,但是同事覃书芹帮我虚拟机添加了一个虚拟网卡的时候就出现错误了。原因说出来很简单,就是设备名称错误,但是当时我怎么调都调不出来。最后请他们看了下,一下就看出来了。起码让我明白创建套接字的时候要与监听的网卡名称相对应,不然要监听eth1,结果在绑定设备名称的时候绑成了eth0,那就可能出现错误,获得不到效果。2.写文件总是乱码:分析原因:这个问题在我进公司前以前就犯过,那时候是用C+写,改正过来比较快。现在在全字符环境下,改了半天,最后发现,在写的时候直接传了地址,而没有加上所传字符串的长度。导致乱码,加上一个sizeof()以后问题解决。3.浏览部分网页时程序出现段错误:在C环境下,出现段错误是很常见的,但对于我来说见的很少,所以出现这类问题的时候显得还不到哪错了。原因是我在定位域名字段的时候是以 “comrn”结束为标记的。因为很多域名都是以 .com 结尾的,所以就忽略了还有以 “.cn” 或者以 “.net”结尾的域名。我当时就奇怪了,为什么有的网页可以,但是访问有些域名的时候,一点击就出错。当找不到.com的时候就会定位到下一个包,定义到一个不存在的内存区域。所以导致段错误。4.分析的出是tcp包但是分析不出是http包:错误原因:这个错误本来应该是不会出现的,就是我把 usleep(1000),改为了sleep(1),都是停止一秒钟。在while循环里用sleep(1)可以让程序暂停执行一秒钟效果很明显,但是usleep(1000)就不是很明显了。在while循环里用sleep(1)就明显减慢了抓包的速度,所以就出现抓漏了包的情况。把while循环里的sleep(1)改成usleep(1000);就行了。程序感悟:在大二上学期的时候,我曾花了几个月的时间来研究黑客,如痴如醉。有时候抱着黑客书一看就一下午,但是看纯编程的书却不怎么能看进去。最后研究出来的成果却很小。也很失望。但是现在通过一个多星期的研究,自己居然写出一个监控别人上网记录的程序出来。感觉很兴奋,很高兴。程序实践二:写数据库程序描述:把监控上网的记录写入到mysql数据库中。过程及所犯的错误:找不到mysql.h文件:分析原因:Mysql数据库没有装好,装了server没有装client 和mysql-devel。也就是安装了数据库,却没有安装开发包。导致写好的程序不能够编译通过。我写程序花了20分钟,装mysql却装了一下午。编译的时候没加-lmysqlclient_r -L/usr/lib/mysql:经验总结:以后再遇到与mysql相关的程序,在编译的时候都要加上mysql.h的绝对路径。个人感悟:由于以前对数据库的操作比较熟悉,所以这个对于我来数,直接套就行。难点我想就是在linux环境下配置mysql环境。这个比较难。程序实践三:socket通讯程序描述:一个基于流式套接字的客户端与服务器,客户端向服务器端发送一个起,止时间,然后服务器端连接数据库,读取这段时间内内网上网记录,然后返回给客户端。并且基于多路复用I/O模型的一种应用。实现过程:程序有点长,逻辑还有点复杂。整个程序涉及到:select 函数的应用。连接数据库,socket传递结构体。为了彻底领悟下这个程序,我不看资料,凭自己这几天看的资料慢慢的,一点一点的写出来。服务器端程序300多行代码,而且严格按照公司代码规范编写。程序流程:创建套接字循 环发送数据 write()接受数据read()添加监听套接字FD_SET()监听listen()绑定bind()复用端口监视套接字读写状态Select()建立连接accetp()初始化ip和端口关闭监听套接字关闭删除添加的套接字close()FD_CLR()总结:我觉得不可能一次就记住有些繁杂的知识点,我觉得应该首先对着电脑把相关知识点过一道,知道大概有哪些功能或有哪些操作,等到下次再遇到的时候就在巩固,反复几遍后就自然记住了。其次,带着问题去看书,不是拿着书从头看到尾,从头看到尾会浪费很多时间,而且把握不住重点。应该有选择性的看。对以前有过基础的知识点稍微扫一下就行,对于那些复杂的,又必须掌握的,可以多看几遍。对于我在写程序过程中的错误,我列在了下面,我想当我以后在遇到类似的问题的时候,可以借鉴上面的解决方法。写这个报告也让我复习了许多以前学习的知识点。包分析(具体分析优酷加速器产生的udp包)基本思路:抓住具体应用产生的包以后,从以下几个方面分析:l 数据包一般以某些固定的字段开头,或者结尾。l 包的某个地方存储本包的负荷的大小。l 包的某个地方存储着端口号或IP地址信息。等等几个方面。下面是在不同机器上优酷加速器产生的数据包:可以很清楚的看到,优酷加速器产生的数据包的数据部分,第一个字节都是以0x4b,0x55,0x00,0x01,0x04,0x00,0x00,0x08开始。此特征比较明显,再看数据包结尾的部分,没有呈现明显特征。注意:在分析大部分包是优酷加速器产生的时候,尽量关闭其他应用,比如QQ,飞信等其他应用。由于优酷在不停的传输数据到本地,所以首先把目的ip不是本机ip的包给排除掉。这样避免干扰。在确保大部分包是应用X产生的之后,在Wireshark中过滤出一条流进行分析。一条流是指所有源IP地址、源端口、协议、目的IP地址、目的端口相同的数据包。一般情况下,一条流拥有的规律其他流都会有,因此我们可只对其中一条流进行分析,找出规律后再验证其他流是否都有此规律。最后,找出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论