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

相关推荐
张3蜂18 小时前
文件上传漏洞:数字世界的“特洛伊木马”
网络·安全
普普通通的南瓜18 小时前
无需域名,直通安全:一年期免费IP SSL证书
网络·网络协议·tcp/ip·安全·ssl
4311媒体网18 小时前
C语言实现简单的二分查找算法
c语言·开发语言·算法
tokepson18 小时前
香橙派AI Pro个人云平台 - 从零搭建全记录
linux·服务器·技术·记录
无限进步_18 小时前
C语言实现贪吃蛇游戏详解
c语言·开发语言·数据结构·c++·后端·算法·游戏
月亮!18 小时前
移动端测试重磅升级:跨平台自动化测试框架深度对比
运维·网络·人工智能·测试工具·容器·自动化·测试用例
fengyehongWorld19 小时前
Linux wget命令
linux
阿部多瑞 ABU19 小时前
国内外大模型安全红队实测:角色越狱与分步诱导双路径可稳定绕过政治与技术防护
网络·安全·ai
fpcc19 小时前
跟我学C++中级篇——Linux系统信号分析
linux
楼田莉子19 小时前
基于Linux的个人制作的文件库+标准输出和标准错误
linux·c语言·c++·学习·vim