【DELPHI设计栏目提醒】:本文主要为网学会员提供“服务监视系统”,希望对需要服务监视系统网友有所帮助,学习一下!
本设计对常用的网络服务端口进行检查,如pop3、smtp、ftp、http、dns、telnet等服务端口,检查各种服务是否在正常工作,为了增强适应性,允许用户自定义服务端口。能同时监视多个服务器和网站,实时反应服务器端口的运行状况,并在主界面上进行显示,能够自定义监视的端口,能够记录历史日志,供系统管理员以后查询带来便利,监视到错误的时候,会自动弹出到最前台,并以声音和警报窗口显示出错误的信息。
本文详细介绍了服务器端口监视系统设计的全过程,通过对相关书籍的阅读和分析,并利用实习的机会搜寻相关信息,总结、归纳出关于服务器端口监视系统的方案。系统的人机对话界面友好,操作简单,比较实用。
关键词:应用编程接口(API),服务端口 ,监视,日志, 网间控制报文协议(ICMP),Winsock,多线程, 服务器端口监视系统
端口在Windows系统中,从1-65535,都属于端口可以定义的范畴。一般来说,某种类型的服务,有一个一般性的端口定义,比如ftp为21端口,http为80端口,telnet为23端口等等。当然我们为了安全性考虑或者管理上的一些考虑等,也可以自定义端口为其它值。比如我们可以把http端口定义为8080。当然,对于同一种类型的服务,同一台机器的每个端口只能提供一种服务。比如:某台服务器上面安装有iis和Apache两种http服务器软件,我们如果要同时启动它们,可以分别定义它们的http端口为80和81。当然80和81端口,不能被其它的程序或服务占用。
1.2 相关名词解释
⑴域:构成部分网络并共享一个通用目录数据库的一组计算机。一个域作为一个单元来管理,并且带有共同的规则和过程。每个域有一个唯一的名称。Active Directory 域是一个由 Windows 网络的管理员定义的计算机的集合。这些计算机共享公用目录数据库、安全策略以及与其他域的安全关系。Active Directory 域提供了对由该域的管理员维护的集中用户帐户和组帐户的访问。Active Directory 林由一个或多个域组成,每个域都可以跨越一个以上的物理位置。DNS 域是 DNS 名称空间中的任意一个树或子树。尽管 DNS 域的名称通常与 Active Directory 域对应,但不要混淆 DNS 域和 Active Directory 域。
⑵传输控制协议/网际协议 (TCP/IP):Internet 上得到广泛使用的一组网络
实际上,程序员要想开发出更灵活、更实用、更具效率的应用程序,必然要涉及到直接使用API函数。虽然类库和控件使应用程序的开发容易得多,但它们只提供Windows的一般功能,对于一些比较复杂和特殊的功能来说,单使用类库和控件是难以实现的,必须直接使用API函数来编写。API函数是构筑整个Windows框架的基石,只有充分理解和利用API函数,才能深入到Windows的内部,充分发挥各种32位平台的强大功能和灵活性,才能成功地扩展和突破类库、控件和可视开发环境的限制。
4.2.2 Win32 API函数简介
Win32 API即为Microsoft 32位平台的应用程序编程接口(Application Programming Interface)。所有在Win32平台上运行的应用程序都可以调用这些函数。
使用Win32 API,应用程序可以充分挖掘Windows 32位操作系统的潜力。Microsoft的所有32位平台都支持统一的API,包括函数、结构、消息、宏及接口。使用Win32 API不但可以开发出在各种平台上都能成功运行的应用程序,而且也可以充分利用每个平台特有的功能和属性。
在具体编程时,程序实现方式的差异依赖于相应平台的底层功能的不同。最显著的差异是某些函数只能在更强大的平台上实现其功能。例如,安全函数只能在Windows NT操作系统下使用;再例如:本文中将要使用的Winsock API函数,也只能在Windows NT操作系统下使用。另外一些主要差别就是系统限制,比如值的范围约束,或函数可管理的项目个数等等。
标准Win32 API函数可以分为以下几类:
窗口管理
窗口通用控制
SHELL特性
图形设备接口
系统服务
国际特性
网络服务
当函数成功调用时返回主机信息;失败时返回NULL(空值)。
(9)HWND GetForegroundWindow(VOID) 该函数的功能是返回前台窗口的句柄。
(10)BOOL PlaySound(
LPCSTR pszSound,
HMODULE hmod,
DWORD fdwSound
);
该函数的功能是播放wav声音文件。函数成功返回真,失败时返回假。
(11)BOOL IsIconic(
HWND hWnd // 窗口的句柄
);
该函数的功能是根据句柄识别有图标的窗口。
(12)HINSTANCE LoadLibrary(
LPCTSTR lpLibFileName // 可执行模块的文件名的地址
);
该函数的功能是装载一个动态链接库文件。(以便调用其中的函数)。
(13)FARPROC GetProcAddress(
HMODULE hModule, // DLL 模块句柄
LPCSTR lpProcName // 函数的名称
);
该函数的功能是返回指定DLL中的指定函数的地址值。
(14)BOOL FreeLibrary(
HMODULE hLibModule // 已载入的DLL模块的句柄
);
该函数的功能是释放DLL模块的内存。
(15)BOOL GetClassInfo(
HINSTANCE hInstance, // 应用程序实例的句柄
LPCTSTR lpClassName, // 类名字符串的地址
LPWNDCLASS lpWndClass // 类数据结构的地址
);
5.3 系统运行与维护
5.3.1 系统的运行
(1)初始监视数据的输入(选项设置)
本系统的输入可以采用鼠标或者键盘。
(2)怎样进入系统
将本系统所在的文件夹拷贝到硬盘,然后执行其中的服务监视系统的主程序文件PortMonitor.exe即可,应注意要将全部文件的属性变以存档,消除只读属性。
在随后出现的系统主界面上分别设置服务器的地址和需要监视的端口,选择其它选项(按照所需),端口监视线程数,通常设置成10-50个为宜,太多了没意义,太少了会影响程序执行效率。本系统可以最多同时监视10个服务端口!
(3)怎样使用本系统
本系统的使用相应简单,基本上只要会使用Windows软件就会使用本系统,在具体的操作时,只需点击鼠标左键和右键即可进行相应功能的选择。
5.3.2 系统的维护
本系统是个较复杂的人-机系统,由于系统外部环境与内部因素的变化,不断影响系统的运行,同时需要系统不断地适应这些变化,不断地完善系统,以提高系统运行的效率与服务水平,这就需要自始至终进行系统的维护工作。
系统的维护主要包括四个方面:
(1)程序的维护:指的是修改部分或全部程序,这种维护往往是在条件发生变化或原系统的效率低的情况下进行的。
(2)数据文件的维护:指的是按照用户的要求对数据文件进行不定期的修改。
(3)代码的维护:随着系统的发展和变化,可能会出现旧代码不能适应新要求的问题,因此,有必要变更代码,予以维护。
(4)硬件的维护:指的是对系统所使用的设备进行维护。
结 论
在张朝贵老师的指导下。本次毕业设计,就要画上一个句号了。可是,对我来说,这次设计的本身所产生的影响,还远远没有结束,我从本次毕业设计中学到了许多课本上没有的知识。从设计任务书的下达到今天基本实现任务书中的设计要求,时间已整整过去了6个月。在这两个月中。通过自己的学习和努力;通过各位老师的指导和教育,使我不仅仅在知识水平和解决实际问题的能力上有了很大的提高。还从思想的深处体会到,要把自己的所学变成现实时所将面对的种种难题。
关于本次设计的命题,我的设计提供其基本的功能,但是以后还可以根据实际需要进行模块扩展和增加。不过,至少它已经启发了自己的思维,提高了我的动手能力,这是我在课本中学不到的。它为我们在以后的工作岗位上发挥自己的才能奠定了坚实的基础。
上一篇:人才管理系统