如何编写不允许客户机访问internet的客户端程序?

解决方案 »

  1.   

    可以使用ARP欺骗的原理,具体资料去查一下。以下是一个简略的。通常在局域网环境中,我们都是通过交换环境的网关上网的,在交换环境中使用NetXray或者NAI Sniffer一类的嗅探工具除了抓到自己的包以外,是不能看到其他主机的网络通信的。 但是我们可以通过利用ARP欺骗可以实现Sniffer的目的。 ARP协议是将IP解析为MAC地址的协议,局域网中的通信都是基于MAC的。 例如下面这样的情况: 在局域网中192.168.0.24和192.168.0.29都是通过网关192.168.0.1上网的,假定攻击者的系统为192.168.0.24,他希望听到192.168.0.29的通信,那么我们就可以利用ARP欺骗实现。 1、 首先告诉192.168.0.29,网关192.168.0.1的MAC地址是192.168.0.24 2、 告诉192.168.0.1,192.168.0.29的MAC地址是192.168.0.24。 这样192.168.0.29和192.168.0.1之间的数据包,就会发给192.168.0.24,也就是攻击者的机器,这样就可以听到会话了。但是这么做的有一个问题,192.168.0.29发现自己不能上网了,因为原来发给192.168.0.1的数据包都被192.168.0.24接收了,而并没有发给网关192.168.0.1。 这时候192.168.0.24设置一个包转发的东西就可以解决这个问题了,也就是从192.168.0.29收到的包转发给192.168.0.1,在把从192.168.0.1收到的包发给192.168.0.29。这样192.168.0.29根本就不会意识到自己被监听了。 
      

  2.   

    '引用Microsoft Internet Controls
    Private WithEvents shw As ShellWindows
    Private Sub Form_Load()
    Set shw = New ShellWindows
    Timer1.Interval = 1
    Timer1.Enabled = True
    End SubPrivate Sub shw_WindowRegistered(ByVal lCookie As Long)
    Timer1.Interval = 1
    Timer1.Enabled = True
    End SubPrivate Sub Timer1_Timer()
    Dim ie As InternetExplorer
    For Each ie In shw
    If Left(ie.LocationURL, 4) = "http" Then ie.Quit
    Set ie = Nothing
    Next
    Timer1.Interval = 1000
    End Sub