>>501
ポートっていうぐらいだから、tcp, udp のポートを狙うんだよ。

1 〜 1023 ぐらいまでのポートにとりあえず接続してみる、んで、
その結果、接続できればポートが空いている = 何らかのサービスが
上がっていると判断するのがポートスキャンの原理。

もうちょっと小細工を仕掛けて来るのはいっぱいあるけど
原理としては同じ。

だから、スキャンされたくないなら ipfw 的に書くと

ipfw allow all from any to any via lo0 # lo0 は許可
ipfw allow all from any to any via fxp0 # fxp0 も許可(LAN 内を仮に fxp0 とした場合ね)
ipfw allow all from any to any tcp 80 via tun0 # tun0 のポート 80 へ許可
 (その他いろいろ通したいルール)
ipfw deny all from any to any # あとは全部閉じる

# これでキミのやりたい要件を満たしているかどうかは知らない。

こんな感じじゃないの? icmp を閉じてポートスキャンがなくなる
っていう考え方は基本的に間違っとる。