linux 发送自定义包裹 c 程序

cpp 复制代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in_systm.h>
#include <netinet/if_ether.h>



int main(void) {
	int s;
	int sd;
	char iface[256] = "wlp1s0";
	char packet[26];
	struct sockaddr sa;

	s = socket(PF_PACKET,SOCK_PACKET,htons(ETH_P_ALL));
	if(s < 0){perror("socket error\n");exit(EXIT_FAILURE);}

	memset(&sa,0,sizeof(sa));
	sa.sa_family = PF_PACKET;
	snprintf(sa.sa_data,256,"%s",iface);

	memset(&packet,0,sizeof(packet));

	for(int i=0;i<=100;i++){
		sd = sendto(s,packet,sizeof(packet),0,&sa,sizeof(sa));
		if(sd < 0){perror("sendto error\n");exit(EXIT_FAILURE);}
	}

	return EXIT_SUCCESS;
}

如果你要定义包裹 你就应该 把包裹定义成这样:

packet[26] = {0xff,0xff .....} 这样的数据形式

相关推荐
CS创新实验室几秒前
《计算机网络》深入学:广域网
服务器·网络·计算机网络·408·计算机考研·广域网
单片机系统设计2 分钟前
基于STM32的宠物智能喂食系统
c语言·stm32·单片机·嵌入式硬件·物联网·毕业设计·宠物
Forget_85502 分钟前
RHCE第八章:防火墙
linux·服务器·数据库
Whisper_Sy3 分钟前
Flutter for OpenHarmony移动数据使用监管助手App实战 - 月报告实现
android·开发语言·javascript·网络·flutter·ecmascript
小李独爱秋3 分钟前
计算机网络经典问题透视:EF PHB与AF PHB深度解析——它们有何不同,各适用于何种通信量?
网络·计算机网络·信息与通信·qos·phb
leaves falling4 分钟前
c语言- 有序序列合并
c语言·开发语言·数据结构
海绵宝宝de派小星10 分钟前
Linux内核源码结构全景解析
linux·运维·arm开发
Java程序员威哥11 分钟前
SpringBoot多环境配置实战:从基础用法到源码解析与生产避坑
java·开发语言·网络·spring boot·后端·python·spring
9分钟带帽16 分钟前
debain系统更新软件源
linux·debain
yayatiantian_202218 分钟前
Ubuntu 24.04 安装与配置 pyenv
linux·运维·python·ubuntu·pyenv