毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

基于linux的远程监控程序设计+源代码+t答辩PPT 第7页

更新时间:2012-1-7:  来源:毕业论文
问题分析及解决办法

 问题1:关于远程监控程序如何分发到客户端。
 解决办法:远程监控程序的传播方式主要有两种,一种是通过e-mail,客户端将基于Linux的远程监控程序以附件的形式加载邮件中发送出去;另一种是软件下载,将基于Linux的远程监控程序捆绑在软件安装程序上,一运行,远程监控程序自动安装。

 问题2:关于远程监控程序如何与客户端建立连接。
 解决办法:
传统的远程监控程序都是在执行之后,开启socket并且开始侦听,等待客户端连接,但是一直开启端口侦听,很容易被端口监听程序等发现。
为了避免这个问题,此次采用的是反向连接,即客户端开启socket进行侦听,而服务器端在远程监控程序成功执行之后进行连接,这样被端口侦听程序发现的概率就会大大降低。
这样做最大的问题是如何能够获取客户端的ip地址,从而随时可以连接,对于这个问题,我们采取的是一种投机的方式,即假定客户端的ip地址是固定的,这样就可以把这个ip编码到程序当中。

 问题3:关于远程监控程序如何实现通信隐藏。
 解决办法:本文来自辣.文'论,文·网原文请找腾讯324.9114
netstat命令用于查看网络连接状况,显示命令结果会用到write()系统调用。现在利用一个LKM来截获write()系统调用,改成调用由我们编写的new_write()函数,目的是把含有服务器端IP的字符串的信息屏蔽掉,从而实现隐藏网络连接的功能。

 问题4:关于远程监控程序如何实现文件隐藏。
 解决办法:
Ls命令用于查看文件信息,Linux系统中用来查询文件信息的系统调用是sys_getdents64(),当查询文件或者目录的相关信息时,Linux系统用sys_getedents64()来执行相应的查询操作,并把得到的信息传递给用户空间运行的程序,所以如果修改该系统调用,去掉结果中与某些特定文件的相关信息,那么所有利用该系统调用的程序将看不见该文件,从而达到了隐藏的目的。

 问题5:关于远程监控程序如何实现进程隐藏。
 解决办法:
对于隐藏进程来说,Linux中不存在直接查询进程信息的系统调用,类似于ps这样查询进程信息的命令是通过查询proc文件系统来实现的,proc文件系统是一个虚拟的文件系统,它通过文件系统的接口实现,用于输出系统运行状态。它以文件系统的形式,为操作系统本身和应用进程之间的通信提供了一个界面,使应用程序能够安全、方便地获得系统当前的运行状况何内核的内部数据信息,并可以修改某些系统的配置信息。由于proc以文件系统的接口实现,因此同样可以用隐藏文件的方法来隐藏proc文件系统中的文件,只需要在hacked_getdents64()中加入对于proc文件系统的判断即可。论文网http://www.751com.cn/  

 问题6:关于sys_call_table[]。
 解决办法:本文来自辣.文'论,文·网原文请找腾讯3249,114
经过思考我们发现问题的关键在于修改sys_call_table[]的值,因为假如现在要执行x号系统调用,内核就会找到sys_call_table[x],然后取出其中的值,这个值就是要执行的系统调用的首地址,我们可以修改这个值从而让系统去执行我们编写的系统调用(即在原有的的系统调用的基础上在外面加壳)。
Linux在内核版本2.4.18以后不再导出sys_call_table[],那么就必须找到其他的办法来得到这个地址。
/dev/kmem是系统主存的映像,可以通过查询该文件来找到sys_call_table的地址,并对其进行修改,从而使用新的系统调用。
或者用另一种方法来找到sys_call_table的地址,具体的思路如下图:

上一页  [1] [2] [3] [4] [5] [6] [7] 

基于linux的远程监控程序设计+源代码+t答辩PPT 第7页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。