如何禁止本机发送ARP欺骗包?
我想拦截 NdisSend与NdisSendPackets,可以不知道如何声明这两个函数。
我用DELPHI.解决送200分。

解决方案 »

  1.   

    是禁止发假ARP包,还是禁止发ARP包,禁止发ARP包,拔网卡更直接,禁止发假ARP包,你又凭什么知道这个包是假的,别人会不会通过虚拟网卡,绕过系统TCP/IP发包,禁止ARP用hook我看需求就有问题,多半是吃力不讨好.
      

  2.   

    ARP属于第二层协议
    有些难度,目前的防火墙都还没有做到如何拦截ARP包
      

  3.   

    第一
     NdisSend与NdisSendPackets是NDIS下的函数,在应用层是没有办法拦截的第二
    ARP欺骗应该是其他机子发到你机子上的ARP包,所以拦截 NdisSend与NdisSendPackets是没有什么作用的第三
    正如
    husheng34(随意生活)所说,难分辨真假ARP包最后,如果要防范,做个静态ARP表,一个一个地收集,不过方法都不是很理想
      

  4.   

    呵呵,确实市场不小啦现在这种木马(ARP欺骗)太普遍了
      

  5.   

    局域网内所有机都运行该拦截程序,禁止通过NdisSend与NdisSendPackets发出虚假的ARP包,这样整个网络就正常了。
      

  6.   

    假的 ARP包是可以区分的,他虽然地址伪装过了,但是发出去时以太网上的标志缺不匹配
      

  7.   

    1. 技术上想避免自己发送假的ARP包,也就是拦截NdisSend与NdisSendPackets,可能只有试试NDIS HOOK 技术,也就是直接替换 NDIS 的函数库中的函数地址。微软公开的NDIS Protocal层和中间层应该都不可能拦截。2. 判断自己发出去的ARP包的真假,比较容易,因为知道自己的IP和自己的MAC。但是判断收到的ARP包的真假,好像比较麻烦,应该只有静态ARP邦定。
      

  8.   

    现在ARP欺骗流行,如果要防范,除了静态ARP邦定外,好像没什么好的方法
      

  9.   

    局域网内所有机都运行该拦截程序,禁止通过NdisSend与NdisSendPackets发出虚假的ARP包,这样整个网络就正常了。==========
    如果这样的话,还不如把发送和接收的ARP包给加密了,然后NdisReceive/NdisRecevicePacket的时候再解密出来,这样的话,一般没有装该软件的人就进行不了通讯,另外,普通的ARP包也不能伪造了
      

  10.   

    楼上对 ARP 包加密解密是个好思路不过有个问题,网关也必须要装个这样的软件,否则的话可能会导致上不了网