나는 C에 OS X를위한 간단한 스니퍼를 쓰고있다 그래서, 나는 문제가있다, 나는 네트워크 인터페이스의 색인을 얻을 수 없다. 식별자 'SIOCGIFINDEX'는 미표시이고네트워크 인터페이스의 색인을 얻으십시오
int sockfd=socket(PF_INET, SOCK_DGRAM, 0);
if(sockfd<0)
{
printf("create socket");
fprintf(stderr, "%s\n",strerror(errno));
exit(EXIT_FAILURE);
}
sprintf(ifreq.ifr_name, "%s", "en0");
if(ioctl(sockfd, SIOCGIFINDEX, &ifreq)<0)
{
fprintf(stderr, "%s\n",strerror(errno));
exit(EXIT_FAILURE);
}
문제점 : 는이 코드를 사용한다. 네트워크 인터페이스 인덱스가 구조적 sockaddr_ll에 대한 이해가 올바르게 이해된다면
'#include '을 (를) 프로그램에 포함 시켰습니까? –
hmofrad
예,이 헤더를 포함했습니다 – Anton