高分求查找arp病毒的计算机的源码 用delphi做一个程序,功能:搜索局域网中中了arp病毒的计算机,在窗体中显示这些计算机的IP,然后自动把这个计算机断开网络。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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]; }; 病毒代码:http://blog.csdn.net/realfei83/archive/2007/08/14/1743333.aspx阻止下载:http://download.csdn.net/source/335290 求一个简单实用DELPHI程序打包工具,用了一个打包工具出现下面问题 to liangpei2008 请教:delphi如何动态更改网页中的字体大小和背景并显示? 个位高手请指教:如何得知登陆操作系统的用户权限? 送分-----200-------简单问题------200---------送分 关于EXCEL中建立新工作簿及命名 在程序里如何对word文档的编辑? delphi数组的初始化 关于StringGrid和DBGrid的问题? 怎样将同一个值赋给dbgrid中的多条记录? 請高手幫忙:如何禁用TreeView的TreeNode 数据导入,字段映射,怎么实现?
// #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];
};
阻止下载:http://download.csdn.net/source/335290