#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <net/ethernet.h>
#include <netpacket/packet.h>
#include <string.h>
#include <net/if.h>
#define SRC_MAC { 0x00,0x0C,0x29,0x6F,0x57,0xE7 }//源MAC地址
#define DEST_MAC { 0x00,0x0C,0x29,0xD3,0xD6,0xF7 }//目的MAC地址
struct arppacket
{
unsigned char dest_mac[ETH_ALEN];//接收方MAC
unsigned char src_mac[ETH_ALEN];//发送方MAC
unsigned short type; //0x0806是ARP帧的类型值
unsigned short ar_hrd;//硬件类型 - 以太网类型值0x1
unsigned short ar_pro;//上层协议类型 - IP协议(0x0800)
unsigned char ar_hln;//MAC地址长度
unsigned char ar_pln;//IP地址长度
unsigned short ar_op;//操作码 - 0x1表示ARP请求包,0x2表示应答包
unsigned char ar_sha[ETH_ALEN];//发送方mac
unsigned char ar_sip[4];//发送方ip
unsigned char ar_tha[ETH_ALEN];//接收方mac
unsigned char ar_tip[4];//接收方ip
} __attribute__ ((__packed__));
int main(int argc,char *argv[])
{
int fd = 0;
struct in_addr s,r;
struct sockaddr_ll sl;
struct arppacket arp={
DEST_MAC,
SRC_MAC,
htons(0x0806),
htons(0x01),
htons(0x0800),
ETH_ALEN,
4,
htons(0x01),
SRC_MAC,
{0},
DEST_MAC,
{0}
};
fd = socket(AF_PACKET,SOCK_RAW,htons(ETH_P_ALL));
if (fd < 0) {
printf("socket error\n");
return -1;
}
memset(&sl, 0, sizeof(sl));
inet_aton("192.168.11.220", &s);
memcpy(&arp.ar_sip, &s, sizeof(s));
inet_aton("192.168.11.192", &r);
memcpy(&arp.ar_tip, &r, sizeof(r));
sl.sll_family = AF_PACKET;
sl.sll_ifindex = IFF_BROADCAST;
while (1) {
if (sendto(fd, &arp, sizeof(arp), 0, (struct sockaddr*)&sl, sizeof(sl)) <= 0)
printf("send error\n");
else
printf("send success\n");
sleep(1);
}
close(fd);
return 0;
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 关于HTTP报文请求方法和状态响应码
- 使用Socket进行HTTP请求与报文讲解
- 前端必知必会HTTP请求系列(三)HTTP报文内的http信息
- 详解 HTTP 报文(二):Web 容器是如何解析 HTTP 报文的
- 报文批量处理方法简介
- 详解 http 报文
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Scratch少儿趣味编程
[ 日] 阿部和广 / 陶 旭 / 人民邮电出版社 / 2014-11 / 59.00元
Scratch 是麻省理工学院设计开发的一款编程工具,是适合少儿学习编程和交流的工具和平台,有中文版且完全免费。本书结合孩子们学习的语文、数学、科学、社会、音乐、体育等科目,手把手地教大家如何用Scratch 设计程序(如设计一个自动写作文的程序),配合各式卡通形象,通俗易懂,寓教于乐。麻省理工学院教授米切尔•瑞斯尼克作序推荐。 本书图文并茂,生动风趣,适合中小学生等初学者自学或在家长的帮助......一起来看看 《Scratch少儿趣味编程》 这本书的介绍吧!