如题,用delphi语言设计一个公司局域网的监控系统,可以实现一台主机控制整个公司局域网,限制聊天工具(QQ和MSN)的使用和下载工具的使用(迅雷、BT)。我现在的设想是监控可以用winPcap实现,一台主机控制整个局域网用ARP欺骗技术实现。请各个高手能不吝赐教。我邮箱[email protected] ,QQ576681554.

解决方案 »

  1.   

    20分求一个完整程序加源码?程序员和程序就这么不值钱么……
    给你个思路,Winpcap可行,网上有专为Delphi设计的头文件,不过如果局域网有人绑定了ARP或者有防火墙,那也没戏了
      

  2.   

    ARP欺骗不是正常行为。可以轻易防欺骗的。
    你需要的这些功能,用同步专家网吧版就可以了。免费的软件。
      

  3.   

    楼主:你分数给的这么少``` 那我就给你个 arp攻击里面的一个函数吧  不是我小气 是等价对比      arp 里面获取 局域网 机子的mac地址(网卡地址) 函数
          
          winPcap 里面有个  iphlpapi.dll 动态连接库   没有网站上自己下个      我是新建个unit2  把要调用动态连接库的函数都写到这里  放在FROM上  麻烦 而且代码很难看       Function SendARP(ipaddr:ulong;temp:dword;ulmacaddr:pointer;
         ulmacaddrleng:pointer) : DWord;stdcall; far  external 'Iphlpapi.dll' ;//获取MAC 函数
         在from 窗体上引用 use  unit2,WinSock;
         Function GetMac(IPADD:string):string;//根据IP地址 获取MAC地址(不要告诉我连网卡地址都不懂)
          var
            Curip:ulong;
            CurMac:array[0..5] of byte;
            CurMaclength:ulong;
            ErrNo:integer;
         begin
           Curip := inet_addr(PChar(IPADD));
           CurMaclength := length(CurMac);
           ErrNo := sendarp(Curip,0,@CurMac,@CurMaclength);//获取的主机MAC函数 在动态连接库上的方法
           if  ErrNo = 0 then 
            result := format('%2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x',[CurMac[0],CurMac[1],
            CurMac[2],CurMac[3],CurMac[4],CurMac[5]])//格式话 主机的MAC地址
           else  result := '我日主机没开机或者网络不通';
        end;  
               
      

  4.   

    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs,WinSock, StdCtrls,unit2, Grids, ValEdit, ExtCtrls, ComCtrls;
    From单元的引用  我已经测试过了 可以用   
      
      

  5.   

    给你个思路:
    1、网络行为的识别:
    可以用winpcap进行包捕获、解包、分析IM(qq/msn等)、p2p(迅雷/BT等)包特征进行匹配,识别到的进一步处理。2、对识别到的包,给回应一个tcpreset、或其他的icmp网络不可达报文达到阻断效果,或直接禁用不需要的应用端口。
      

  6.   

    谢谢wade520,大家都不容易,7楼的朋友至于冷嘲热讽吗?
      

  7.   

    很多呀,http://www.jcb168.com.cn
    http://www.jcb168.com