控制远程计算机的原理及实现注销、关机和重启控制远程计算机的原理及实现注销、关机和重启
控制远程计算机的原理及实现注销、关机和重启 [字体:大 中 小] 控制远程计算机的原理及实现注销、关机和重启
1 引言
远程控制基本原理是主控端与客户端利用套接字(Socket=IP地址+端口号)建立连接后,主控端通过套接字发送远程消息指令,客户端调用对应方法执行操作。
2 客户端侦听模块
无论主控端还是客户端,都需要引用命名空间:System.net,System.IO,System.Net.Sockets,System.Threading。
客户端程序相当于木马。点击...
控制远程计算机的原理及实现注销、关机和重启
控制远程计算机的原理及实现注销、关机和重启 [字体:大 中 小] 控制远程计算机的原理及实现注销、关机和重启
1 引言
远程控制基本原理是主控端与客户端利用套接字(Socket=IP地址+端口号)建立连接后,主控端通过套接字发送远程消息指令,客户端调用对应方法执行操作。
2 客户端侦听模块
无论主控端还是客户端,都需要引用命名空间:System.net,System.IO,System.Net.Sockets,System.Threading。
客户端程序相当于木马。点击隐藏按钮,可显示在托盘中,实际应用中可设置完全隐藏。界面如图1所示。2.1 侦听方法
Sub ListenToServer()
Try
Dim LISTENING As Boolean
Dim localhostAddress As IPAddress=IPAddress.Parse
(ipAddress.ToString)
Dim port As Integer = 8341'端口号
'创建侦听对象,参数:IP地址,端口号
localhostAddress, port) Dim tcpList As New TcpListener(
Try
tcpList.Start()'开始侦听
LISTENING=True
Do While LISTENING
Do While tcpList.Pending = False and LISTENING = True
Thread.Sleep(10) '让出CPU10毫秒
Loop
If Not LISTENING Then Exit Do
'ns通过套接字发送和接收数据
Dim tcpCli As TcpClient=tcpList.AcceptTcpClient()
Dim ns As NetworkStream=tcpCli.GetStream
Dim sr As New StreamReader(ns)
'从主控端获得指令,执行相应动作
Dim recEivedData As String=sr.ReadLine()
'收到关机指令,创建新线程,执行对应操作
If receivedData="###SHUTDOWN###" Then
trShutdown=New Thread(AddressOf shutdown)trShutdown.Start()
End If'重启
If receivedData="###REBOOT###" Then
trReboot=New Thread(AddressOf reboot)trReboot.Start()
End If'注销
If receivedData="###LOGOFF###" Then
trLogOff=New Thread(AddressOf logoff)trLogOff.Start()
End If
Dim returnedData As String="###OK###" '& " From Server"
Dim sw As New StreamWriter(ns)
sw.WriteLine(returnedData)
'Flush()缓冲区数据强行输出
sw.Flush()
sr.Close()
sw.Close()
ns.Close()
tcpCli.Close()
Loop '停止侦听
tcpList.Stop()
Catch ex As Exception'捕获异常及错误
LISTENING = False
End Try
End Sub
2.2 关机方法
Sub shutdown()
Dim t As Single
Dim objWMIService, objComputer As Object
objWMIService= GetObject("Winmgmts:
Shutdown)}") {impersonationLevel=impersonate,(Debug,
For Each objComputer In objWMIService.InstancesOf
("Win32_OperatingSystem")
t=objComputer.Win32Shutdown(8 + 4, 0)
Next
End Sub
重启代码只有一行不同:t=objComputer.Win32Shutdown(2+4,0)。注销代码行:t=objComputer.Win32Shutdown(0,0)。
3 主控端模块
主控端界面如图2所示。程序自动获取本机IP地址,并提供指令选项。输入客户端的IP地址,即可实现远程操作。
, 1
, 2
, 下一页
2,
欢迎浏览更多首页 ? 计算机文 ? 计算机理论
文章 [字体:大 中 小]
定义线程
Dim trSendMessage As Thread
3.1 向客户端发送指令
Sub SendMessage()
Dim host As String = txtClientIP.Text
Dim port As Integer = 8341
Try
Dim tcpCli As New TcpClient(host, port)
Dim ns As NetworkStream = tcpCli.GetStream
'发送数据到客户端
Dim sw As New StreamWriter(ns)
If rbShutdown.Checked = True Then
sw.WriteLine("###SHUTDOWN###")
End If
If rbReboot.Checked = True Then
sw.WriteLine("###REBOOT###")
End If
If rbLogOff.Checked = True Then
sw.WriteLine("###LOGOFF###")
End If
sw.Flush() '收到客户端反馈
Dim sr As New StreamReader(ns)
Dim result As String = sr.ReadLine()
If result = "###OK###" Then
MsgBox("操作完毕~", MsgBoxStyle.Information, "收到指令")
End If
sr.Close()
sw.Close()
ns.Close()
Catch ex As Exception
ex.Message) MsgBox(
End Try
End Sub
3.2 确定按钮的代码
If rbNothing.Checked = False Then
trSendMessage = New Thread(AddressOf SendMessage)
trSendMessage.Start()
End If
4 结束语
根据木马远程控制原理,实现了控制远程计算机的操作。其他功能,如抓屏、发送邮件、传输文件等,都可以根据此原理实现。如果增加自动获取网上邻居的IP地址,延时执行、放弃操作等,功能将进一步完善。
, 上一页
, 1
, 2
1,
欢迎浏览更多首页 ? 计算机文 ? 计算机理论论文文章
本文档为【控制远程计算机的原理及实现注销、关机和重启】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。