您的位置:首页资讯网络应用 → 用VB编写入侵监听程序

用VB编写入侵监听程序

时间:2004/10/8 16:34:00来源:本站整理作者:蓝点我要评论(0)

    





用VB编写入侵监听程序
上网的时候很容易遭到探测,一般探测你个人的入侵者技术不会高明到哪里去。所以根本不能称上黑客,所以本文就用入侵者来代替。他们对普通网民的扫描可以是多端口单IP的扫描或者多IP单端口扫描。前者是通过一些IP工具来取得你的IP,然后尝试利用端口扫描获取你的信息,看你的计算机有没有预先中了木马。然后通过网上的木马端口列表,来获得木马名称。用相应的客户端软件来连接到你的计算机。从而获得密码、以及你的秘密信息。后者则是通过利用如SuperScan等可以大范围扫描IP的软件,扫描打开特定端口的机器。比如,可以扫描打开7626端口的机器,看对方是否中了冰河。然后,入侵者就用客户端连接到服务器从而入侵你的计算机。
这些扫描是简单的TCP的Connect扫描。所以无法避开防火墙的追踪。网民就可以利用天网等防火墙软件来获取对方的IP。相信很多DIY迷或者编程爱好者总是想拥有属于自己的类似的工具。本文就给你讲述如何用VB来获得探测你的入侵者的IP地址,然后……我可没有教你用蓝屏炸弹或者蜗牛炸弹去炸它哦。毕竟,我们没有入侵者的野心,本程序还可以让你监听80端口,来察看对方对你进行的常规扫描。要看懂本文,你需要有一定的VB基础。
好了,废话少说,我们来看看本程序的基本原理:
入侵者通过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来编写这种程序十分简单。

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 360免费wifi电脑版怎么有道云笔记怎么保存网有道云笔记内容丢失怎360免费wifi一直显示正

最新文章 微博热搜宝盒是什么 微最新微信编辑器哪个好 百度网盘安全吗?百度网盘信息泄露怎么回事乐视云盘关闭怎么办 乐视云盘关闭怎么转移文百度云盘下载速度慢解决方法2017 百度云盘下百度网盘怎么用迅雷下载2017 百度网盘怎么用

人气排行 无线网络密码破解WPA/WPA2教程(包教包会)微信编辑器哪个好 3种实用微信编辑器推荐foxmail邮件存储位置在哪 foxmail7.2邮件存p2p种子搜索器用不了解决办法360免费wifi没有无线网卡怎么办百度云网盘中怎么添加好友 百度云网盘添加微信电脑版聊天记录保存在哪 微信电脑版文件360云盘上传速度慢怎么办 360云盘上传速度慢