windows下如何编程实现对ip的截获(不用控件)(100分)

  • 主题发起人 主题发起人 skyknight
  • 开始时间 开始时间
附加功能 将问题提前
 
如何编写用广播地址侦听?讲讲原理
 
hehe,又讨论这个问题了,看来大家对黑客很感兴趣嘛.
可以查询一下,已经有N个类似问题了.

我们知道以太网是广播式的,就是说每一个IP包都会由总线
经过所有的网卡,但是网卡(工作在物理层和数据链路层)判断出
目的地质(即硬件地质)不是自己就丢弃,不会传导上层,所以一般的
程序是无法截获IP数据的,除非能直接控制网卡,这在UNIX/LINUX下是
可以的(以ROOT身份),但WIN下是无法直接访问硬件.解决方法是通过
编写一个驱动来控制网卡(VXD文件或SYS文件),把网卡社为promiscuous
模式,这样就能截获所有的ip包.但这个驱动程序极为难编,一般通过ddk编写,
所辛这样的驱动现在现成的很多,如vpacket.vxd,packet32.sys等等,提供了
函数接口,通过他可以截包,可以送自己定制的ip包,arp包等等,方便了编写.
大家可以参考ipman的源程序(用vc写,wjiachun大虾用delphi改写过,但不是
很理想).另外win2k的ddk也包含了这样的源程序.

我本打算写一个这样的程序,还有对截获的ip包进行解释,但因时间,最近
无法作.

顺便书一下,这样只是得到了ip包的一个copy,但不能阻止ip包上传到高层,
如果我们不想如此,可能要如wwwsys所说,做一个ip中转,hehe,我不知道这样
是如何做到的,有谁将一下中转的原理.
 
接受答案了.
 
后退
顶部