第十章 守护进程计算机网络安全.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十章 守护进程计算机网络安全

守护进程(1) 一般服务程序所遵循的通用模式 创建一个套接口(socket) 绑定端口和地址(bind) 使套接口处于监听状态,监视客户的连接请求(listen) 接受客户的请求(accept) 守护进程 守护进程是一种在后台运行的进程,独立于所有终端 网络服务器一般都采用这种方式运行,如Web服务器、FTP服务器、邮件服务器等。 守护进程(2) 守护进程的特点 当系统初始化时,它们被一次性启动。 它们启动后一直运行着,直至系统关闭。 大部分时间等待某一事件的发生,事件发生时它们便处理这些事件。 往往调用其他进程处理各种请求。 守护进程(3) 守护进程的几种启动方式 系统初启时,由初始化文件/etc/rc启动(如某些服务进程),这样启动的守护进程具有超级用户权限 由crontab周期性地启动(/etc/cron.allow与/etc/cron.deny) 由命令at在某一指定的时间运行(只执行一次) (/etc/at.allow与/etc/at.deny) 从终端上启动,这种方式的守护进程与终端相连,编写程序时,要处理好与终端、与同一终端相关的其他进程之间的关系 守护进程(4) xinetd守护进程 在redhat linux7.0中,用xinetd来启动一些守护进程 UNIX系统以client/server方式提供多种服务,如ftpd、telnetd、httpd等服务(以d结尾,意为daemon),这些进程事先启动服务进程,以便随时处理来自本地或远程的服务请求.但这些服务进程始终运行着,占用太多的系统资源,而且可能有些服务进程很少使用. 从文件/etc/services查找服务所使用的端口号,并bind() echo 7/tcp ftp 21/tcp telnet 23/tcp 守护进程(5) 几点说明 /sbin/chkconfig --list查看启动进程 chkconfig [--level 运行级] 名字 on|off|reset 启动或停止服务,如: # chkconfig --level 2 crond off 还可直接用: /etc/rc.d/init.d/httpd stop|start|restart 关于运行级:0、5关机;1、s或S单用户;2、3或4多用户;6重新启动 用户自己编写守护进程时,不必使用socket()、bind()、listen()、accept()等系统调用,而是根据/etc/xinetd.conf登记的目录中的文件完成相应的工作 守护进程(6) xinetd守护进程 实例: 守护程序 inetdserv.cpp 客户程序 inetdcli.cpp 配置文件 inetdserv (root用户建立) 守护进程(7) inetdserv守护进程实现步骤 配置文件为/etc/xinetd.conf,其最后一行 “includedir /etc/xinetd.d”,说明了xinetd的配置文件在/etc/xinetd.d/目录中 已经编译好守护程序inetdserv(见inetdserv.cpp)拷贝到/tmp目录下 以root的身份在/etc/xinetd.d/目录中编辑配置文件inetdserv(见下页) 修改文件/etc/services,添加一行:inetdserv 9099/tcp /etc/rc.d/init.d/xinetd restart 守护进程(8) # default: on # description: The proftpd server serves proftpd sessions; service inetdserv { disable = no port = 9099 socket_type = stream protocol = tcp user = root server = /tmp/inetdserv wait = no } 守护进程(9) 客户请求 ./inetdcli 9 注意:将/etc/xinetd.d中daytime服务启动 $telnet 9 13 $telnet 9 9099 守护进程(10) 几个时间函数的用法 #include time.h time():获得当前时间戳 localtime():将time_t类型的日期/时间转换为ASCII码 strftime():格式化日期/时间 %a 缩写星期名 %A星期全名 %b 缩写月份名 %B月份全名 %C两位数字世纪(year/100) %Y 四位数字年 %d 日(01~31) %D mm/dd/yy或dd/mm/yy(少用) %H 小时(00~23) %M 分(00~59)

文档评论(0)

ldj215323 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档