ImageVerifierCode 换一换
格式:PPT , 页数:19 ,大小:650KB ,
资源ID:3660486      下载积分:20 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-3660486.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Visual C++网络编程技术-08.ppt)为本站会员(dreamzhangning)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

Visual C++网络编程技术-08.ppt

1、,远程关机和开机,授课教师:,网络编程,导入,在局域网管理软件中,一个最常用的功能就是远程关机和开机功能。一个管理员通常管理几十台电脑,当需要开机或关机时,如果一台一台的操作就太麻烦了,因此通常机房管理软件中都配备了远程开机或关机的功能,管理员只需在一台计算机上操作,就可以控制所有计算机开机、关机或者重启。本章,我们就来介绍一下怎样用C+编程实现远程关机和远程唤醒计算机的功能。,本章要点,远程关机shutdown 用木马程序实现远程关机 远程唤醒计算机,远程关机shutdown,shutdown命令 在Windows XP中,新增了一条命令行工具“shutdown”,其作用是“关闭或重新启动本

2、地或远程计算机”。利用它,我们不但可以关闭或重新启动计算机,还可以实现定时关机、远程关机。 例如,在30秒内关闭计算机名为RANRAN的机器命令是: shutdown s m RANRAN -t 30,为什么出现“拒绝访问”的情况?,要在客户计算机(被远程关闭的计算机)中赋予guest用户远程关机的权限。可利用Windows “组策略”或“管理工具”中的“本地安全策略”来实现。,代码详解InitiateSystemShutdown(),实现关闭或重启计算机的功能。如果函数调用成功,则返回值为TRUE;否则,返回值为FALSE。 BOOL InitiateSystemShutdown(LPTST

3、R lpMachineName,LPTSTR lpMessage,DWORD dwTimeout,BOOL bForceAppsClosed,BOOL bRebootAfterShutdown ); 参数lpMachineName:指定以MULL终止的用来指定要关机的网络名称的字符串。如果为NULL,则该函数关掉本地计算机。 参数lpMessage:指向一个要显示在关机对话框中的消息的字符串。 参数 dwTimeout:指定对话框应该显示的延迟时间(按秒计)。 参数bForceAppsClosed:指定对变化未做保存的应用程序是否被强制关闭。如果这个参数为TRUE,则应用程序被关闭。如果参数为

4、FALSE,则显示一个对话框以提示用户关闭这些应用程序。 参数bRebootAfterShutdown:指定计算机关机之后是否立即重启。如果参数为TRUE,则计算机重启。如果参数为FALSE,则系统将所有高速缓存刷新到磁盘上,清除屏幕,并且显示一条消息,指示关掉电源是安全的。,设置进程访问权限,调用InitiateSystemShutdown()函数关闭远程计算机需要先获得SE_SHUTDOWN_ NAME权限。涉及到的函数: OpenProcessToken() LookupPrivilegevalue() AdjustTokenPrivileges(),代码详解OpenProcessTok

5、en()函数,此函数可以得到当前进程的访问令牌的句柄 BOOL OpenProcessToken(HANDLE ProcessHandle,DWORD DesiredAccess,PHANDLE TokenHandle ); 参数ProcessHandle:是要修改访问权限的进程句柄; 参数DesiredAccess:指定要进行的操作类型,如要修改令牌,需要指定本参数为TOKEN_ADJUST_PRIVILEGES。 参数TokenHandle:是返回的访问令牌指针;,代码详解AdjustTokenPrivileges()函数,调用此函数可以对这个访问令牌进行修改 BOOL AdjustTok

6、enPrivileges(HANDLE TokenHandle,BOOL DisableAllPrivileges,PTOKEN_PRIVILEGES NewState, DWORD BufferLength,PTOKEN_PRIVILEGES PreviousState,PDWORD ReturnLength ); 参数TokenHandle:是访问令牌的句柄。 参数DisableAllPrivileges:决定是进行权限修改还是除能(Disable)所有权限。 参数NewState:指明要修改的权限 参数BufferLength:是结构PreviousState的长度。 参数Previou

7、sState:存放修改前的访问权限的信息,可空。 参数ReturnLength:为实际PreviousState结构返回的大小。,代码详解 LookupPrivilegevalue()函数,获得一个权限对应的LUID值 BOOL LookupPrivilegevalue(LPCTSTR lpSystemName, LPCTSTR lpName, PLUID lpLuid ); 参数lpSystemName:是系统的名称,如果是本地系统只要指明为NULL。 参数lpName:是指明了权限的名称 参数lpLuid:是返回LUID的指针。,远程关机木马,一个简单的木马程序分为两个部分,一个是控制端程

8、序,一个是木马程序。 木马程序接到控制端发来的关机命令,在本机执行关机动作,就实现了远程关机,代码详解ExitWindowEx()函数,ExitWindowsEx函数可以用来关闭系统 BOOL ExitWindowEx(UINT uFlags, DWORD dwReserved); 参数uFlags:用来指定关闭的类型,它的值有以下几种: EWX_FORCE:强制结束程序,可以在紧急情况下使用该类型,但可能会导致数据丢失。 EWX_LOGOFF:关闭所有进程,然后退出用户登陆。类似windows下的注销先项。 EWX_POWEROFF:关闭系统并关闭计算电源。 EWX_REBOOT:关闭计算机

9、并重新启动计算机。 EWX_SHUTDOWN:安全的关闭计算机。 参数dwReserved:为将来开发保留的数值,设为0即可。,代码详解获取操作系统版本信息,OSVERSIONINFO OsInfo; OsInfo.dwOSVersionInfoSize=sizeof(OSVERSIONINFO); GetVersionEx( OsInfo中就存放着系统版本的信息,远程唤醒,远程唤醒,主要是通过向目标主机发送特殊格式的数据包(俗称魔术包)来实现的。 计算机关闭的时候,网卡可以仍然处于打开状态,并准备接收消息,也就是魔术包(Magic Packet)。 网卡一旦接收到魔术包,就会试图启动计算机。

10、 魔术包必须包含特定的字节顺序,它能够封装在任何封包(IPx、IP或者其他)中。 此功能依赖于硬件性能。,支持远程唤醒功能的硬件条件,主板和网卡必须都支持远程唤醒功能(目前一般的主板都支持这个功能)需要在CMOS中作相应的设置。要将CMOS设置中的“Power Management Setup”的“Wake Up On LAN”或“Resume by LAN”项设置为“Enable”或“On”必须要使用ATX电源。,程序界面,要想使用远程唤醒功能,首先必须知道要唤醒机器的MAC (Medium Access Control)地址,MAC地址由用户输入。,魔术包的结构,6字节的头部。这个头部仅是6字节的Oxff。 16X6字节数据。要产生这些数据,必须重复远程计算机的MAC地址16次,课堂练习题,在Windows XP中,新增了一条命令行工具,其作用是“关闭或重新启动本地或远程计算机”,这条命令行工具是 。 要修改一个进程的访问令牌,首先要获得进程访问令牌的句柄,这可以通过 函数得到。 要想使用远程唤醒功能,首先必须知道要唤醒机器的 。 远程唤醒需要向LAN中发送一个特定的封包,以便远程计算机能够接收到它,并且启动,该封包称为 。,Thank You !,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报