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

相关推荐
思麟呀19 分钟前
Linux的基础IO流
linux·运维·服务器·开发语言·c++
winner88811 小时前
嵌入式Linux驱动开发全流程:工具协作+核心概念拆解(从入门到理解)
linux·运维·驱动开发
报错小能手1 小时前
计算机网络自顶向下方法36——网络层 网络地址转换 网络安全(防火墙、入侵检测系统)
网络·计算机网络·智能路由器
ShiinaKaze1 小时前
fatal error: bits/c++config.h: No such file or directory
linux·gcc·g++
研究司马懿1 小时前
【ETCD】ETCD常用命令
网络·数据库·云原生·oracle·自动化·运维开发·etcd
Archy_Wang_12 小时前
脚本自动生成专业Linux巡检报告
linux·运维·服务器
java_logo2 小时前
SGLANG Docker容器化部署指南
linux·运维·docker·容器·eureka·1024程序员节
杨福瑞2 小时前
数据结构:单链表(2)
c语言·开发语言·数据结构
独行soc3 小时前
2025年渗透测试面试题总结-234(题目+回答)
网络·python·安全·web安全·渗透测试·1024程序员节·安全狮
敲代码的瓦龙3 小时前
操作系统?进程!!!
linux·c++·操作系统