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

相关推荐
geats人山人海1 分钟前
linux 2 基本操作与vim
linux·运维·vim
沐欣工作室_lvyiyi6 分钟前
基于单片机的跑步机控制系统设计(论文+源码)
c语言·单片机·嵌入式硬件·课程设计·keil·跑步机设计
2401_868534786 分钟前
安全故障分析
服务器·网络·安全
苏辰澈10 分钟前
C++自己的族谱规则:继承详解下
c语言·开发语言·c++·visualstudio
她说彩礼65万19 分钟前
C语言 const的使用
java·服务器·c语言
wdfk_prog37 分钟前
LWIP教程 00:从网线上的电信号到 lwIP——PHY、MAC、DMA 与 `netif` 的完整边界
运维·网络·笔记·学习·ip
cehuishi952744 分钟前
测绘外业调查如何正确的开展
运维·服务器·网络
py有趣1 小时前
硬件SPI和软件模拟SPI在配置方面的一点区别
c语言·stm32·单片机
lisanmengmeng1 小时前
NRPE 添加命令(三)
java·linux·服务器
人工智能培训1 小时前
数字孪生驱动大模型工业知识库:为具身机器人植入领域专业经验
大数据·linux·服务器·前端·人工智能