私はOS XのCで簡単なスニファを書いています 私は問題があります。ネットワークインタフェースのインデックスを取得できません。識別子 '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