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 .....} 这样的数据形式

相关推荐
RFID舜识物联网2 分钟前
RFID智能文件柜:高效安全的档案管理新方案
大数据·网络·人工智能·嵌入式硬件·物联网
weixin_4825655321 分钟前
ID读卡器TCP协议QT小程序开发
网络·网络协议·tcp/ip
深圳启明云端科技23 分钟前
ESP-NETIF L2 TAP 接口-物联网嵌入式开发应用
网络·物联网
No0d1es44 分钟前
2024年12月青少年软件编程(C语言/C++)等级考试试卷(三级)
c语言·开发语言·青少年编程·电子学会·三级
Luke~~1 小时前
实验室服务器Ubuntu安装使用全流程
linux·运维·ubuntu
hc_bmxxf1 小时前
Linux应用软件编程-多任务处理(线程)
linux·线程
看星猩的柴狗1 小时前
密码学原理技术-第二章-Stream Ciphers
服务器·网络·密码学
tjjingpan1 小时前
在国产电脑上运行PDFSAM软件使用pdf分割合并交替混合处理pdf文档
linux·pdf
茶猫_2 小时前
力扣面试题 - 40 迷路的机器人 C语言解法
c语言·数据结构·算法·leetcode·机器人·深度优先
hope_wisdom2 小时前
Linux系统编程之目录遍历
linux·linux编程·readdir·目录遍历·scandir