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;
}

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

packet26 = {0xff,0xff .....} 这样的数据形式

相关推荐
比昨天多敲两行几秒前
Linux进程间通信-共享内存
linux·运维·服务器
AbandonForce1 分钟前
Linux权限深入解读
linux·运维·服务器
哎呦,帅小伙哦2 分钟前
Nanomsg usock 模块:Socket 选项与错误码介绍
linux·中间件·nanomsg
社交怪人12 分钟前
【三个数】信息学奥赛一本通C语言解法(题号2053)
c语言
草莓熊Lotso26 分钟前
【Linux网络】深入理解 HTTP 协议(一):从基础概念到 URL 编码解码
linux·网络·c++·网络协议·http·软件工程
aodunsoft30 分钟前
安全月报 | 傲盾DDoS攻击防御2026年5月简报
网络·安全·ddos
jingling55537 分钟前
Flutter | 从基本跳转到路由守卫
服务器·前端·网络·flutter·前端框架
stanleyrain39 分钟前
linux上无感操作Windows上的文件夹
linux·运维·windows
拾光Ծ41 分钟前
【Linux系统编程】线程池项目实战与基于策略模式的日志系统
linux·bash·线程池·策略模式·日志
SilentSamsara41 分钟前
HTTP 客户端实战:httpx/重试/限速/连接池/中间件设计
开发语言·网络·python·http·青少年编程·中间件·httpx