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

相关推荐
天启HTTP3 分钟前
多线程环境下,动态IP怎么分配最合理
java·服务器·网络
cyber_两只龙宝6 分钟前
【Docker】搭建企业级私有harbor仓库全流程详解
linux·运维·docker·云原生·容器
serve the people11 分钟前
ACME 协议流程与AllinSSL 的关系(三)
服务器·网络·https
2201_7562063413 分钟前
STM32F407 + ML307 阿里云物联网项目总结
c语言·开发语言·嵌入式硬件
Zarek枫煜17 分钟前
[特殊字符]栈(Stack)原理详解 \+ Zig / C3 双语言实现
c语言·单片机·嵌入式硬件·算法
_Emma_21 分钟前
[QCOM] Linux下qcom camera驱动框架分析
linux·驱动开发
浮若于心22 分钟前
WSL2 Ubuntu 占用 C 盘空间清理指南
linux·c语言·ubuntu
网管NO.127 分钟前
OpenClaw 多模型配置完整教程(WSL2 + Ubuntu)
运维·网络·人工智能·ubuntu
请输入蚊子30 分钟前
《操作系统真象还原》 第九章 线程
linux·操作系统·bochs·操作系统真像还原
bai_lan_ya33 分钟前
Linux 输入系统应用编程完全指南
linux·运维·服务器