想在本地机子上当向服务器发送数据包时,象SNIFFER一样截取数据,然后修改目标IP地址。
有没有那位有示例程序呀?或者提供个资料,俺下载去

解决方案 »

  1.   

    用raw socket,愿意怎么改怎么改。
    如果想连MAC都改,就用winpcap
      

  2.   

    raw socket没法改,一定要改的话,就用SPI或者NDIS吧。
      

  3.   

    raw socket可以自己发ip报文,咋没法改?
      

  4.   

    SPI当然也可以。ndis中间层驱动是整帧的,从MAC到IP愿意怎么改怎么改,只是要自己计算检验和。但需要编写驱动。winpcap现成的工具在,PacketSend...函数可以随意发送帧。
      

  5.   

    用raw socket和winpcap都不太好,raw socket和winpcap的确都可以抓包也都可以发包,但它们不能截获原本发出去的数据包,这样子会造成混乱(网络中既有原来发出去的包又有自己修改过后的包)
    所以还是用spi或NDIS更好,它们可以截获原本发出去的数据包
      

  6.   

    具体的看了一下SPI,但是感觉还是需要在NDIS来写。SPI处于会话层,假如要修改源IP地址,经过了传输层到IP协议才行吧。这个只是我的想法。不知道是否可以修改源IP地址和目标IP地址。希望更多的高手帮助我
      

  7.   

    仅仅修改ip地址是没用的,当主机收到一个ip正确但是MAC不正确的包时,就会丢弃掉
      

  8.   

    楼上好,A客户机-》S主机通讯,B客户机-》S主机通讯,假如A客户机-》B客户机通讯,可以把A客户机的源IP地址改成S主机的IP地址,目标地址改成B客户机的IP地址吗?还需要MAC吗?不懂
      

  9.   

    你需要告诉B,S主机的IP对应的是你的MAC地址(不断地发ARP包),才能让B接受
      

  10.   

    具体的看了一下SPI,但是感觉还是需要在NDIS来写。SPI处于会话层,假如要修改源IP地址,经过了传输层到IP协议才行吧。这个只是我的想法。不知道是否可以修改源IP地址和目标IP地址。希望更多的高手帮助我
    ---------------------------------------------
    可以写NDIS中间层驱动。不过这是处在第二层的。 截获并修改传输层协议报文,最佳位置应该是写TDI驱动,我想。这些是开发防火墙的知识,有本电子工业的书《windows防火墙与网络封包截获技术》,上面讲的比较明白,如果需要可以去找来看看。