> こうやると、DSTIP は 255.255.255.255 になっているようですが、
> DST の MAC アドレスはデフォルトゲートウェイのものになってい
> ます。

ip(4) を見ると、SOCK_RAW で IP_ONESBCAST を設定すれば
良さそうですが、sin.sin_addr.s_addr が 202.23.252.255
などであれば、イサネットフレームの宛先が IFF_BROADCAST
(ff:ff:ff:ff:ff:ff) になります。ところが
sin.sin_addr.s_addr が 255.255.255.255 だと、default
route に配送され、IP_ONESBCAST は無視されます。それで
はと、SO_DONTROUTE オプションを追加すると、sendto()
で Network is unreachable のエラー !

どうも、ハードウェアに近いところで使うしかないのかもし
れませんが、Linux だと、こんな意地悪はしないようで、と
りあえずの緊急避難を考えようかと思います。

平林 浩一

メールによる返信