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

相关推荐
童话的守望者6 分钟前
matrix-breakout-2-morpheus靶机通关
linux·运维·服务器
不早睡不改名@12 分钟前
Netty源码解析---FastThreadLocal-addToVariablesToRemove方法详解
java·网络·笔记·学习·netty
Frank_refuel15 分钟前
Linux操作系统 -> 进程信号(上)
linux·运维·服务器
NaclarbCSDN27 分钟前
User ID controlled by request parameter with password disclosure-Burp 复现
网络·安全·web安全
嵌入式学不会不改名1 小时前
香橙派环境
linux·ubuntu
CHENKONG_CK1 小时前
晨控CK-UR08与汇川AC系列PLC配置EtherNet/IP通讯连接手册
网络·网络协议·自动化·ethernet/ip·汇川·rfid
BS_Li1 小时前
【Linux网络编程】Socket编程UDP
linux·网络·udp
IP老炮不瞎唠1 小时前
SOCKS5 vs HTTP:哪种代理协议更适合你的业务场景
网络·网络协议·http
时光之源1 小时前
程序猿常用命令行(Linux、Windows、Powershell、CMD、conda、pip、apt)
linux·conda·pip
qing222222221 小时前
Linux:/var/log/journal 路径下文件不断增加导致根目录磁盘爆满
linux·运维·前端