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

相关推荐
灰灰勇闯IT11 分钟前
Flutter for OpenHarmony:安全高效地使用网络请求三方库
网络·安全·flutter
2401_8735878212 分钟前
Linux——应用层协议HTTP
网络·网络协议·http
init_236112 分钟前
【hcie-09】vxlan 同子网通信
linux·运维·服务器
爱吃生蚝的于勒14 分钟前
【Linux】进程信号的产生(一)
linux·运维·服务器·c语言·开发语言·数据结构·c++
Codigger官方20 分钟前
算力的去中心化重构:简析Codigger分布式计算生态
linux·vim
Linux技术芯27 分钟前
浅谈 NVMe over Fabrics (NVMe-oF) 协议
linux
噔噔噔噔@32 分钟前
TCP/IP协议简单介绍
网络·网络协议·tcp/ip
W_a_i_T32 分钟前
【Coding日记】菜鸟编程C语言100例——第三题⚠️
c语言·开发语言·经验分享·算法·菜鸟编程
Hello World . .35 分钟前
C语言printf: VT100 终端控制码
c语言·开发语言·jvm
爱装代码的小瓶子35 分钟前
【C++与Linux基础】文件篇 -语言特性上的文件操作
linux·开发语言·c++