//以太网头部
typedef struct ethernet_head
{
u_char dst_mac[6];
u_char src_mac[6];
u_short eth_type;
}ethernet_head;
//arp头部
typedef struct arp_head
{
u_char hardware_type[2];
u_char protocol_type[2];
u_char hardware_size;
u_char protocol_size;
u_char opcode[2];
u_char send_mac[6];
u_char send_ip[4];
u_char target_mac[6];
u_char target_ip[4];
}arp_head;
int main()
{
pcap_if_t *alldevs;
pcap_if_t *d;
pcap_t * adhandler;
char errbuf[PCAP_ERRBUF_SIZE];
int num;
ethernet_head ether_data;
arp_head arp_data;
u_char packet[100];
//以太网头部
*((unsigned long long*)ðer_data.dst_mac)=0xffffffffffff;
*((unsigned long long*)ðer_data.src_mac)=0xaaaaaaaaaaaa;
ether_data.eth_type=htons(0x0806);
//arp头部
*((u_short*)&arp_data.hardware_type)=htons(0x0001);
*((u_short*)&arp_data.protocol_type)=
arp--c语言实现
最新推荐文章于 2023-11-28 15:00:55 发布
博客探讨了ARP欺骗的问题,包括为何在网关被欺骗后部分应用仍能上网,路由器缺乏防护措施。同时指出ARP请求广播时,局域网设备是否会更新ARP列表,并提到了在虚拟机桥接模式下和手机上的不同响应情况。
摘要由CSDN通过智能技术生成