电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

ARP协议的c语言实现源代码

ARP协议的c语言实现源代码_第1页
1/6
ARP协议的c语言实现源代码_第2页
2/6
ARP协议的c语言实现源代码_第3页
3/6
ARP 协议的c 语言实现源代码【转载】 收藏 什么是 ARP 协议 英文原义:Address Resolution Protocol 中文释义:(RFC-826)地址解析协议 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define src_addr "192.168.0.239" #define device "eth0" #define fill_buf "aaaaaaaaaaaa" int socket_id; char *target = src_addr; int send_count = 0; int recv_count = 0; struct in_addr src, dst; struct sockaddr_ll me, he; struct timeval send_time, recv_time; struct in_addr get_src_ip(char * devices) { struct sockaddr_in saddr; int sock_id = socket(AF_INET, SOCK_DGRAM, 0); if (sock_id < 0) { perror("socket"); exit(2); } if (devices) { if (setsockopt(sock_id, SOL_SOCKET, SO_BINDTODEVICE, device, strlen(device)+1) == -1) perror("WARNING: interface is ignored"); } int alen = sizeof(saddr); memset(&saddr, 0, sizeof(saddr)); saddr.sin_port = htons(0x1000); saddr.sin_family = AF_INET; if (connect(sock_id, (struct sockaddr*)&saddr, sizeof(saddr)) == -1) { perror("connect"); exit(2); } if (getsockname(sock_id, (struct sockaddr*)&saddr, &alen) == -1) { perror("getsockname"); exit(2); } close(sock_id); return saddr.sin_addr; } int check_device(char* if_dev, int ss) { int ifindex; struct ifreq ifr; memset(&ifr, 0, sizeof(ifr)); strncpy(ifr.ifr_name, if_dev, IFNAMSIZ-1); if (ioctl(ss, SIOCGIFINDEX, &ifr) < 0) { fprintf(stderr, "arping: unknown iface %s\n", ...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

ARP协议的c语言实现源代码

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部