书名:super红客

vb入侵监听

    上网的时候很容易遭到探测,一般探测你个人的入侵者技术不会高明到哪里去。所以根本不能称上黑客,所以本文就用入侵者来代替。他们对普通网民的扫描可以是多端口单ip的扫描或者多ip单端口扫描。前者是通过一些ip工具来取得你的ip,然后尝试利用端口扫描获取你的信息,看你的计算机有没有预先中了木马。然后通过网上的木马端口列表,来获得木马名称。用相应的客户端软件来连接到你的计算机。从而获得密码、以及你的秘密信息。后者则是通过利用如supers等可以大范围扫描ip的软件,扫描打开特定端口的机器。比如,可以扫描打开7626端口的机器,看对方是否中了冰河。然后,入侵者就用客户端连接到服务器从而入侵你的计算机。

    这些扫描是简单的tcp的ect扫描。所以无法避开防火墙的追踪。网民就可以利用天网等防火墙软件来获取对方的ip。相信很多diy迷或者编程爱好者总是想拥有属于自己的类似的工具。本文就给你讲述如何用vb来获得探测你的入侵者的ip地址,然后……我可没有教你用蓝屏炸弹或者蜗牛炸弹去炸它哦。毕竟,我们没有入侵者的野心,本程序还可以让你监听80端口,来察看对方对你进行的常规扫描。要看懂本文,你需要有一定的vb基础。

    好了,废话少说,我们来看看本程序的基本原理:

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

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

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

    1、定义需要监听的端口

    2、装载一定数量的insock1控件,从需要监听的端口列表中获得数据。一一开启监听功能。(listen)

    3、当某一个控件接收到连接的事件发生,就把得到的remoteip和localport加入日志

    4、加载一个insock2,继续捕获数据(getdata)

    5、insock2数据到达记录数据

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

    程序的控件以及说明如下:

    控件名控件类型属性

    label1labelcaption=”增加端口”

    mand1mandcaption=”添加”

    mand2mandcaption=”监听”

    mand3mandcaption=”退出”

    listportslistbox无

    txtlogrichtextbox无

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

    ‘本程序在vb6.0+indos2000下测试通过!

    dimtmpstrstring

    dimno_outinteger总共出去连接的有几个insock

    privatesubmand1_clic

    endsub

    privatesubmand2_click

    errorresumenex=“监听“then

    fori=-1

    loadinsock1(i+1)加载监听端口的insock1数组控件

    insock1(i+1).localport=(i)设定端口

    insock1(i+1).listen监听

    =“停止“

    else

    fori=-1

    unloadinsock1(i)

    i

    for=-1

    unloadinsock2(i2)

    i=“监听“

    end

    endsub

    privatesubmand3_click

    unload

    endsub

    privatesubform_loa=“日志:“&vbcrlf

    no_out=1

    endsub

    privatesubinsock1_erequest(ieger,byvalrequestidlong)

    loadinsoo_out)加载建立连接的insock2数组控件

    insoo_out).acceptrequestid建立连接

    insock1(index).close

    insock1(index).listeninsock1继续监听

    no_out=no_out+1连接的控件累加

    myaddlog“来自“&insock1(index).remotehostip&“连接到本地端口:“&insock1(index).localport

    显示捕获的连接

    endsub

    privatesubinsock2_dataarrival(ieger,byvalbytestotallong)

    insock2(index).getdatatmpstr通过getdata捕获数据

    myaddlog“来自“&insock2(index).remotehostip&“的数据:“&tmpstr显示捕获的数据

    endsub

    submyaddlog(tmptextstring)加入日志

    tmptext=tmptext&vbcrl=len()

    =tmptext

    endsub

    总结:其实一些程序的原理很简单,我们只要善于实践,并且能够把所学的只是运用到你的程序中去,我想编出类似的程序是很简单的。如木马、端口扫描器、客户端工具、cgi漏洞扫描器……。vb的insock控件虽说不是底层操作。及不上c语言的socket编程的功能。但实现普通的操作还是很有用的。简单的例子就是cookie欺骗,用vb来编写这种程序十分简单。

    </p>