RSS
热门关键字:  ASP.NET  ASP  ASP.NET文件  html  ASP.NET 漫
当前位置 :| hh85>开发代码>VB>

VB实现入侵监听代码

来源: 作者: 时间:2008-02-18 点击:
我们来看看本程序的基本原理

  入侵者通过Connect本机的端口,然后通过是否成功,来获得信息。由于TCP的三次握手原理。他必定会留下自己的IP,我们就利用这一个原理来获得对方的IP。

  Winsock控件的属性、方法和事件在我上次写的《.用winsock制作漏洞扫描器》一文中已经叙述过,这里就不再介绍。大家还一定记得RemoteHostIP和LocalPort属性吧。这就是对方的IP和自己的端口。聪明的你应该明白了吧。通过这两个属性就可以清楚的获得对方的IP地址和他正在扫描的本地端口。

  因为不可能一个端口只有一个人会扫描,所以本程序我们需要使用到控件数组。这个概念的描述大家可以查找MSDN。本程序的流程是:

  1、 定义需要监听的端口
  2、 装载一定数量的Winsock1控件,从需要监听的端口列表中获得数据。一一开启监听功能。(Listen)
  3、 当某一个控件接收到连接的事件发生,就把得到的RemoteIP和LocalPort加入日志
  4、 加载一个Winsock2,继续捕获数据(Getdata)
  5、 Winsock2数据到达记录数据

  程序的基本概念都介绍完了,相信你对本程序已经有了一定的认识。现在我们就来开始我们的工作:
  程序的控件以及说明如下:

控件名 控件类型 属性
Label1 Label Caption=”增加端口”
Command1 command Caption=”添加”
Command2 command Caption=”监听”
Command3 command Caption=”退出”
Listports Listbox
TxtLog Richtextbox

程序的代码以及说明如下:

‘本程序在VB6.0+Windows2000下测试通过!
Dim tmpstr As String
Dim NOW_OUT As Integer ''总共出去连接的有几个Winsock
Private Sub Command1_Click()
ListPorts.AddItem txtADDPORT.Text
End Sub


Private Sub Command2_Click()
On Error Resume Next
If Command2.Caption = "监听" Then
For i = 0 To ListPorts.ListCount - 1
Load Winsock1(i + 1) ''加载监听端口的winsock1数组控件
Winsock1(i + 1).LocalPort = ListPorts.List(i) ''设定端口
Winsock1(i + 1).Listen ''监听
Next i
Command2.Caption = "停止"
Else
For i = 1 To Winsock1.Count - 1
Unload Winsock1(i)
Next i
For i2 = 1 To Winsock2.Count - 1
Unload Winsock2(i2)
Next i2
Command2.Caption = "监听"
End If
End Sub


Private Sub Command3_Click()
Unload Me
End Sub


Private Sub Form_Load()
txtLOG.Text = "日志:" & vbCrLf
NOW_OUT = 1
End Sub


Private Sub Winsock1_ConnectionRequest(Index As Integer, ByVal requestID As Long)
Load Winsock2(NOW_OUT) ''加载建立连接的Winsock2数组控件
Winsock2(NOW_OUT).Accept requestID ''建立连接
Winsock1(Index).Close
Winsock1(Index).Listen ''Winsock1继续监听
NOW_OUT = NOW_OUT + 1 ''连接的控件累加
myAddLog "来自" & Winsock1(Index).RemoteHostIP & "连接到本地端口:" & Winsock1(Index).LocalPort
''显示捕获的连接
End Sub


Private Sub Winsock2_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Winsock2(Index).GetData tmpstr ''通过Getdata捕获数据
myAddLog "来自" & Winsock2(Index).RemoteHostIP & "的数据:" & tmpstr ''显示捕获的数据
End Sub


Sub myAddLog(tmptext As String) ''加入日志
tmptext = tmptext & vbCrLf
txtLOG.SelStart = Len(txtLOG.Text)
txtLOG.SelText = tmptext
End Sub



  总结:其实一些程序的原理很简单,我们只要善于实践,并且能够把所学的只是运用到你的程序中去,我想编出类似的程序是很简单的。如木马、端口扫描器、客户端工具、CGI漏洞扫描器……。VB的Winsock控件虽说不是底层操作。及不上C语言的Socket编程的功能。但实现普通的操作还是很有用的。简单的例子就是Cookie欺骗,用VB来编写这种程序十分简单。
TAG :VB  
上一篇:没有了
下一篇:VB 实用函数
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
栏目列表