無差別受信モードへの設定の方法は、かつては、 INET ドメインの SOCK_PACKET ソケットを作成し、ifr_flags に IFF_PROMISC をセットする というやり方が主流だったのですが、現在は上記のように PF_PACKET ドメインの SOCK_RAW ソケットもしくは SOCK_DGRAM ソケットを作り、setsockopt()にて無差別受信モードをセットする というやり方が主流のようです。(man packet(7) 参照) ↑ 1 /* 2 * packet monitor program 3 * pckmon2.c 4 * cc pckmon2.c -lnsl -o pckmon2 5 */ 6 #include <stdio.h> 7 #include <stdlib.h> 8 #include <netinet/in.h> 9 #include <err