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

相关推荐
卌卄1 分钟前
【Linux】MySQL安装配置
linux·运维·mysql
m0_748229992 分钟前
Laravel7.x核心特性全解析
c语言·数据库·c#
kklovecode4 分钟前
C++对C语言的增强
c语言·开发语言·c++
hnxaoli12 分钟前
统信小程序(八)归档目录自动调整
linux·python
鸠摩智首席音效师16 分钟前
如何确定 Linux 下的文件系统类型 {Ext3, Ext4, XFS} ?
linux·运维·服务器
m0_7482486520 分钟前
C语言向C++过渡
c语言·c++·算法
比奇堡鱼贩25 分钟前
python第二次作业--函数
linux·运维·windows
七夜zippoe34 分钟前
gRPC高性能RPC框架实战:从Protocol Buffers到流式传输的完整指南
网络·python·网络协议·rpc·protocol
定偶37 分钟前
网络编程总结
开发语言·网络·数据结构·网络编程
RisunJan41 分钟前
Linux命令-lilo(安装核心载入开机管理程序)
linux·运维·服务器