设为主页 | 加入收藏 | 繁體中文

用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来编写这种程序十分简单。
 


    文章作者: 福州军威计算机技术有限公司
    军威网络是福州最专业的电脑维修公司,专业承接福州电脑维修、上门维修、IT外包、企业电脑包年维护、局域网网络布线、网吧承包等相关维修服务。
    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和声明。否则将追究法律责任。

TAG:
评论加载中...
内容:
评论者: 验证码: