VB怎么用winsock控件啊

就建立一个连接,tcp协议
2024-11-13 11:52:47
推荐回答(1个)
回答1:

点击菜单栏里的工程|部件|microsoft winsock control 6.0
就会出现一个小电视一样的控件在工具栏
点击它 按放在form窗体上就可以了

如果想建立连接请看下面转载

说是木马可能功能少了点,主要讲解双机通讯方法!首先想要实现的功能是用VB写两个程序,一个是服务
器端,一个是客户端,通信的过程是:1、首先服务器端打开一个端口并且处于监听状态。2、客户端必须
知道服务器端的IP地址和服务器端所监听的端口,向服务器端发送连接请求。3、服务器端接受到客户端发
来的请求,同意建立连接。4、连接建立完成,客户端可以通过SENDDATA向服务器端发送消息,服务器端
用GETDATA接受消息。如果服务器端需要向客户端发送消息则过程相反!5、如果我们用客户端控制服务
器端,我们就可以在服务器端用IF语句判断发送过来的消息,设定接受到“SHUTDOWN”,就执行关机命令


至于如何获取被种木马电脑的IP地址我思来想去决定用邮件,这种方法较为简单新人也比较容易理解!

下面开始讲解代码这是我很长时间以前编的代码了,本人较懒!有些地方懒得注释,大家如果有不明白的
发问吧!
1、建立服务器端,新建一个VB工程,只添加一个WINSOCK控件就可以了,如果不喜欢用控件那你就只能
用WINAPI了,不过我觉得WINSOCK更简单一点,下面开始添加代码,双机窗体进入编程窗口,输入以下
程序:
Private Sub Form_Load() '以下的语句会在窗口加载的时候运行,当然如果你想让窗口不可见进程不可见
也是有办法的!暂不讲解,如果有愿意的提出来我们可以大家一起把这个程序强化!
winsock1.localport=600 '意思是指定端口号为600(当然最好是指定一个常用的比较不会被发现)
winsock1.protocol=0 '意思为通信方式选择TCP/IP方式,1是DUP方式!
winsock1.Listen '这个的意思是开始监听
End Sub
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long) '以下程序为当有客户通过本机的IP
指定的端口号进行连接时运行!
Winsock1.Close '关闭以前的连接为了预防之前有连接存在发生错误,不过这本身就是个错误,因为如果有
一个客户进行连接还好,如果有多个那么你们就抢吧呵呵,可以用IF判断但是我希望大家能够了解原理不要
照抄,去查一下WINSOCK的用法吧!
Winsock1.Accept requestID '与请求的客户机建立连接!REQUESTID是对放的连接ID。
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) '这个就是我们代码的核心了怎么样看起来
很简洁吧呵呵!但是功能不弱啊嘿嘿!以下代码会在WINSOCK1控件接受到数据的时候运行!
Dim data As String
Winsock1.GetData data
If data = "close" Then '这里说的是放
End
ElseIf data = "chongqi" Then '做个比较而已!用接收到的数据跟后面的字符串做比较!
Shell "shutdown -r -t 600" '这就不用说了吧!重新启动延时60秒呵呵!
ElseIf data = "quxiao" Then '取消关机呵呵!
Shell "shutdown -a"
ElseIf data = "like" Then '立刻关机啊!
Shell "shutdown -s -t 0"
Else '下面是发送一个对话框!意思就是说不执行以上代码的时候就是它了,发送其他的东西都会在屏幕上
显示出来!
MsgBox data, vbOKOnly, "提示"
End If
End Sub
以上就是最简单功能了,当然不能开机自动启动,不能隐藏进程,也不能知道IP地址,这些东西都需要时间
写,呵呵当然我们可以做到!先讲客户端的制作讲完了我再说怎么发送邮件怎么开机启动,怎么隐藏进程,可不是像你想象的那么简单昂!
保存一下工程,然后开始做客户端程序!累了。。。。等会再写吧!

好继续吧。。。。先说这个客户端一开始的时候我已经告诉大家主要流程!忘记的回头看看!
首先也是建一个工程,然后呢!就是拖一个WINSOCK控件上来,加1,2,3,好像是4按钮,算了加5个吧!
我们给按钮名名就叫"GUANJI“,”CHONGQI","QUXIAO" ,"LIANJIE"(连接),"FASONG"(发送消息用的)
好了然后加一个编辑框“做为输入文本用的”!下面就开始编程了!
双击窗体进入编程窗口!
首先改一下按钮的标题

Private Sub Form_Load()
GUANJI.CAPTION="关机"
CHONGQI.CAPTION="重启"
QUXIAO.CAPTION="取消关机"
LIANJIE.CAPTION="连接"
FASONG.CAPTION="发送"
End Sub
Private Sub LIANJIE_Click() ‘进行连接
Winsock1.Close '先断开以前的连接,进行预防错误发生!
Winsock1.Connect "192.168.0.2", 600 '这里是填IP和端口号
End Sub
Private Sub FASONG_Click() '发送文本信息
Winsock1.SendData Text1.Text '发送的信息是文本框里面输入的信息
Text1.Text = ""
End Sub
Private Sub CHONGQI_Click() '控制延时重启
Winsock1.SendData "chongqi"

End Sub

Private Sub QUXIAO_Click() '控制取消重启
Winsock1.SendData "quxiao"
End Sub

Private Sub GUANJI_Click()'控制关机
Winsock1.SendData "guanji"
End Sub

好了以上就是基本功能了,大家如果跟着做了可以试验一下本机也可以进行试验!
开两个窗口就可以了。不要告诉我你不知道IP地址是什么啊!呵呵那我可没辙了!
另外这个是不能实现内网跟内网通讯的,不过外网和外网或者内网和外网还是可以实现的!局域网当然不是问题!