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

相关推荐
凡梦千华4 小时前
logrotate日志切割
linux·运维·服务器
wdfk_prog5 小时前
[Linux]学习笔记系列 -- [fs][proc]
linux·笔记·学习
灵哎惹,凌沃敏5 小时前
FreeRTOS 任务上下文切换核心函数:xPortPendSVHandler详解
c语言·arm开发
拜托啦!狮子5 小时前
安装和使用Homer(linux)
linux·运维·服务器
木鱼布5 小时前
聊聊防火墙技术
网络·网络协议·tcp/ip
liulilittle6 小时前
XDP VNP虚拟以太网关(章节:一)
linux·服务器·开发语言·网络·c++·通信·xdp
Sapphire~6 小时前
Linux-13 火狐浏览器书签丢失解决
linux
不染尘.6 小时前
进程切换和线程调度
linux·数据结构·windows·缓存
喵了meme6 小时前
C语言实战练习
c语言·开发语言
应用市场6 小时前
图片格式完全指南——从JPEG到AVIF的技术原理与选型
网络·人工智能·安全·汽车