gpt4 book ai didi

sockets - 使用 SIOCGIFINDEX 获取接口(interface)索引时出错

转载 作者:行者123 更新时间:2023-12-03 12:01:00 24 4
gpt4 key购买 nike

嗨,我正在尝试使用原始套接字进行数据包注入(inject),我在使用 ioctl 的 SIOCGIFINDEX 命令获取接口(interface)索引时遇到问题。我使用 ubuntu 12.04 作为我的操作系统。请帮助代码是:

int BindRawSocketToInterface(char *device, int rawsock, int protocol)
{
struct sockaddr_ll sll;
struct ifreq ifr;
bzero(&sll, sizeof(sll));
bzero(&ifr, sizeof(ifr));

/* First Get the Interface Index */

strncpy ((char*) ifr.ifr_name, device, IFNAMSIZ);
if ((ioctl(rawsock, SIOCGIFINDEX, &ifr))== -1)
{
printf ("Error getting interface index!\n");
exit(-1);
}

/* Bind our rawsocket to this interface */

sll.sll_family = AF_PACKET;
sll.sll_ifindex = ifr.ifr_ifindex;
sll.sll_protocol = htons(protocol);

if ((bind(rawsock, (struct sockaddr*)&sll,sizeof(sll)))== -1)
{
perror("Error binding raw socket to interface \n");
exit(-1);
}
return 1;
}

最佳答案

关于sockets - 使用 SIOCGIFINDEX 获取接口(interface)索引时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15030773/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com