• 美文
  • 文章
  • 散文
  • 日记
  • 诗歌
  • 小说
  • 故事
  • 句子
  • 作文
  • 签名
  • 祝福语
  • 情书
  • 范文
  • 读后感
  • 文学百科
  • 当前位置: 柠檬阅读网 > 散文 > 正文

    一台微型计算机要与局域网连接 [SOCKET编程实现局域网计算机监控管理分析]

    时间:2019-04-11 03:22:11 来源:柠檬阅读网 本文已影响 柠檬阅读网手机站

      摘要:对多线程编程技术、HOOK技术、SOCKET网络通信技术进行应用,并通过VC++6.0的设计和局域网计算机活动的监控的实现,可及时的对局域网计算机的状况和活动进行掌握和了解,以此促使局域网计算机管理的实用和有效。
      关键词:计算机监控;SOCKET技术;多线程编程
      中图分类号:TP393.1 文献标识码:A 文章编号:1007-9599 (2012) 08-0000-02
      随着信息时代的飞速发展,迎来了互联网与局域网的繁盛时期。在社会的各个方面,计算机网络都得到了大的普及和应用,但其给社会带来更多益处的同时又伴随着相应的管理和安全方面的问题。我们常说,互联网是一把双刃剑,在我们获得利益的同时又存在着许多的弊端。为有效的控制人们对互联网的合理应用,逐步出现并应用的局域网计算机活动监控管理软件就为人们对计算机的利用提供了合理的控制和管理,进而避免了非法软件的安装和时间的浪费,使计算机网络呈现出更加绿色健康的网络环境。
      一、线程同步套接字(SOCKET)编程原理
      (一)Windows socket的实现
      TCP/IP的socket提供三种类型套接字:,流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM)和原始式套接字(SOCK_RAM)。流式套接字对传输控制协议进行使用,为用户提供了面向双向、连接的数据流传输服务,此数据并不会出现错误,也没有重复的现象,且能够按照一定的顺序进行接收。其系统内部设置了流量控制,防止了数据流的超限现象;数据作为字节流,并没有长度的限制,可以使数据获得有序的、大批量的传输。数据报式套接字对用户数据报协议进行使用,为用户提供了良好的无连接服务,其以独立的形式对数据包进行发送,但并不提供无错保证,这样数据就会出现重复或者丢失,且不具有有序的接收顺序。原始式套接字接口允许对较低层协议,如IP、ICMP直接访问,常用于检验新的协议实现或访问现有服务中配置的新设备。一般而言,套接字有两种规范:1. Windows sockets规范,其占居的主流地位,是Microsoft依据Berkely Socket规范对windows下的网络编程接口进行的一种开发形式;2.基于UNIX系统的Berkely Socket规范。
      (二)线程同步技术
      对于多线程技术而言,其能够实现系统的并行处理,这样,就不会出现CPU时间被某一任务长时间占用。Win32 SDK函数可以对多线程的程序进行设计,并为用户提供了操作系统原理中的临界区,各种互斥、同步等操作。在VisualC++6.0中,也可对MFC类库进行使用来实现对多线程的程序设计,并进一步促使了编程的便利。线程的恢复、创建、挂起、终结和通信等工作的完成,是Win32对API函数的改善和促进。线程的同步可通过关键代码、事件对象、互斥对象三种方式得到实现。
      (三)钩子技术
      钩子是系统的一种处理消息的程序,通过对系统的调用,将钩子挂入到系统中,在Windows的消息处理的机制中,其可作为一个监视点。当进行钩子的设置时,Windows的消息在传递过程中会出现一定的改变,而窗口的某些消息可以得到钩子函数的监视,其所监视的窗口也可能会是其它进程创建的。一旦消息到达,应用程序就会对特定事件和窗口消息进行截获的处理。此时,钩子函数就可以对该消息进行加工处理,也可不用进行加工处理,仍能够进行该消息的传递此外,还能够对消息的传递进行强制使其结束。钩子链是Win32系统为钩子建立的,一个钩子链可以被视为一个指针列表,它的指针会面向钩子的处理函数,钩子链如同栈的运作方式,在最后对钩子进行加入,并获得控制权。线程的事件不仅能够被HOOK技术拦截下来,Windows系统中的事件也可以被拦截下来。通过钩子的利用,可以对进程发生的事件进行捕捉。Windows的过滤事件和处理事件的回调函数可通过钩挂给出,此种函数也被称之为“钩子函数”。相应的事件一旦发生,该函数口就会受到Windows的调用。
      二、系统的实现
      (一)系统功能的设计
      当服务器的程序开始进行运行时,监听线程就会有所启动,其能够不停的对新的客户端的连接请求进行接收。若客户端所发送的用户合法,那么就会在管理集合中进行新的客户端的添加。此外,服务器端对操作命令进行随时的接收,并对客户端计算机进行有效地操作。当服务器被客户端成功登陆以后,就会对来自服务器的消息进行监听和响应,之后在把结果传输给服务端。成功登陆之后,管理集中会进行服务端的添加,服务端同时也会对心跳包进行发送。而这里的心跳包是在服务器与客户端之间,对对方进行一个命令字的定时通知,在依据给定的时间进行间隔的发送,如同心跳一样,即被称作心跳包。心跳包的使用,可以得知服务器端与客户端的相连状况。
      (二)监控管理的实现
      在计算机系统中,管理员会通过服务器,来监控多个客户端。而这些控制活动的完成都是向客户端发送消息来形成的。其中,每一个模块都包含着一些小的模块,而这些小模块的功能如下:
      1.主线程可对端口进行扫描,并进行子线程的创建,端口的扫描工作由子线程来进行,之后对是否开放的结果进行一个返回。其对线程的并发进行了利用,并伴随临界区、互斥量、信号量等对线程的控制利用。在实际的设计中,会进行多线程的创建,其类别如CPort Scan功能,如果得出的端口经过扫描,发现数量少于线程数,端口数就等于创建的线程数。
      2.在应用程序中,对WH—KEYBOARD Hook进行安装,可起到监视WM—KEYUP和WM—KEYDOWN消息的作用。其中,安装WH—MOUSE Hook监视,可对Peek Message或Get Message函数的鼠标消息进行返回,对Hook监视进行使用,将其输入到鼠标消息中。依据Hook的技术规范,Hook API要写在DLL中,在主程序中,进行Hook函数的调用。
      3.通过Screen2Bitmap和Bmp2Stream两个函数的应用,可实现程序的屏幕抓取。Screen2Bitmap可对屏幕进行截取,并将图片进行保存,之后在返回到位图的旬柄当中;Bmp2Stream可对位图旬柄进行接收,并对这一个位图进行有效的编码,在将其进行拷贝后保存在缓冲区里。在服务器端,程序会通过屏幕的抓取命令对客户端进行图像的截取要求,如尝试失败,就会返回,反之,就会len参数中进行图像数据的传递,之后服务器端来完成图像数据的接收。
      三、结束语
      总而言之,实现局域网计算机活动的监控,是有效地通过Internet技术,在TCP/IP协议的基础之上,对软件结构进行合理的组织,而用户对电脑运行情况的了解则是通过局域网内的监控系统来实现的。其监控系统的客户端主要通过钩子技术、多线程技术、SOCKET技术的应用,在C/S模式中有效地进行计算机的监控。客户端进行信息的收集,并将信息发送给服务端,在完整的呈现给管理人员,整个过程都在监控系统的进行下有序良好的进行,使管理人员在局域网内能够实现正常的管理和监测,进而促使了计算机管理的准确性和高效性。
      参考文献:
      [1]刘海林,陈世欣,龚仕华.基于HOOK技术的计算机监控系统设计与实现[J].广东技术师范学院学报,2008(12):1-3
      [2]杨竹青.基于HOOK技术的实验室软件监控系统研究[J].职业技术学院学报,2009(13):1-3
      [3]李统林,刘天时,基于钩子技术的操作监控系统设计[J].淮阴工学院学报,2008(17):1-4
      [4]韩红章,王波.局域网内计算机活动监控系统的设计与实现[J].电脑知识与技术,2008(4):1

    相关热词搜索: 局域网 监控 编程 计算机

    • 文学百科
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章